애플리케이션에 사용할 Azure 컴퓨팅 서비스 선택

Azure는 애플리케이션 코드를 호스트하는 다양한 방법을 제공합니다. 컴퓨팅 이라는 용어는 애플리케이션이 실행되는 컴퓨팅 리소스의 호스팅 모델을 말합니다. 다음 순서도는 애플리케이션에 대한 컴퓨팅 서비스를 선택하는 데 도움이 됩니다.

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

후보 서비스 선택

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

Azure 컴퓨팅 서비스에 대한 의사 결정 트리

정의:

  • "리프트 앤 시프트"는 애플리케이션을 다시 디자인하거나 코드를 변경하지 않고 워크로드를 클라우드로 마이그레이션하는 전략입니다. 재 호스팅 이라고도 합니다. 자세한 내용은 Azure 마이그레이션 센터를 참조하세요.
  • 클라우드 최적화 는 클라우드 고유 기능 및 성능을 활용하도록 애플리케이션을 리팩터링하여 클라우드로 마이그레이션하는 전략입니다.

이 순서도의 출력은 고려할 시작점입니다. 다음으로, 서비스에 대한 보다 자세한 평가를 수행하여 요구 사항을 충족하는지 확인합니다.

이 문서에는 이러한 절충 결정을 내리는 데 도움이 될 수 있는 여러 테이블이 포함되어 있습니다. 이 분석에 따르면 초기 후보가 특정 애플리케이션 또는 워크로드에 적합하지 않을 수 있습니다. 이 경우 다른 컴퓨팅 서비스를 포함하도록 분석을 확장합니다.

참고

Azure용 Microsoft 클라우드 채택 프레임워크클라우드 채택을 위한 컴퓨팅 요구 사항을 검토하는 방법에 대해 자세히 알아보세요.

기본 기능 이해

이전 단계에서 선택한 Azure 서비스에 익숙하지 않은 경우 개요 설명서를 읽어 서비스의 기본 내용을 이해하세요.

  • 를 App Service. 웹앱, 모바일 앱 백 엔드, RESTful API 또는 자동화된 비즈니스 프로세스를 호스트하기 위한 관리 서비스입니다.
  • 를 Azure Spring Cloud. Spring Boot 앱을 호스트하기 위해 디자인되고 최적화된 관리형 서비스입니다.
  • Azure Kubernetes Service(AKS). 컨테이너화된 애플리케이션을 실행하기 위한 관리되는 Kubernetes 서비스입니다.
  • 일괄 처리. 대규모 병렬 및 HPC(고성능 컴퓨팅) 애플리케이션을 실행하기 위한 관리형 서비스
  • 를 Container Instances. 가상 머신을 프로비전할 필요 없이 더 높은 수준의 서비스를 채택할 필요 없이 Azure에서 컨테이너를 실행하는 가장 빠르고 간단한 방법입니다.
  • 함수. 관리되는 FaaS 서비스입니다.
  • 를 Service Fabric. Azure 또는 온-프레미스를 비롯한 여러 환경에서 실행할 수 있는 분산 시스템 플랫폼입니다.
  • 가상 머신 Azure 가상 네트워크 내에서 VM을 배포하고 관리합니다.

호스팅 모델 이해

Azure 서비스를 포함한 클라우드 서비스는 일반적으로 IaaS, PaaS 또는 FaaS의 세 가지 범주로 나뉩니다. (이 문서의 범위를 벗어나는 SaaS,Software-as-a-Service도 있습니다.) 차이점을 이해하는 것이 유용합니다.

IaaS(Infrastructure-as-a-Service)를 사용하면 연결된 네트워킹 및 스토리지 구성 요소와 함께 개별 VM을 프로비전할 수 있습니다. 그런 다음, 해당 VM에 배치하려는 모든 소프트웨어 및 애플리케이션을 배포합니다. 이 모델은 Microsoft에서 인프라를 관리한다는 점을 제외하고는 기존 온-프레미스 환경과 가장 가깝습니다. 여전히 개별 VM을 관리하게 됩니다.

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

