반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

bro's coding

AZ-305.Functions 본문

[CLOUD]/Azure

AZ-305.Functions

givemebro 2024. 12. 17. 10:23
반응형

Azure Functions서버리스(Serverless) 컴퓨팅 서비스로, 이벤트 기반으로 코드를 실행할 수 있는 플랫폼을 제공합니다. 개발자는 서버를 관리하지 않고도 애플리케이션 로직에만 집중하여 효율적으로 애플리케이션을 설계하고 확장할 수 있습니다.


Azure Functions의 주요 특징

1. 서버리스 아키텍처

  • 서버 관리 불필요: 인프라 관리 없이 코드를 실행할 수 있습니다.
  • 애플리케이션은 이벤트 발생 시에만 실행되며, 사용한 만큼만 비용을 지불합니다.

2. 이벤트 기반 실행

  • 다양한 이벤트 트리거를 기반으로 코드가 실행됩니다.
  • 지원하는 트리거:
    • HTTP 요청
    • 타이머 (스케줄 작업)
    • Azure Queue Storage 메시지
    • Azure Blob Storage 변경
    • Azure Service Bus 메시지
    • Event Grid 및 Event Hub 이벤트

3. 확장성 (Scalability)

  • 트래픽이 증가하거나 감소할 때 Azure가 자동으로 인스턴스를 할당하여 확장합니다.
  • 초당 수백만 요청을 처리할 수 있는 수준으로 확장 가능.

4. 다양한 언어 지원

Azure Functions는 여러 프로그래밍 언어를 지원합니다:

  • C#
  • JavaScript (Node.js)
  • Python
  • Java
  • PowerShell
  • TypeScript
  • Kotlin (프리뷰)

5. 통합 및 연결

Azure Functions는 Azure의 다른 서비스와 쉽게 통합됩니다:

  • Azure Logic Apps: 워크플로우 자동화와 연계.
  • Azure Event Hub: 대규모 스트리밍 데이터 처리.
  • Azure Cosmos DB: 데이터 저장 및 처리.

Azure Functions의 실행 모델

Azure Functions는 두 가지 실행 모델을 제공합니다:

1. 소비 요금제 (Consumption Plan)

  • 함수가 실행된 시간만큼 비용을 지불합니다.
  • Azure가 필요할 때 자동으로 리소스를 할당하고 관리합니다.
  • 장점: 비용 최적화.
  • 단점: 초기 실행 시 지연 시간이 발생할 수 있음 ("콜드 스타트").

2. 프리미엄 요금제 (Premium Plan)

  • 항상 활성화된 인스턴스를 사용하여 콜드 스타트 문제 없음.
  • 더 높은 성능 및 연결 제한 제공.
  • 장기 실행 작업도 가능.

Azure Functions의 사용 사례

  1. 데이터 처리 및 변환
    • Azure Blob Storage에 저장된 데이터를 처리하거나 변환.
    • 예: 업로드된 이미지 파일의 크기를 자동으로 조정.
  2. 백엔드 서비스
    • HTTP 요청을 처리하는 RESTful API 구축.
    • 예: 간단한 인증 서비스.
  3. 스케줄링 작업
    • 정기적으로 실행되는 작업(크론 작업).
    • 예: 매일 특정 시간에 데이터베이스 백업 수행.
  4. 이벤트 기반 워크플로우
    • Azure Event Grid 또는 Azure Service Bus와 통합하여 이벤트 처리.
    • 예: 주문 상태 업데이트.
  5. IoT 데이터 처리
    • IoT Hub와 연결하여 실시간 데이터 처리.
  6. 알림 시스템
    • 특정 조건에 따라 이메일, SMS, 또는 푸시 알림 전송.

Azure Functions와 다른 Azure 서비스 비교

기능Azure FunctionsAzure Logic AppsAzure App Service

목적 이벤트 기반 함수 실행 워크플로우 자동화 웹 애플리케이션 호스팅
코드 요구 코드 작성 필요 코드 작성 불필요 (GUI 기반) 웹 애플리케이션 코드 필요
사용 사례 API, 데이터 처리, IoT 데이터 통합, 자동화 정적/동적 웹사이트 및 API
요금제 사용량 기반 (소비 요금제) 실행 횟수 기반 고정 요금제

Azure Functions CLI 명령어 예시

Azure CLI로 Azure Functions 앱 생성

리소스 그룹 생성:

 
az group create --name MyResourceGroup --location eastus

함수 앱 생성:

az functionapp create \ --resource-group MyResourceGroup \ --consumption-plan-location eastus \ --runtime python \ --functions-version 4 \ --name MyFunctionApp \ --storage-account mystorageaccount

함수 배포:

 
func azure functionapp publish MyFunctionApp
반응형

'[CLOUD] > Azure' 카테고리의 다른 글

AZ-305.Data Factory  (1) 2024.12.18
AZ-305.Azure NetApp Files  (0) 2024.12.17
AZRUE-305.FILE Storage vs BLOB Storage  (0) 2024.12.17
AZ-305.Storage  (0) 2024.12.17
AZ-305.Azure Container Instances(ACI)  (0) 2024.12.17
AZ-305.PaaS.webApp/APIApp/WebJob/MobileApp  (0) 2024.12.16
AZ-305.VM Scale Sets  (0) 2024.12.16
AZ-305.VM vs PaaS  (1) 2024.12.16
Comments