다음을 통해 공유


Azure Functions란?

Azure Functions는 적은 코드와 적은 인프라, 낮은 비용으로 강력한 앱을 빌드할 수 있는 서버리스 솔루션입니다. 서버 배포와 유지 관리에 대해 걱정하는 대신, 클라우드 인프라를 사용하면 애플리케이션을 계속 실행하는 데 필요한 모든 최신 리소스를 제공할 수 있습니다.

가장 생산적인 언어로 작성한 가장 중요한 코드에 집중하고 Azure Functions는 나머지를 처리합니다. 지원되는 언어 목록은 Azure Functions에서 지원되는 언어를 참조하세요.

시나리오

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

다음 목록에는 Functions를 사용하는 일반적인 통합 시나리오가 포함되어 있습니다.

원하는 경우 구현 방법...
파일 업로드 처리 Blob 스토리지에서 파일이 업로드되거나 변경될 때 코드를 실행합니다.
실시간 데이터 처리 스토리지로 이동하는 중에 이벤트 및 IoT 원본 스트림에서 데이터를 캡처하고 변환합니다.
AI 유추 실행 큐에서 텍스트를 끌어와 분석 및 분류를 위해 다양한 AI 서비스에 제공합니다.
예약된 작업 실행 미리 정의된 시간 간격으로 데이터 정리 코드를 실행합니다.
확장성 있는 웹 API 빌드 HTTP 트리거를 사용하여 웹 애플리케이션에 대한 REST 엔드포인트 세트를 구현합니다.
서버리스 워크플로 빌드 Durable Functions를 사용하여 일련의 함수에서 이벤트 기반 워크플로를 만듭니다.
데이터베이스 변경에 응답 데이터베이스에서 문서가 만들어지거나 업데이트될 때 사용자 지정 논리를 실행합니다.
안정적인 메시지 시스템 만들기 Azure 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 Application Insights와 통합되어 클라우드의 함수에 대한 포괄적인 모니터링 및 분석을 제공합니다.

호스팅 옵션

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

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

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