ACI是什么?微軟Azure容器實例解析
譯文【51CTO.com快譯】作為Amazon Web Services的關鍵性競爭者之一,如今的Azure正憑借著快速部署型容器服務在服務平臺與即服務基礎設施之間建立橋梁,并順利贏得超越Amazon的良好勢頭。
容器即服務
作為一類新型云平臺,Azure容器實例(簡稱ACI)是一項“容器即服務”方案,允許大家在無需承擔日常開銷且可運用腳本化命令集的前提下,快速創(chuàng)建并啟動容器化應用程序。由于內置大量工具且可與Kubernetes等主流方案相結合,ACI帶來一系列容器管理命令,將其與以秒為單位的計費模式加以對接,而且用戶無需創(chuàng)建并部署(或支付)任何容器主機。
然而,其中的計費模式較為復雜,主要包含三大元素。首先,容器實例的創(chuàng)建為每條請求平均0.0025美元; 其二,在設置完成后,您需要以每秒每GB 0.0000125美元的價格支付內存容量成本以及每秒每核心0.0000125美元的價格支付計算核心成本。這意味著大家需要時刻關注自己的使用時長,特別是在利用ACI處理大規(guī)模應用程序的情況下。
利用ACI部署容器
設置首套ACI容器非常簡單,因為ACI采用Azure命令行。目前的版本僅可運行Linux容器,不過Windows容器功能也即將開放。在使用Azure容器服務時,大家需要利用Azure Cloud Shell或者遠程Azure命令行實例構建及管理容器,并首先為ACI容器創(chuàng)建資源組。
命令行容器命令易于使用,且可用于定義您希望在ACI中使用的各類容器。由于無需構建及啟動底層主機虛擬機,因此部署容器速度很快。ACI能夠直接將現有虛擬機分配給容器,并在數秒內完成啟動及運行。也可根據需求定義容器的實際內核數量以及內存容量。
部分命令還可以JSON格式獲取容器狀態(tài)的詳盡信息。在實踐中,大家可編寫腳本,在ACI上部署容器,立足數據中心操作系統(tǒng)加以驅動或者將其作為持續(xù)集成平臺中的一部分。JSON狀態(tài)數據可在公有與私有服務之間配置任何網絡服務或者連接。
由于Azure CLI基于Bash,因此也可憑借腳本實現高度自動化。微軟承諾發(fā)布Windows Shell的一套Cloud Shell版本,同時也關注PowerShell與ACI之間的協作效果。
部署完成后,您的容器即可利用公開或內部IP地址運行。公開地址可承載面向公眾的服務,私有地址適用于專用應用或者支持公共接口的內部服務。微軟提供說明文檔以幫助用戶將ACI作為Web服務主機,旨在為可擴展Web應用部署高密度Web服務器。當然,大家也可以借此完成對Node.js應用的部署。
配合Kubernetes以規(guī)?;绞绞褂肁CI
除了測試與開發(fā)層面的快速部署方案之外,ACI也可以配合Kubernetes作為強大的生產工具。遺憾的是,目前將一組容器作為Kubernetes pod使用的功能仍處于測試階段。ACI Coonector for Kubernetes為開源項目,托管于GitHub之上,允許Kubernetes在ACI之上部署容器。
匹配ACI Connector的實際方式類似于配合其它kubelet,包括利用命令行進行容器托管與管理。該連接器將ACI注冊為一個擁有***容量的節(jié)點,且注冊后您只需要在ACI帳戶中利用該節(jié)點名稱啟動pod,并利用同樣的Kubernetes命令完成容器創(chuàng)建與銷毀。事實上,大家無需在Azure中運行Kubernetes即可實現這種功能:您只需要為ACI Kubernetes API提供一個公開IP地址。這意味著ACI能夠配合任何Kubernetes主節(jié)點以運行任何服務。
微軟與Kubernetes社區(qū)間的合作值得關注,而且相信未來會有更多人在Azure當中將ACI與Kubernetes配合使用——而不僅僅局限于內部或者跨云環(huán)境。
在使用Kubernetes處理突發(fā)性應用與服務時,ACI采取的每秒計費機制將***成本優(yōu)勢。開源ACI連接器也有助于未來Mesos與Docker Swarm連接器的開發(fā)。
Azure的容器發(fā)展前景
微軟通過ACS與ACI承諾的容器技術將會很有發(fā)展前景。而且相較于成本更高且資源需求量更大的IaaS模式,容器很可能成為Azure未來的根本性平臺。容器采取的PaaS運行模式屬于一種邏輯步驟,大家可輕松利用Kubernetes或者其它方案完成容器管理。
憑借Azure帶來的容器規(guī)?;c部署能力,大家無需投入大量時間即可構建并管理自己的復雜虛擬基礎設施。因此,您的關注點將轉向如何構建并管理資源組,并利用Azure Service Fabric將容器接入應用程序。盡管這一新環(huán)境下的代碼構建復雜度可能更高,但以容器作為主要部署模式的作法卻可簡化更新及規(guī)模伸縮流程。
到目前為止,微軟一直快步緊跟容器技術。隨著收購Deis以及加入云原生計算基金會,軟件巨頭必將在容器使用乃至未來的開發(fā)當中持續(xù)發(fā)力。
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】