微軟最近在一篇博客文章中介紹了一個名為Azure Container Instances的全新容器服務,根據微軟介紹,這是一種:
可以無需管理虛擬機基礎架構,快速簡單交付容器的新方法。
隨著微服務和DevOps的崛起,容器的使用開始變得流行。微軟計算部門總監Corey Sanders介紹了使用容器技術所能獲得的部分收益:
容器提供了一種可被廣泛接受的開放式標準,可促進不同平臺和不同云之間的移植性。
微軟原有的容器平臺名為Azure Container Services(ACS),ACS提供的容器托管解決方案可供開發者在Azure服務中使用開源的編排工具,如Mesosphere DC/OS、Kubernetes或Docker Swarm。
Azure Container Instances(ACI)服務提供了一種更簡單的體驗,用戶無需學習新的編排概念或編程模型即可使用。ACI可供用戶快速開始部署容器,進而快速開發測試自己的用例。ACI還可促進“爆發”和“縮放”,而不像虛擬機那樣只適合消耗量更可預測的場景。
對于Azure目前可支持的不同容器技術,微軟對它們的定位如下:
如果需要……可使用 | |
使用Kubernetes、DC/OS或Docker Swarm縮放和編排容器 | 容器服務(Container Service) |
在Azure上通過一個命令輕松運行容器 | 容器實例(Container Instances) |
跨越所有類型的Azure部署存儲并管理容器鏡像 | 容器注冊表(Container Registry) |
在Windows或Linux上開發微服務并編排容器 | Service Fabric |
在Linux上使用容器部署Web應用 | 應用服務(App Service) |
使用容器運行重復性的計算作業 | 批處理(Batch) |
來源:https://azure.microsoft.com/zh-cn/services/container-instances/
在容器的設置和供應方面,Azure Container Instances為開發者提供了更細化并且更豐富的選擇,對此Sanders解釋說:
Azure Container Instance是一種可以在幾秒內啟動并按秒計費的單一容器。ACI提供了豐富多樣的規模選項,用戶可以單獨選擇要使用的vCPU和內存數量,借此為應用程序提供完美匹配的基礎架構。容器運行了幾秒鐘,就收取幾秒鐘的費用;需要幾GB內存,就提供幾GB內存,不多也不少。
ACI已經被視作Azure生態內的“一等”對象,可以充分利用Azure的豐富功能,諸如基于角色的訪問控制(RBAC)。開發者還可以針對每個容器使用賬單分配過程中所提供的標簽(Tag)功能。Azure會直接暴露出Azure Container Instances,因此完全不需要管理虛擬機,正如Sanders所說:
簡單來說,這就是一種通過云中運行的容器,運行你的代碼的服務。
用戶只需在Azure命令行(CLI)工具中運行一條命令即可供應ACI。
圖片來源:https://azure.microsoft.com/en-us/blog/announcing-azure-container-instances/
若要控制容器的處理器內核數以及內存數量,可在上述創建容器的命令中通過參數指定。
圖片來源:https://azure.microsoft.com/en-us/blog/announcing-azure-container-instances/
按照設計,Azure Container Instances以“簡化”為目標,并不是為了取代編排引擎。因此微軟開發布了開源的適用于Kubernetes的ACI連接器,該工具可用于在Kubernetes集群中部署Azure Container Instances。Sanders認為這種方法可提供很多收益:
借此可針對由Kubernetes編排的容器提供按需獲取,近乎瞬時的計算能力,而無須管理虛擬機基礎架構,同時依然可以使用可移植的Kubernetes API。通過這種方式,開發者將可以在同一個K8s集群中同時使用虛擬機和容器實例,將兩種方式的優勢合二為一。
用戶還可以在ACI和ACS模式之間遷移,借此開發者將可以敏捷地部署Kubernetes,這一點是其他任何云供應商都無法實現的。
Azure Container Instances目前針對Linux容器提供了公開預覽版服務,預計對Windows的支持將在未來幾周內實現。
閱讀英文原文:Microsoft Introduces New Azure Container Instances Service and Per Second Billing