Azure Functions 개요

Azure Functions는 더 적은 코드를 쓰고, 인프라를 적게 유지하고, 비용을 절감할 수 있도록 하는 서버리스 솔루션입니다. 애플리케이션을 계속 실행하는 데 필요한 모든 최신 리소스를 클라우드 인프라에서 제공하므로 서버 배포 및 유지 관리에 대해 걱정할 필요가 없습니다.

가장 생산적인 언어로 작성한 가장 중요한 코드에 집중하고 Azure Functions는 나머지를 처리합니다.

Functions 설명서에 대한 최상의 환경을 위해 문서 맨 위에 있는 네이티브 Functions 언어 목록에서 원하는 개발 언어를 선택합니다.

시나리오

Functions는 추가 코드를 작성하지 않고도 함수를 다른 서비스에 연결하는 포괄적인 이벤트 기반 트리거 및 바인딩 집합을 제공합니다.

다음은 Functions를 특징으로 하는 일반적인 통합 시나리오 집합입니다.

다음을 원하는 경우... 구현 방법...
파일 업로드 처리 Blob Storage에서 파일이 업로드되거나 변경될 때 코드를 실행합니다.
실시간 데이터 처리 스토리지로 가는 길에 이벤트 및 IoT 원본 스트림에서 데이터를 캡처하고 변환합니다.
데이터 모델 유추 큐에서 텍스트를 끌어와 분석 및 분류를 위해 다양한 AI 서비스에 표시합니다.
예약된 작업 실행 미리 정의된 시간 간격으로 데이터 클린 코드를 실행합니다.
확장 가능한 웹 API 빌드 HTTP 트리거를 사용하여 웹 애플리케이션에 대한 REST 엔드포인트 집합을 구현합니다.
서버리스 워크플로 빌드 Durable Functions 사용하여 일련의 함수에서 이벤트 기반 워크플로를 만듭니다.
데이터베이스 변경에 응답 Azure Cosmos DB에서 문서를 만들거나 업데이트할 때 사용자 지정 논리를 실행합니다.
신뢰할 수 있는 메시지 시스템 만들기 Queue Storage, Service Bus 또는 Event Hubs를 사용하여 메시지 큐를 처리합니다.

이러한 시나리오를 사용하면 최신 아키텍처 패턴을 사용하여 이벤트 기반 시스템을 빌드할 수 있습니다. 자세한 내용은 Azure Functions 시나리오를 참조하세요.

개발 수명 주기

Functions를 사용하면 즐겨 찾는 개발 도구를 사용하여 기본 설정 언어로 함수 코드를 작성한 다음 Azure 클라우드에 코드를 배포합니다. Functions는 C#, Java, JavaScript, PowerShell, Python에서 개발을 위한 기본 지원과 Rust 및 Go와 같은 더 많은 언어를 사용하는 기능을 제공합니다.

Functions는 Visual Studio, Visual Studio Code, Maven 및 기타 인기 있는 개발 도구와 직접 통합되어 불필요한 디버깅 및 배포를 가능하게 합니다.

또한 Functions는 Azure Monitor 및 Azure 애플리케이션 Insights와 통합되어 클라우드에서 함수에 대한 포괄적인 런타임 원격 분석 및 분석을 제공합니다.

호스팅 옵션

Functions는 비즈니스 요구 사항 및 애플리케이션 워크로드에 대한 다양한 호스팅 옵션을 제공합니다. 이벤트 기반 크기 조정 호스팅 옵션은 실행 시간(소비 계획)에 대해서만 비용을 지불하는 완전 서버리스부터 항상 가장 빠른 응답 시간(프리미엄 계획)을 위해 준비된 웜 인스턴스에 이르기까지 다양합니다.

과도한 App Service 호스팅 리소스가 있는 경우 기존 App Service 계획에서 함수를 호스트할 수 있습니다. 이러한 종류의 전용 호스팅 계획은 함수에서 예측 가능한 크기 조정 동작 및 비용이 필요한 경우에도 적합합니다.

함수 런타임 환경 및 종속성을 완전히 제어하려면 완전히 사용자 지정할 수 있는 함수를 컨테이너에 배포할 수도 있습니다. 사용자 지정 컨테이너는 Functions에서 호스트하거나, Azure Container Apps에서 마이크로 서비스 아키텍처의 일부로 배포하거나, Kubernetes에서 자체 호스팅할 수도 있습니다.

다음 단계