Azure Container 인스턴스와 Web App for Container의 차이점은 무엇입니까?
Azure 다중 컨테이너 인스턴스를 사용하여 웹 앱(node.js 컨테이너 및 mongo 컨테이너)을 배포했습니다.도커 컴포지와 약간 비슷하지만 Azure 고유의 yaml 파일과 함께 작동합니다. https://learn.microsoft.com/en-us/azure/container-instances/container-instances-multi-container-yaml
이제 보니 "용기용 애저 웹 앱"이라는 것이 있습니다.이것은 실제 도커 컴포지트 yaml 파일에서 작동하는 것 같습니다.
구성 파일 형식 외에 다른 차이점이 있습니까?
참고: 저는 Azure 컨테이너 서비스가 아니라 Azure 컨테이너 인스턴스를 말하는 것입니다.
zure 컨테이너 인스턴스는 컨테이너가 활성화된 시간에 대해서만 청구하는 반면, webapp은 웹앱이 존재하는 시간에 대해서만 청구합니다(따라서 항상 청구합니다.그것이 그것들 사이의 가장 큰 차이점 중 하나입니다.
그러나 전반적으로 Azure Web App for Containers는 기존의 "stuff"에서 컨테이너를 실행할 수 있는 바로 가기에 불과하다고 생각합니다.최근에 Azure Web App for Containers가 kubernetes 기능을 제공하므로 이 두 서비스는 약간 다른 방향으로 발전합니다.Azure Web App for Containers는 장시간 실행(항상 실행)을 목표로 하는 반면, ACI는 예약된\버스트 가능\단시간 워크로드(Azure Functions와 유사)를 목표로 합니다.
요약하면
컨테이너용 웹 앱
- Azure Web App 환경에 이미 익숙한 경우 권장합니다.
- 하나 또는 몇 개의 장기간 실행되는 컨테이너/서비스가 배포되는 경우에 가장 적합합니다.
- 사용자 지정 도커 이미지를 사용하여 Azure에 아직 정의되지 않은 응용 프로그램 스택에서 웹 앱을 실행할 수 있습니다.
Azure 컨테이너 인스턴스
- "Azure Container Instance는 단순한 애플리케이션, 작업 자동화 및 빌드 작업을 포함하여 격리된 컨테이너에서 작동할 수 있는 모든 시나리오에 적합한 솔루션입니다."
- 빠르고, 가볍고, 쉬운 컨테이너 실행 방법 컨테이너가 활성화되는 시간에 대해 청구됩니다(청구 시간은 초, 코어 및 메모리를 기준으로 합니다).
- VM을 프로비저닝하고 관리할 필요 없이 몇 초 만에 Azure에서 컨테이너를 시작할 수 있습니다.
- 실험용 ACI-Kubernetes 커넥터를 통해 Kubernetes와 함께 작업할 수도 있습니다.
- 현재 Azure에 컨테이너를 배치하는 가장 빠른 방법
- Azure 문서에 따르면, "Azure Container Instances는 애플리케이션이 VM에서와 마찬가지로 컨테이너에서 격리되도록 보장합니다."
다른 답변 외에도 Web App for Containers는 할당된 동일한 리소스에서 여러 이미지를 실행하여 활용률을 높일 수 있는 "슬롯"을 제공한다는 점도 다릅니다.사용된 시간당 컨테이너 인스턴스 청구서에는 "슬롯"이 없습니다.
Microsoft Learn에 다음과 같은 좋은 기사가 있습니다.다른 Azure 컨테이너 옵션과 컨테이너 앱 비교
Azure 컨테이너 인스턴스
ACI(Azure Container Instances)는 요청 시 단일 포드의 Hyper-V 격리된 컨테이너를 제공합니다.Container Apps에 비해 낮은 수준의 "빌딩 블록" 옵션이라고 생각할 수 있습니다.ACI 컨테이너에는 확장, 로드 밸런싱 및 인증서와 같은 개념이 제공되지 않습니다.예를 들어, 5개의 컨테이너 인스턴스로 확장하려면 5개의 고유한 컨테이너 인스턴스를 생성합니다.Azure Container Apps는 인증서, 리비전, 규모 및 환경을 포함하여 컨테이너 위에 다양한 응용프로그램별 개념을 제공합니다.사용자는 종종 다른 서비스를 통해 Azure Container 인스턴스와 상호 작용합니다.예를 들어 Azure Kubernetes Service는 가상 노드를 통해 ACI 위에서 조정을 계층화하고 확장할 수 있습니다.Azure Container Apps가 최적화하는 시나리오와 맞지 않는 덜 "의견이 있는" 구성 요소가 필요한 경우 Azure Container Instances가 이상적인 옵션입니다.
Azure 앱 서비스
Azure App Service는 웹 사이트 및 웹 API를 포함한 웹 응용 프로그램에 대한 완벽한 관리 호스팅을 제공합니다.이러한 웹 응용 프로그램은 코드 또는 컨테이너를 사용하여 배포할 수 있습니다.Azure App Service는 웹 애플리케이션에 최적화되어 있습니다.Azure App Service는 Azure Container Apps 또는 Azure Functions를 포함한 다른 Azure 서비스와 통합되어 있습니다.웹 앱을 구축할 때, Azure App Service는 이상적인 옵션입니다.
Azure Web App for Containers
그리고.Azure Web App
이며, 는 동일한사용니다합그들은서.App Service Plan
유일한 차이점은Publish
으로 설정됨Docker Container
대신에Code
결석으로
https://azure.microsoft.com/en-us/products/app-service/web/
https://azure.microsoft.com/en-us/products/app-service/containers/ #http://overview
기사에서 다른 대안도 확인할 수 있습니다.
팀이 Azure에서 클라우드 네이티브 및 컨테이너형 애플리케이션을 구축하고 배포할 수 있는 많은 옵션이 있습니다.
- Azure 컨테이너 앱
- Azure 앱 서비스
- Azure 컨테이너 인스턴스
- 아주르 쿠베르네테스 서비스
- Azure 함수
- 애저 스프링 앱
- 애저 레드햇 오픈시프트
Azure 컨테이너 앱
Azure Container Apps를 사용하면 컨테이너를 기반으로 서버리스 마이크로 서비스를 구축할 수 있습니다.Container Apps의 특징은 다음과 같습니다.
- 범용 컨테이너를 실행하는 데 최적화되어 있으며, 특히 컨테이너에 배치된 많은 마이크로 서비스에 걸쳐 있는 애플리케이션에 적합합니다.
- Kubernetes와 Dapr, KEDA 및 특사와 같은 오픈 소스 기술에 의해 구동됩니다.
- 서비스 검색 및 트래픽 분할과 같은 기능을 통해 Kubernetes 스타일의 앱 및 마이크로 서비스를 지원합니다.
- 트래픽 기반 확장을 지원하고 대기열과 같은 이벤트 소스(0까지 확장 포함)에서 풀링하여 이벤트 중심 애플리케이션 아키텍처를 지원합니다.
- 장시간 실행되는 프로세스를 지원하며 백그라운드 작업을 실행할 수 있습니다.
Azure Container Apps는 기본 Kubernetes API에 직접 액세스할 수 없습니다.Kubernetes API 및 제어부에 대한 액세스가 필요한 경우 Azure Kubernetes Service를 사용해야 합니다.그러나 Kubernetes 스타일의 애플리케이션을 구축하고 모든 기본 Kubernetes API 및 클러스터 관리에 직접 액세스할 필요가 없는 경우 Container Apps는 모범 사례를 기반으로 완벽하게 관리되는 환경을 제공합니다.이러한 이유로 많은 팀이 Azure Container Apps를 사용하여 컨테이너 마이크로 서비스를 구축하는 것을 선호할 수 있습니다.
빠른 시작을 사용하여 첫 번째 컨테이너 앱 구축을 시작할 수 있습니다.
아주르 쿠베르네테스 서비스
AKS(Azure Kubernetes Service)는 Azure에서 완벽하게 관리되는 Kubernetes 옵션을 제공합니다.Kubernetes API에 대한 직접 액세스를 지원하며 모든 Kubernetes 워크로드를 실행합니다.전체 클러스터는 헤드라인 등록에 상주하며 클러스터 구성 및 작업은 사용자가 제어하고 책임집니다.Azure, Azure Kubernetes Service에서 완벽하게 관리되는 버전의 Kubernetes를 찾는 팀은 이상적인 옵션입니다.
Azure 함수
Azure Functions는 서버가 없는 서비스로서의 기능(FaaS) 솔루션입니다.함수 프로그래밍 모델을 사용하여 이벤트 기반 응용 프로그램을 실행하도록 최적화되었습니다.이 기능은 Azure Container Apps와 확장 및 이벤트와의 통합과 관련하여 많은 특성을 공유하지만 코드 또는 컨테이너로 배포되는 사용 후 삭제 기능에 최적화되어 있습니다.Azure Functions 프로그래밍 모델은 이벤트에서 사용자의 함수 실행을 트리거하고 다른 데이터 소스에 바인딩하려는 팀에게 생산성 이점을 제공합니다.FaaS 스타일의 기능을 구축할 때는 Azure Functions가 이상적인 옵션입니다.Azure Functions 프로그래밍 모델은 기본 컨테이너 이미지로 제공되므로 다른 컨테이너 기반 컴퓨팅 플랫폼에 이식할 수 있으므로 환경 요구사항이 변경될 때마다 코드를 재사용할 수 있습니다.
애저 스프링 앱
애저 스프링 앱스는 스프링 개발자를 위한 서비스형 플랫폼(PaaS)입니다.Azure에서 Spring Boot, Spring Cloud 또는 기타 Spring 애플리케이션을 실행하려면 Azure Spring Apps가 이상적인 옵션입니다.이 서비스는 개발자들이 코드에 집중할 수 있도록 Spring 애플리케이션의 인프라를 관리합니다.Azure Spring Apps는 포괄적인 모니터링 및 진단, 구성 관리, 서비스 검색, CI/CD 통합, 블루 그린 구현 등을 사용하여 라이프사이클 관리를 제공합니다.
애저 레드햇 오픈시프트
Azure Red Hat OpenShift는 Red Hat과 마이크로소프트가 공동으로 설계, 운영 및 지원하여 Kubernetes 기반 OpenShift 실행을 위한 통합 제품 및 지원 환경을 제공합니다.Azure Red Hat OpenShift를 사용하면 팀에서 자체 레지스트리, 네트워킹, 스토리지 및 CI/CD 솔루션을 선택하거나 기본 제공 솔루션을 사용하여 OpenShift에서 자동화된 소스 코드 관리, 컨테이너 및 애플리케이션 빌드, 구현, 확장, 상태 관리 등을 수행할 수 있습니다.팀이나 조직에서 OpenShift를 사용하는 경우 Azure Red Hat OpenShift가 이상적인 옵션입니다.
언급URL : https://stackoverflow.com/questions/54551192/what-is-the-difference-between-azure-container-instances-and-web-app-for-contain
'programing' 카테고리의 다른 글
.Net이 잘못된 참조 어셈블리 버전을 선택합니다. (0) | 2023.05.09 |
---|---|
Excel에서 셀 참조가 있는 테이블을 정렬하려면 어떻게 해야 합니까? (0) | 2023.05.09 |
바이트 배열을 문자열로 변환하는 방법 (0) | 2023.05.09 |
postgres에서 시퀀스를 재설정하고 ID 열을 새 데이터로 채우는 방법은 무엇입니까? (0) | 2023.05.09 |
Eclipse 프로젝트에서 일부 폴더를 제외하려면 어떻게 해야 합니까? (0) | 2023.05.09 |