다음을 통해 공유


Azure 컴퓨팅 서비스 선택

Azure App Service
AKS(Azure Kubernetes Service)
Azure Virtual Machines
Azure Container Apps
Azure 기능

Azure는 애플리케이션 코드를 호스팅하는 다양한 방법을 제공합니다. The term compute refers to the hosting model for the resources that your application runs on. 이 문서는 애플리케이션에 대한 컴퓨팅 서비스를 선택하는 데 도움이 됩니다.

후보 서비스 선택

다음 순서도를 사용하여 후보 컴퓨팅 서비스를 선택합니다.

Azure 컴퓨팅 서비스에 대한 의사 결정 트리를 보여 주는 다이어그램

이 의사 결정 트리의 Visio 파일을 다운로드합니다.

이 다이어그램은 다음 두 가지 마이그레이션 전략을 참조합니다.

  • 리프트 앤 시프트: 애플리케이션을 다시 디자인하거나 코드를 변경하지 않고 워크로드를 클라우드로 마이그레이션하기 위한 전략입니다. It's also called rehosting. 자세한 내용은 Azure 마이그레이션 및 현대화 센터를 참조하세요.
  • Cloud optimized: A strategy for migrating to the cloud by refactoring an application to take advantage of cloud-native features and capabilities.

이 순서도의 출력이 시작점입니다. 다음으로 서비스를 평가하여 요구 사항을 충족하는지 확인합니다.

이 문서에는 서비스를 선택할 수 있도록 하는 여러 표가 포함되어 있습니다. 순서도의 초기 후보는 애플리케이션 또는 워크로드에 적합하지 않을 수 있습니다. 이 경우 분석을 확장하여 다른 컴퓨팅 서비스를 포함합니다.

애플리케이션이 여러 워크로드로 구성된 경우 각 워크로드를 개별적으로 평가합니다. 완전한 솔루션은 둘 이상의 컴퓨팅 서비스를 통합할 수 있습니다.

기본 기능 이해

이전 섹션에서 선택한 Azure 서비스에 익숙하지 않은 경우 다음 개요 설명서를 참조하세요.

  • Azure Virtual Machines: Azure 가상 네트워크 내에서 VM(가상 머신)을 배포하고 관리하는 서비스입니다.
  • Azure 앱 서비스: 웹앱, 모바일 앱 백 엔드, RESTful API 또는 자동화된 비즈니스 프로세스를 호스팅하기 위한 관리 서비스입니다.
  • Azure Functions: A service that provides managed functions that run based on a variety of trigger types for event-driven applications.
  • AKS(Azure Kubernetes Service): 컨테이너화된 애플리케이션을 실행하기 위한 관리되는 Kubernetes 서비스입니다.
  • Azure Container Apps: Kubernetes를 기반으로 하는 관리되는 서비스로, 서버리스 환경에서 컨테이너화된 애플리케이션의 배포를 간소화합니다.
  • Azure Container Instances: 이 서비스는 Azure에서 단일 컨테이너 또는 컨테이너 그룹을 실행하는 빠르고 간단한 방법입니다. Azure Container Instances는 전체 컨테이너 오케스트레이션을 제공하지 않지만 VM을 프로비전하거나 상위 수준 서비스를 채택하지 않고도 구현할 수 있습니다.
  • Azure Red Hat OpenShift: Kubernetes를 사용하여 프로덕션 환경에서 컨테이너를 실행하기 위한 완전 관리형 OpenShift 클러스터입니다.
  • Azure Service Fabric: Azure 또는 온-프레미스를 비롯한 여러 환경에서 실행할 수 있는 분산 시스템 플랫폼입니다.
  • Azure Batch: A managed service for running large-scale parallel and high-performance computing (HPC) applications.
  • Azure VMware Solution: Azure에서 기본적으로 VMware 워크로드를 실행하기 위한 관리되는 서비스입니다.

호스팅 모델 이해

호스팅 모델의 경우 클라우드 서비스는 세 가지 범주로 나뉩니다.

  • IaaS(Infrastructure as a Service) : 연결된 네트워킹 및 스토리지 구성 요소와 함께 VM을 프로비전할 수 있습니다. 그런 다음 원하는 소프트웨어 및 애플리케이션을 해당 VM에 배포할 수 있습니다. 이 모델은 기존 온-프레미스 환경에 가장 가깝습니다. Microsoft는 인프라를 관리합니다. 여전히 VM을 관리합니다.

  • PaaS(Platform as a Service) : VM 또는 네트워킹 리소스를 관리할 필요 없이 애플리케이션을 배포할 수 있는 관리되는 호스팅 환경을 제공합니다. Azure App Service 및 Azure Container Apps는 PaaS 서비스입니다.

  • FaaS(Functions as a Service) : 자동으로 실행되는 서비스에 코드를 배포할 수 있습니다. Azure Function은 FaaS 서비스입니다.

    Note

    Azure Functions is an Azure serverless compute offering. 서버리스 워크플로를 제공하는 Logic Apps와 같은 다른 Azure 서버리스 제품과 이 서비스를 비교하는 방법을 보려면 Azure에서 올바른 통합 및 자동화 서비스 선택을 참조하세요.

