Azure Functions 작동 방식

완료됨

여기에서는 Azure Functions를 사용하여 서버리스 아키텍처를 개발하고 이 아키텍처가 제공하는 다양한 기능 구현을 활용하는 방법에 대해 알아봅니다.

또한 Azure Functions의 작동 방식에 대해서도 자세히 알아봅니다. Azure Functions를 최대한 활용하여 조직의 요구 사항을 충족하는 방법을 결정하는 데 도움이 되는 정보.

Azure Functions는 더 적은 코드를 작동할 수 있도록 해 주는 서버리스 컴퓨팅 솔루션입니다. Azure Functions는 Platform as a Service 제품이므로 앱의 호스트에 대해 신경을 쓸 필요가 없으며 비용을 절약할 수 있습니다.

Azure Functions는 데이터를 처리하고 시스템을 통합하며 IoT(사물 인터넷)로 작업하고 간단한 API 및 마이크로 서비스를 구축하는 데 유용한 솔루션입니다.

함수 앱 스케일링

함수가 실행되는 컨텍스트를 함수 앱이라고 합니다. 함수 앱은 함수의 배포, 관리 및 스케일링 단위입니다. 함수 앱 내의 모든 함수는 동일한 설정과 연결을 공유합니다.

소비 및 프리미엄 플랜에서 Azure Functions는 더 많은 함수 앱 인스턴스를 추가하여 CPU 및 메모리 리소스를 스케일링합니다. 인스턴스의 개수는 함수를 트리거하는 이벤트의 개수에 따라 정해집니다. 함수 앱 내의 모든 함수는 앱 인스턴스 내의 리소스를 공유하므로 동시에 크기 조정됩니다.

Azure Functions 모니터링

Azure Functions는 함수를 모니터링할 수 있도록 Azure Application Insights와 기본적으로 통합됩니다. Application Insights는 로그, 성능 및 오류 데이터를 수집합니다. 성능 이상을 감지하고, 문제를 진단하고, 함수가 사용되는 방식을 더 잘 이해하는 데 도움이 됩니다.

Application Insights 계측은 Azure Functions에서 기본 제공됩니다. Application Insights 통합에서는 원격 분석 데이터가 연결된 Application Insights 인스턴스로 전송됩니다. 이 데이터에는 Functions 호스트에 의해 생성된 로그, 함수 코드에서 작성된 추적 및 성능 데이터가 포함됩니다.

참고

함수 및 Functions 호스트의 데이터 외에도 Functions 크기 조정 컨트롤러에서 데이터를 수집할 수 있습니다.

다음 이미지는 Application Insights에서 함수 앱에 대한 데이터를 보는 방법을 보여 줍니다.

Azure Functions 원격 분석 데이터 모니터링을 보여 주는 스크린샷

Azure Functions 구성 요소

다음 표에는 Azure Functions의 주요 구성 요소에 대한 설명이 나와 있습니다.

구성 요소 Description
함수 트리거 트리거는 함수가 실행되도록 하는 요인입니다. 트리거는 함수가 호출되는 방식을 정의합니다. 함수에는 정확히 하나의 트리거만 있어야 합니다.
Functions 바인딩 함수에 바인딩하는 것은 다른 리소스를 함수에 선언적으로 연결하는 방법입니다. 바인딩은 입력 바인딩, 출력 바인딩 또는 둘 다로 연결될 수 있습니다. 바인딩의 데이터는 함수에 매개 변수로 제공됩니다. 바인딩을 사용하려고 하지 않거나 사용할 수 없는 경우에도 서비스에 연결할 때 함수에서 클라이언트 SDK를 사용할 수 있습니다.
함수 런타임 Azure Functions는 현재 런타임 호스트의 여러 버전을 지원합니다. Functions는 .NET Core, Node.JavaScript, Java, PowerShell, Python 등 다양한 런타임도 지원합니다. 개발 중에 로컬 컴퓨터에 Azure Functions 런타임을 설치하고 Azure Functions Core Tools를 사용하여 함수를 로컬로 실행할 수 있습니다.
APIM(API Management) APIM은 HTTP 트리거 함수 엔드포인트를 실제 REST API로서 노출하기 위한 방법으로 보안 및 라우팅을 제공합니다.
배포 슬롯 Azure Functions 배포 슬롯을 사용하면 함수 앱이 슬롯이라고 부르는 여러 인스턴스를 실행할 수 있습니다. 슬롯은 공개적으로 사용 가능한 엔드포인트를 통해 노출되는 서로 다른 환경입니다. 슬롯은 Azure의 안전한 환경에서 새로운 버전의 함수를 테스트한 다음 새로운 버전을 프로덕션에 매끄럽게 적용할 방법을 제공합니다.
함수 앱 구성 연결 문자열, 환경 변수 및 기타 애플리케이션 설정은 각 함수 앱에 대해 개별적으로 정의됩니다. 함수 앱 설정 값은 코드에서 환경 변수로 읽을 수 있습니다.

이러한 구성 요소들이 함께 작동하여 애플리케이션 및 DevOps 엔지니어가 Azure Functions를 사용하는 서버리스 아키텍처를 개발할 수 있는 완전한 엔드투엔드 플랫폼을 제공합니다.

지식 확인

1.

Azure Function에는 몇 개의 트리거가 있나요?