FaaS(Functions-as-a-Service)는 호스팅 환경을 걱정할 필요가 없는 좀 더 발전한 형태입니다. FaaS 모델에서는 코드를 배포하기만 하면 서비스에서 자동으로 코드를 실행합니다. Azure Function은 FaaS 서비스입니다.

참고

Azure Functions Azure 서버리스 컴퓨팅 제품입니다. Azure에서 올바른 통합 및 자동화 서비스 선택을 참조하여 이 서비스가 서버리스 워크플로를 제공하는 Logic Apps 같은 다른 Azure 서버리스 제품과 어떻게 비교되는지 확인할 수 있습니다.

IaaS에서 순수한 PaaS로의 스펙트럼이 구현됩니다. 예를 들어 Azure VM은 가상 머신 확장 집합을 사용하여 자동 크기 조정을 할 수 있습니다. 이 자동 크기 조정 기능은 엄격하게 PaaS는 아니지만 PaaS 서비스에 있는 관리 기능의 유형입니다.

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

조건 Virtual Machines App Service Azure Spring Cloud Service Fabric Azure 기능 Azure Kubernetes Service Container Instances Azure Batch
애플리케이션 조합 장치 및 시스템 독립성 애플리케이션, 컨테이너 애플리케이션, 마이크로 서비스 서비스, 게스트 실행 파일, 컨테이너 Functions 컨테이너 컨테이너 Scheduled jobs
밀도 장치 및 시스템 독립성 앱 서비스 요금제를 통해 인스턴스당 복수의 앱 지원 서비스 인스턴스당 여러 앱 VM당 복수의 서비스 지원 서버를 사용하지 않음 1 노드당 복수의 컨테이너 지원 전용 인스턴스 없음 VM당 복수의 앱 지원
최소 노드 개수 1 2 1 2 5 3 서버를 사용하지 않음 1 3 3 전용 노드 없음 1 4
상태 관리 상태 비저장/상태 저장 상태 비저장 상태 비저장 상태 비저장/상태 저장 상태 비저장 상태 비저장/상태 저장 상태 비저장 상태 비저장
웹 호스팅 장치 및 시스템 독립성 기본 제공 기본 제공 장치 및 시스템 독립성 해당 사항 없음 장치 및 시스템 독립성 장치 및 시스템 독립성 No
전용 VNet에 배포 가능 여부 지원 여부 지원됨 5 지원 여부 지원 여부 지원됨 5 지원됨 지원됨 지원 여부
하이브리드 연결 지원 여부 지원됨 6 지원 여부 지원 여부 지원됨 7 지원 여부 지원되지 않음 지원 여부

참고

  1. 소비 계획을 사용하는 경우 App Service 계획을 사용하는 경우 함수는 App Service 계획에 할당된 VM에서 실행됩니다. Azure Functions 올바른 서비스 계획 선택을참조하세요.
  2. 둘 이상의 인스턴스가 존재하는 경우 보다 높은 SLA 지원.
  3. 프로덕션 환경에 권장됩니다.
  4. 작업 완료 이후 0으로 축소 가능.
  5. ASE(App Service Environment) 필요.
  6. Azure App Service 하이브리드 연결 사용.
  7. App Service 계획 또는 Azure Functions Premium 플랜이필요합니다.

DevOps

조건 Virtual Machines App Service Azure Spring Cloud Service Fabric Azure 기능 Azure Kubernetes Service Container Instances Azure Batch
로컬 디버깅 장치 및 시스템 독립성 IIS Express, 기타 1 Visual Studio Code, Intellij, Eclipse 로컬 노드 클러스터 Azure Studio 또는 Azure Functions CLI Minikube, 기타 로컬 컨테이너 런타임 지원되지 않음
프로그래밍 모델 장치 및 시스템 독립성 웹 및 API 애플리케이션, 백그라운드 작업을 위한 WebJob Spring Boot, Steeltoe 게스트 실행 파일, 서비스 모델, 작업자 모델, 컨테이너 트리거가 있는 함수 장치 및 시스템 독립성 장치 및 시스템 독립성 명령줄 애플리케이션
애플리케이션 업데이트 기본 제공 지원 없음 배포 슬롯 롤링 업그레이드, 파란색-녹색 배포 롤링 업그레이드(서비스당) 배포 슬롯 롤링 업데이트 해당 사항 없음