IaaS에서 순수 PaaS까지 스펙트럼이 있습니다. 예를 들어 Azure VM은 가상 머신 확장 집합을 사용하여 자동으로 크기를 조정할 수 있습니다. 이 기능은 엄밀히 말하면 PaaS는 아니지만 PaaS에서 볼 수 있는 관리 기능 형식입니다.

제어와 관리 용이성 사이에는 상충 관계가 있습니다. IaaS는 가장 많은 제어, 유연성 및 이식성을 제공하지만 사용자가 만든 VM 및 네트워크 구성 요소를 프로비전, 구성 및 관리해야 합니다. FaaS 서비스는 애플리케이션 실행의 거의 모든 측면을 자동으로 관리합니다. PaaS는 그 사이에 있습니다.

Service Application composition Density 최소 노드 개수 State management Web hosting
Azure Virtual Machines Agnostic Agnostic 1 2 상태 비저장/상태 저장 Agnostic
Azure App Service Applications, containers App Service 계획을 사용하여 인스턴스당 여러 앱 1 Stateless Built in
Azure Functions Functions, containers Serverless 1 Serverless 1 Stateless or stateful 6 Not applicable
Azure Kubernetes Service Containers 노드당 복수의 컨테이너 지원 3 3 상태 비저장/상태 저장 Agnostic
Azure Container Apps (Azure 컨테이너 애플리케이션) Containers Serverless Serverless 상태 비저장/상태 저장 Agnostic
Azure 컨테이너 인스턴스 Containers 전용 인스턴스 없음 전용 노드 없음 Stateless Agnostic
Azure Red Hat OpenShift Containers 노드당 복수의 컨테이너 지원 6 5 상태 비저장/상태 저장 Agnostic
Azure 서비스 패브릭 서비스, 게스트 실행 파일, 컨테이너 VM당 복수의 서비스 지원 5 3 상태 비저장/상태 저장 Agnostic
Azure Batch Scheduled jobs VM당 복수의 앱 지원 1 4 Stateless No
Azure VMware 솔루션 Agnostic Agnostic 3 7 상태 비저장/상태 저장 Agnostic

Notes

  1. 사용량 플랜을 사용하는 경우. App Service 요금제의 경우, App Service 요금제에 할당된 VM에서 기능 실행. Azure Functions를 위한 올바른 서비스 요금제 선택을 참조하세요.
  2. 둘 이상의 인스턴스가 있는 더 높은 SLA(서비스 수준 계약)입니다.
  3. 프로덕션 환경에 권장됩니다.
  4. 작업 완료 이후 0으로 축소 가능.
  5. 주 노드의 경우 3개, 작업자 노드의 경우 3개입니다.
  6. Durable Functions를 사용하는 경우.
  7. 3개 노드의 최소 수가 필요합니다.

Networking

Service 가상 네트워크 통합 Hybrid connectivity
Azure Virtual Machines Supported Supported
Azure App Service Supported 1 Supported 2
Azure Functions Supported 1 Supported 3
Azure Kubernetes Service Supported Supported
Azure Container Apps (Azure 컨테이너 애플리케이션) Supported Supported
Azure 컨테이너 인스턴스 Supported Supported
Azure Red Hat OpenShift Supported Supported
Azure 서비스 패브릭 Supported Supported
Azure Batch Supported Supported
Azure VMware 솔루션 Supported Supported

Notes

  1. App Service Environment 또는 전용 컴퓨팅 가격 책정 계층이 필요합니다.
  2. Azure App Service 하이브리드 연결 사용.
  3. App Service 요금제 또는 Azure Functions Premium 요금제가 필요합니다.

DevOps

Service Local debugging Programming model Application update
Azure Virtual Machines Agnostic Agnostic 기본 제공 지원 없음
Azure App Service IIS Express, others 1 웹 및 API 애플리케이션, 백그라운드 작업을 위한 WebJob Deployment slots
Azure Functions Azure Studio 또는 Azure Functions CLI Serverless, event-driven Deployment slots
Azure Kubernetes Service Minikube, Docker 등 Agnostic Rolling update
Azure Container Apps (Azure 컨테이너 애플리케이션) 로컬 컨테이너 런타임 Agnostic Revision management
Azure 컨테이너 인스턴스 로컬 컨테이너 런타임 Agnostic Not applicable
Azure Red Hat OpenShift Minikube, Docker 등 Agnostic Rolling update
Azure 서비스 패브릭 로컬 노드 클러스터 게스트 실행 파일, 서비스 모델, 작업자 모델, 컨테이너 롤링 업그레이드(서비스당)
Azure Batch Not supported Command-line application Not applicable
Azure VMware 솔루션 Agnostic Agnostic 기본 제공 지원 없음

Notes

  1. 옵션에는 ASP.NET 또는 node.js(iisnode), PHP 웹 서버, IntelliJ용 Azure 도구 키트 및 Eclipse용 Azure 도구 키트에 대한 IIS Express가 포함됩니다. App Service는 배포된 웹앱의 원격 디버깅도 지원합니다.

