剖析微軟Azure Container Service服務,多方管道支援Kubernetes_Kubernetes中文社群
微軟Azure Container Service重點策略
- 單一平臺可管理Windows和Linux的容器叢集
- 開發工具深度整合容器部署,挾開發工具生態系優勢搶攻企業市場
在微軟CEO Satya Nadella上任之後,近年微軟無論是擁抱Linux或是走向開源的可說成效有目共睹,其公有云平臺Azure也依循著微軟擬定的戰略,一併支援Linux及Windows容器,根據微軟統計,在Azure上使用Linux容器才是主流。
起初,Azure容器服務最先整合的排程工具是Docker Swarm,後來除了整並Mesosphere的DC/OS外,今年2月也正式支援了Kubernetes,目前已經更新至
現在Azure同時提供構建容器、VM基礎架構的服務,不過構建起這些基礎架構僅是第一步,後面的管理工作才是真的挑戰,像是開啟、關閉容器,或是隨需進行水平擴充。同時,容器環境的管理也要拉高自動化程度,讓開發者可透過工具調整基礎架構,不須介入底層機器的管理。因此,Azure容器服務的目的,便是方便企業架設容器應用程式運作的環境,通過容器排程工具,便可以控制容器叢集。除了容器服務外,企業還可以在公有云環境的Azure Container Instances,或是混合雲解決方案Azure Stack環境使用Kubernetes,執行容器排程的工作。
另外,微軟也在GitHub上開源推出的Azure容器服務引擎(ACS Engine),讓企業自行建立私有的容器服務,不過,這個引擎預設自動產生符合Azure容器環境的配置檔案,最大可以支援到1,200個節點的叢集規模,日後可以將自家容器環境直接轉移到Azure上部署,但沒有提供其他雲廠商的環境配置模板,使用者得自行手動配置,這也是微軟用來吸引那群還不想上雲,又想試用容器的企業,讓他們成為日後Azure的顧客的繫結手法。
不過,現今微軟內部開發團隊也不閉門造車,在開發Azure容器服務引擎時,也在GitHub上與多方開源社群討論,顛覆過往內部主導專案進行方向的作法,扭轉為以社群、使用者為主要驅力。
Azure環境讓開發工具與容器大幅整合,開發容器應用更方便
而微軟除了Azure可以通過多元環境支援Kubernetes的優勢之外,其開發工具廣大的使用者,或是既有IT架構與微軟深入整合的企業,也都是這家公司可以搶佔的市場。
例如,Linux作業系統廠商Canonical在9月時與微軟合作,為Azure環境推出專用版本的Ubuntu Kernel,可支援最新版本的Hyper-V。開發工具Visual Studio Code也內建了Docker工具欄,開發者可以在統一環境內開發,不須切換至終端機環境,就可完成Docker容器的構建、部署操作。
Windows環境強力支援Linux,讓Hyper-V也能跑Linux容器
而近年則有兩個關鍵事件,讓微軟平臺與Kubernetes的整合程度加分許多。首先,去年推出的Kubernetes 1.5版,居然可以一併排程Linux容器以及Windows Server容器,還能相容Windows Server 2016平臺。再者,今年4月的DockerCon中,微軟也宣佈,使用者可以在Hyper-V環境,利用Windows Server中原生執行Linux容器。如此,不僅弭平微軟環境與容器技術的隔閡、擴大Windows Server的應用範圍,也替依賴微軟環境的企業做了解套,降低匯入Kubernetes的難度。