Azure

Azure 容器實例和 Azure 容器應用之間的區別

  • November 12, 2021

微軟宣布了Azure Container Apps,這是一項用於在雲中執行無伺服器容器的新服務。這似乎類似於Container Instances服務,它也用於部署完全託管的容器。

這兩種服務之間的主要區別是什麼?

這是一個很好的問題,我已經向團隊詢問過這個問題,因為我也不清楚。

總之:如果你要啟動多個容器(例如前端/後端/數據庫),Azure Container Apps 是一個更好的選擇,因為它帶有 Dapr,它會自動重試請求並添加一些遙測數據。

如果您只需要長時間執行的作業,或者不需要多個容器相互通信,則可以使用 Azure 容器實例。

Azure 容器實例

Azure 容器實例 (ACI) 按需提供 Hyper-V 隔離容器的單個 pod。與容器應用程序相比,它可以被認為是一個較低級別的“建構塊”選項。ACI 容器不提供縮放、負載平衡和證書等概念。例如,要擴展到五個容器實例,您需要創建五個不同的容器實例。Azure 容器應用在容器之上提供了許多特定於應用程序的概念,包括證書、修訂、規模和環境。使用者經常通過其他服務與 Azure 容器實例進行互動。例如,Azure Kubernetes 服務可以通過虛擬節點在 ACI 之上分層編排和擴展。如果您需要一個與 Azure 容器應用程序正在優化的場景不相符的不太“固執”的建構塊,

Azure 容器應用

Azure 容器應用使你能夠基於容器建構無伺服器微服務。容器應用程序的獨特功能包括:

針對執行通用容器進行了優化,特別是對於跨部署在容器中的許多微服務的應用程序。由 Kubernetes 和 Dapr、KEDA 和 envoy 等開源技術提供支持。支持具有服務發現和流量拆分等功能的 Kubernetes 風格的應用程序和微服務。通過支持基於流量的規模和從隊列等事件源中拉取,包括規模為零,支持事件驅動的應用程序架構。支持長時間執行的程序並可以執行後台任務。Azure 容器應用不提供對底層 Kubernetes API 的直接訪問。如果需要訪問 Kubernetes API 和控制平面,則應使用 Azure Kubernetes 服務。但是,如果您想建構 Kubernetes 風格的應用程序並且不要 不需要直接訪問所有本地 Kubernetes API 和集群管理,容器應用程序提供基於最佳實踐的完全託管體驗。由於這些原因,許多團隊可能更願意開始使用 Azure 容器應用建構容器微服務。

來源: https ://docs.microsoft.com/en-us/azure/container-apps/compare-options

引用自:https://serverfault.com/questions/1083358