Scalability

Service Autoscaling Load balancer Scale limit3
Azure Virtual Machines 가상 머신 크기 집합 Azure 부하 분산기 플랫폼 이미지: 확장 집합당 1,000개 노드, 사용자 지정 이미지: 확장 집합당 600개 노드
Azure App Service Built-in service Integrated 인스턴스 30개, App Service Environment를 갖는 인스턴스 100개
Azure Functions Built-in service Integrated 함수 앱당 인스턴스 200개
Azure Kubernetes Service Pod autoscaling1, cluster autoscaling2 Azure Load Balancer 또는 Azure 애플리케이션 Gateway 5,000 nodes when using Uptime SLA
Azure Container Apps (Azure 컨테이너 애플리케이션) Scaling rules4 Integrated 지역당 15개 환경(기본 제한), 환경당 무제한 컨테이너 앱 및 컨테이너 앱당 복제본(사용 가능한 코어에 따라 다름)
Azure 컨테이너 인스턴스 Not supported 기본 제공 지원 없음 구독당 컨테이너 그룹 100개(기본 제한)
Azure Red Hat OpenShift Pod 자동 크기 조정, 클러스터 자동 크기 조정 Azure Load Balancer 또는 Azure 애플리케이션 Gateway 클러스터당 노드 250개(기본 제한)
Azure 서비스 패브릭 가상 머신 크기 집합 Azure 부하 분산기 가상 머신 확장 집합당 노드 100개
Azure Batch Not applicable Azure 부하 분산기 900 전용 및 100 낮은 우선 순위의 코어 제한(기본 제한)
Azure VMware 솔루션 Built-in service5 Integrated6 VMware당 vCenter는 3~16개의 VMware ESXi 호스트를 관리할 수 있습니다.

Notes

  1. Pod 자동 크기 조정을 참조하세요.
  2. Azure Kubernetes Service의 애플리케이션 요구에 맞게 클러스터 자동 크기 조정을 참조 하세요.
  3. Azure 구독 및 서비스 제한, 할당량 및 제약 조건을 참조하세요.
  4. Azure Container Apps에서 크기 조정 규칙 설정을 참조하세요.
  5. Azure VMware Solution크기 조정을 참조하세요.
  6. VMware NSX참조하세요.

Availability

Service 다중region 장애 조치(failover) 옵션
Azure Virtual Machines Azure Traffic Manager, Azure Front Door 및 지역 간 Azure Load Balancer
Azure App Service Azure Traffic Manager 및 Azure Front Door
Azure Functions Azure Traffic Manager 및 Azure Front Door
AKS(Azure Kubernetes Service) Azure Traffic Manager, Azure Front Door 및 다중Region 클러스터
Azure Container Apps (Azure 컨테이너 애플리케이션) Azure Traffic Manager 및 Azure Front Door
Azure 컨테이너 인스턴스 Azure Traffic Manager 및 Azure Front Door
Azure Red Hat OpenShift Azure Traffic Manager 및 Azure Front Door
Azure 서비스 패브릭 Azure Traffic Manager, Azure Front Door 및 지역 간 Azure Load Balancer
Azure Batch Not applicable
Azure VMware 솔루션 Not applicable

서비스 보장에 대한 안내 학습은 Core Cloud Services - Azure 아키텍처 및 서비스 보장을 참조 하세요.

Security

각 서비스에 대해 사용 가능한 보안 컨트롤 및 가시성 검토 및 이해:

Other criteria

Service TLS Cost 적합한 아키텍처 스타일
Azure Virtual Machines VM에 구성됨 Windows, Linux N-tier, big compute (HPC)
Azure App Service Supported App Service 가격 책정 Web-queue-worker
Azure Functions Supported Functions pricing Microservices, event-driven architecture
AKS(Azure Kubernetes Service) Ingress controller AKS pricing Microservices, event-driven architecture
Azure Container Apps (Azure 컨테이너 애플리케이션) Ingress controller Container Apps 가격 책정 Microservices, event-driven architecture
Azure 컨테이너 인스턴스 Use sidecar container Container Instances 가격 책정 Microservices, task automation, batch jobs
Azure Red Hat OpenShift Supported Azure Red Hat OpenShift 가격 책정 Microservices, event-driven architecture
Azure 서비스 패브릭 Supported Service Fabric 가격 Microservices, event-driven architecture
Azure Batch Supported Batch pricing Big compute (HPC)
Azure VMware 솔루션 VM에 구성됨 Azure VMware Solution 가격 책정 VMware 형식을 기반으로 하는 VM 워크로드

한도 및 비용 고려

이전 비교 표와 함께 후보 서비스의 다음 측면을 보다 자세히 평가합니다.

Contributors

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

LinkedIn 비공개 프로필을 보려면, LinkedIn에 로그인하세요.

Next steps

Core Cloud Services - Azure 컴퓨팅 옵션 이 Learn 모듈에서는 컴퓨팅 서비스가 일반적인 비즈니스 요구 사항을 해결하는 방법을 살펴봅니다.