Azure Container Apps 검토
팀이 Azure에서 클라우드 원시 및 컨테이너화된 애플리케이션을 빌드하고 배포할 수 있는 다양한 옵션이 있습니다. Azure Container Apps에 가장 적합한 시나리오 및 사용 사례와 Azure의 다른 컨테이너 옵션과 비교하는 방법을 살펴보겠습니다.
Azure Container Apps에 대해 알아야 할 사항
Azure Container Apps는 컨테이너화된 애플리케이션을 실행하는 동안 인프라를 줄이고 비용을 절감할 수 있는 서버리스 플랫폼입니다. Container Apps는 서버 구성, 컨테이너 오케스트레이션 및 배포 세부 정보를 염려하는 대신 애플리케이션을 안정적이고 안전하게 유지하는 데 필요한 모든 최신 서버 리소스를 제공합니다.
Azure Container Apps의 일반적인 용도는 다음과 같습니다.
- API 엔드포인트 배포
- 후순위 처리 작업 호스팅
- 이벤트 기반 처리 수행
- 마이크로서비스 실행
또한 Azure Container Apps에 빌드된 애플리케이션은 다음 특성에 따라 동적으로 확장할 수 있습니다.
- HTTP 트래픽
- 이벤트 기반 처리
- CPU 또는 메모리 로드
- 모든 KEDA 지원 스케일러
Azure Container Apps를 사용할 때 고려해야 할 사항
Azure Container Apps를 사용하면 컨테이너를 기반으로 서버리스 마이크로 서비스 및 작업을 빌드할 수 있습니다. Container Apps의 고유한 기능은 다음과 같습니다.
- 범용 컨테이너를 실행하는 데 최적화되었으며, 특히 컨테이너에 배포된 많은 마이크로 서비스에 걸쳐 있는 애플리케이션에 최적화되어 있습니다.
- Kubernetes 및 Dapr, KEDA 및 envoy와 같은 오픈 소스 기술을 통해 제공됩니다.
- 서비스 검색 및 트래픽 분할과 같은 기능을 통해 Kubernetes 스타일 앱 및 마이크로 서비스를 지원합니다.
- 트래픽에 따라 비율 크기 조정을 지원하고 0으로 비율 크기 조정을 포함하여 큐와 같은 이벤트 원본에서 끌어와서 이벤트 기반 애플리케이션 아키텍처를 사용하도록 설정합니다.
- 요청 시, 예약된 및 이벤트 기반 작업 실행을 지원합니다.
Azure Container Apps는 기본 Kubernetes API에 대한 직접 액세스를 제공하지 않습니다. Kubernetes 스타일 애플리케이션을 빌드하고 모든 네이티브 Kubernetes API 및 클러스터 관리에 직접 액세스할 필요가 없는 경우 Container Apps는 모범 사례를 기반으로 완전히 관리되는 환경을 제공합니다. 이러한 이유로 많은 팀에서 Azure Container Apps를 사용하여 컨테이너 마이크로 서비스 빌드를 시작하는 것을 선호할 수 있습니다.
컨테이너 관리 솔루션 비교
ACI(Azure Container Instances)는 여러 가지 방법으로 관리할 수 있습니다. ACA(Azure Container Apps)는 한 가지 방법이며 AKS(Azure Kubernetes Service)는 또 다른 방법입니다. ACA 및 AKS를 사용하는 경우에 대한 비교 테이블은 다음과 같습니다.
기능 | ACA(Azure Container Apps) | AKS(Azure Kubernetes Service) |
---|---|---|
개요 | ACA는 기본 인프라를 추상화하여 마이크로 서비스 기반 애플리케이션의 배포 및 관리를 간소화하는 서버리스 컨테이너 플랫폼입니다. | AKS는 운영 오버헤드를 Azure로 오프로드하여 Azure에 관리형 Kubernetes 클러스터 배포를 간소화합니다. 오케스트레이션이 필요한 복잡한 애플리케이션에 적합합니다. |
배포 | ACA는 빠른 배포 및 관리 기능을 갖춘 PaaS 환경을 제공합니다. | AKS는 Kubernetes 환경에 대한 더 많은 제어 및 사용자 지정 옵션을 제공하므로 복잡한 애플리케이션 및 마이크로 서비스에 적합합니다. |
관리 | ACA는 AKS를 기반으로 하며, 마이크로 서비스용 Dapr과 같은 추가 기능을 사용하여 컨테이너를 실행하기 위한 간소화된 PaaS 환경을 제공합니다. | AKS는 Kubernetes 전문 지식을 갖춘 팀에 적합한 Kubernetes 환경에 대한 보다 세부적인 제어를 제공합니다. |
확장성 | ACA는 HTTP 기반 자동 크기 조정 및 이벤트 기반 크기 조정을 모두 지원하므로 수요 변화에 신속하게 대응해야 하는 애플리케이션에 적합합니다. | AKS는 수평 Pod 자동 크기 조정 및 클러스터 자동 크기 조정을 제공하여 컨테이너화된 애플리케이션에 대한 강력한 확장성 옵션을 제공합니다. |
사용 사례 | ACA는 빠른 크기 조정 및 간소화된 관리를 활용하는 마이크로 서비스 및 서버리스 애플리케이션을 위해 설계되었습니다. | AKS는 전체 Kubernetes 기능과 다른 Azure 서비스와 긴밀한 통합이 필요한 복잡한 장기 실행 애플리케이션에 가장 적합합니다. |
통합 | ACA는 이벤트 기반 아키텍처를 위해 Azure Logic Apps, Functions 및 Event Grid와 통합됩니다. | AKS는 포괄적인 보안 및 거버넌스를 위해 Kubernetes용 Azure Policy, 컨테이너용 Azure Monitor 및 Kubernetes용 Azure Defender와 같은 기능을 제공합니다. |