LIST
Azure functions
연결 방식 : 기본 제공 바인딩 형식 정보, 사용자 지정 바인딩에 대한 코드 작성
actions : Azure 함수
monitoring : Azure Application Insights
관리 : REST API, Visual Studio
호스팅 옵션
- 사용 플랜
- functions 프리미엄 플랜
- App Service(전용) 플랜
⇒ 일반 제공되는 대상
1. Consumption 플랜
- 기본 호스팅 계획
- 크기를 자동 조정, 사용자는 함수가 실행 중일때만 컴퓨팅 리소스에 대한 비용 지불
- functions 호스트 인스턴스 ⇒ 들어오는 이벤트 수를 기준으로 동적 추가 및 제거됨
2. Premium plan
- 유휴 상태 후 지연 없이 애플리케이션 실행
- 더 강력
- 가상 네트워크에 연결하는 사전 준비가 된 작업자를 사용하여 수요에 따라 크기가 자동으로 조정됨
3. 전용 계획
- App Service 계획 내에서 함수를 정기적인 App Service 계획 요금으로 실행
- Durable Function을 사용할 수 없는 장기 실행 시나리오에 적합
호스팅 옵션
ASE
- App Service 앱을 높은 확장성으로 안전하게 실행하기 위해 완전히 격리된 전용 환경을 제공하는 App Service 기능
Kubernetes
- kubernetes 플랫폼 기반 실행되는 완전한 격리된 전용 환경 제공
Always On
- App Service 계획에서만 사용할 수 있음
Storage 계정 요구 사항
- 어떤 플랜이든, Azure Blob, Queue,Files 및 Table storage를 지원하는 일반 Azure Storage 계정이 필요함
- Blob 전용 스토리지 계정, 영역 중복 스토리지 복제가 사용되는 범용 스토리지 계정을 포함한 계정은 function App 만들 때 선택 못함
- These accounts, which include blob-only storage accounts (including premium storage) and general-purpose storage accounts with zone-redundant storage replication, are filtered-out from your existing Storage Account selections when you create a function app.
- 함수 앱에서 사용하는 것과 동일한 스토리지 계정을 트리거, 바인딩에서 사용해서 애플리케이션 데이터를 저장할수는 있는데 스토리지를 많이 쓰면 별도의 스토리지 계정을 사용해야 함
크기 조정
- Consumption, Premium ⇒ 함수 호스트의 추가 인스턴스를 추가하여 CPU, 메모리 리소스의 크기를 조정하며 인스턴스 수는 함수를 트리거하는 이벤트의 수에 따라 결정됨
- Consumption : host의 각 인스턴스는 1.5GB 메모리와 하나의 CPU로 제한됨
- host의 instance는 전체 함수 앱
- 함수 앱 내에 있는 모든 기능은 instance 내에서 리소스를 공유하고 동시에 크기 조정됨
- 동일한 사용 계획을 공유하는 함수는 독립적으로 크기를 조정함
- host의 instance는 전체 함수 앱
- Premium : 계획의 크기 → 해당 instance에서 해당 plan의 모든 앱에 대해 사용 가능한 메모리와 CPU를 결정함
- ☠️ 함수 code file → function의 main storage account의 Azure Files share에 저장됨
- 함수 앱의 main storage account를 삭제하면 함수 코드 파일이 삭제되고 복구 안됨
Runtime scaling
- scale controller
- 이벤트 비율을 모니터링 , scale in or out 을 결정함
- 각각 트리거 타입에 무의식적인 선택을 사용함
- ex) 애저 큐 스토리지 트리거를 사용할 때 큐의 길이나 가장 오래된 큐 메시지 기간으로 결정함
-
- function app이 확장되면, 다양한 애저 펑션 호스트의 인스턴스를 실행하기 위해 추가 리소스가 할당됨
- function app 수요 감소 → scale controller 가 함수 호스트 인스턴스를 제거함scale 단위 : Azure Fuction app
- 콜드 부팅 : 함수 앱 유휴 상태 후 앱이 실행되는 인스턴스 수를 0으로 크기 조정할 수 있으며 0에서 1로 크기를 조정하는 추가대기시간이 있는데 이 대기시간을 콜드 부팅이라고 한다.
크기 조정 동작
- 여러가지 이유가 있을 수 있고 선택한 트리거나 언어에 따라 달라짐
- 유의할 확장 동작
- 최대 인스턴스 : 단일 함수 앱 은 최대 200개 인스턴스로 스케일 아웃이 가능
- 단일 인스턴스 : 동시에 둘 이상의 메시지, 요청을 처리할 수 있으며 동시 실행 수 : 무제한
- 새 인스턴스율
- HTTP 트리거 : 새 인스턴스는 최대 1초당 1 번씩 할당됨,
- HTTP 외의 트리거 : 새 인스턴스는 최대 30초마다 1 번씩 할당됨
- 최대 인스턴스 : 단일 함수 앱 은 최대 200개 인스턴스로 스케일 아웃이 가능
스케일 아웃 제한
- 앱을 스케일 아웃하는데 사용되는 최대 인스턴스 수 제한 가능
- 다운 스트림 구성 요소의 처리량이 제한되는 경우에 가장 일반적
- Consumption : 최대 200개 인스턴스까지 스케일 아웃
- Premium : 최대 100개의 인스턴스로 스케일 아웃 됨
functionAppScaleLimit 값 수정 → 특정 앱에 더 낮은 최대값 지정 가능
- 무제한으로, 0또는 null로 설정하거나 1과 앱 최댓값 사이의 값으로 설정 할 수 있음
App Service Plan 에서 Azure Fuctions 크기 조정
- VM 인스턴스를 더 많이 추가해서 수동으로 스케일 아웃할 수 있음
- 자동 크기 조정 사용 가능 (Premium plan 탄력 크기 조정보다는 느림)
반응형
LIST
'AZURE' 카테고리의 다른 글
Durable Functions 구현 (0) | 2022.09.07 |
---|---|
Azure Functions 개발 (0) | 2022.09.07 |
Azure Security Center Webinar: Discover How to Protect Your Resources using Azure Security Center 1 (0) | 2021.11.02 |
AZ-303 합격후기 (0) | 2021.10.19 |
[Azure] AD vs Azure AD (0) | 2021.10.08 |
댓글