참고

  1. 옵션에는 ASP.NET 또는 node.js(iisnode)에 대한 IIS Express 포함됩니다. PHP 웹 서버; Azure Toolkit for IntelliJ, Azure Toolkit for Eclipse. App Service 배포된 웹앱의 원격 디버깅도 지원합니다.
  2. Resource Manager 공급자, 지역, API 버전 및 스키마를 참조하세요.

확장성

조건 Virtual Machines App Service Azure Spring Cloud Service Fabric Azure 기능 Azure Kubernetes Service Container Instances Azure Batch
자동 확장 가상 머신 크기 집합 기본 제공 서비스 기본 제공 서비스 가상 머신 크기 집합 기본 제공 서비스 Pod 자동 크기 조정 1 , 클러스터 자동 크기 조정 2 지원되지 않음 해당 없음
부하 분산 장치 Azure Load Balancer 통합 통합 Azure Load Balancer 통합 Azure Load Balancer 또는 Application Gateway 기본 제공 지원 없음 Azure Load Balancer
확장 제한3 플랫폼 이미지: 확장 집합당 1000개 노드, 사용자 지정 이미지: 확장 집합당 600개 노드 인스턴스 30개, App Service Environment 100개 표준의 앱 인스턴스 500개 확장 집합당 100개 노드 함수 앱당 인스턴스 200개 클러스터당 노드 100개(기본 한도) 구독당 20개의 컨테이너 그룹(기본 한도) 코어 한도 20개(기본 한도)

참고

  1. Pod 자동 크기 조정을 참조하세요.
  2. AKS(Azure Kubernetes Service)에서 애플리케이션 요구 사항을 충족하도록 클러스터 자동 크기 조정을참조하세요.
  3. Azure 구독 및 서비스 제한, 할당량 및 제약 조건을 참조하세요.

가용성

조건 Virtual Machines App Service Azure Spring Cloud Service Fabric Azure 기능 Azure Kubernetes Service Container Instances Azure Batch
SLA Virtual Machines에 대한 SLA App Service용 SLA SLA for Azure Spring Cloud Service Fabric용 SLA Functions용 SLA AKS용 SLA Container instances용 SLA Azure Batch용 SLA
다중 지역 장애 조치(failover) 트래픽 관리자 트래픽 관리자 트래픽 관리자, 다중 지역 클러스터 Azure Front Door 트래픽 관리자 지원되지 않음 지원되지 않음

서비스 보장에 대한 안내 학습은 핵심 Cloud Services - Azure 아키텍처 및 서비스 보장을 검토하세요.

보안

각 서비스에 사용 가능한 보안 제어 및 표시 유형 검토 및 이해

기타 조건

조건 Virtual Machines App Service 앱 Spring Cloud Service Fabric Azure 기능 Azure Kubernetes Service Container Instances Azure Batch
SSL VM에 구성됨 지원 여부 지원 여부 지원 여부 지원 여부 수신 컨트롤러 사이드카 컨테이너 사용 지원 여부
Cost Windows, Linux App Service 가격 책정 Azure Spring Cloud 가격 책정 Service Fabric 가격 Azure Functions 가격 책정 AKS 가격 책정 Container Instances 가격 책정 Azure Batch 가격
적합한 아키텍처 스타일 N 계층, 빅 컴퓨팅(HPC) Web-Queue-Worker, N-Tier Spring Boot, 마이크로 서비스 마이크로 서비스, 이벤트 기반 아키텍처 마이크로 서비스, 이벤트 기반 아키텍처 마이크로 서비스, 이벤트 기반 아키텍처 마이크로 서비스, 작업 자동화, 일괄 처리 작업 빅 컴퓨팅(HPC)

이 순서도의 출력은 고려할 시작점입니다. 다음으로, 서비스에 대한 보다 자세한 평가를 수행하여 요구 사항을 충족하는지 확인합니다.

제한 및 비용 고려

서비스의 다음 측면을 살펴보고 보다 자세한 평가를 수행합니다.

다음 단계