天天看點

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

随着paas平台結構的演變,可以看到容器編排給企業在平台結構的選擇上帶來的沖擊,可究竟該如何選擇,我們需要透過現象看本質。

paas平台的演變

傳統paas平台在雲計算技術的發展中經曆了幾次演變,我們先來回顧下經典的雲平台層次體系的結構。

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

傳統雲計算平台的分層結構

如圖所示,在經典的paas平台結構中,應用運作在paas平台所提供的容器環境中,容器在虛拟機基礎上完成了第二層次基礎設施資源的劃分,容器封裝了應用正常運作所需的運作環境和系統。然而這類paas平台就如同一個“黑盒”,應用完全脫離了租戶的控制,進入了完全被托管的狀态,這使得開發人員和運維人員對應用和應用運作時的環境掌控力變弱,再加上傳統paas通常在應用架構選擇、支援的環境服務等方面有較強限制,導緻此類雲平台層次結構運力不足,尤其是在應用出現當機後尤為凸顯。因而在生産環境下又進化出了以iaas+雲平台的分層結構。

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

典型的iaas+雲平台

iaas+雲平台的層次結構保證了運維人員對底層環境的掌控,但iaas層不具備貼近應用的資源排程政策,為了彌補了iaas平台脫離應用的缺陷,出現了很多高效便捷的虛拟機devops工具,以虛拟機鏡像為基礎可以保證生産環境、測試環境、開發環境上的嚴格一緻。目前基于iaas的雲生态環境已經具有相當高的成熟度。

當然,以上這兩種經典的雲平台分層結構依然還是目前傳統雲平台搭建意識裡的主流,直到docker的出現。

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

基于容器的雲平台

docker的出現為雲平台帶來了一個新的分層結構:基于容器的雲平台。相比經典paas平台,基于容器的雲平台結構更加開放,可直接基于虛拟機或實體機搭建。基于容器鏡像的應用釋出流程不僅能覆寫整個應用生命周期,還減少了經典paas平台對應用架構、支援的軟體環境服務等方面的諸多限制,将更多控制力交還給開發和運維人員。

而影響傳統平台paas結構的核心便是容器編排。

容器編排的演變

容器編排支援打包、部署、隔離、服務發現、擴容和滾動更新,已經在影響驅動成熟企業和初創公司采用容器上起到非常重要作用。

在基于容器的雲平台中,運用docker容器至應用的完整生命周期中時,最困難的便是運作微服務應用程式,即如何建立、管理和自動化臨時容器叢集。

解決這一挑戰的第一個主要工具是mesos及它的編排工具marathon,成熟度最高時間最久。下一個得到認同的編排工具是kubernetes(以下簡稱k8s),應用最廣泛,社群支援度最高。之後docker swarm也加入了進來,使用覆寫率也很驚喜。當然,目前國内還出現了自研的容器編排newben,開發者為ghostcloud精靈雲。

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

幾種容器編排的對比

事實上,如今k8s因為它的可擴充性已經成為了企業主流。它支援廣泛的程式設計語言、基礎設施選項,并獲得容器生态系統的巨大支援。它将應用層與基礎設施層隔離開來,進而能夠跨多個雲供應商和基礎設施設定,實作真正的可移植性。

容器編排k8s和newben

l網絡

k8s不支援内置虛拟網絡,網絡插件選擇衆多,學習成本更高,但從社群獲得的支援也最多。newben内置支援虛拟網絡,支援多子網,支援公有雲、主機托管環境、二層和三層網絡以及控制網絡通路安全。

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

l應用服務和應用棧

在建立應用服務方面,k8s需要多次執行指令工具的操作模式,newben則采用向導式建立的方式,且支援應用服務分組建立應用棧。

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

l彈性伸縮

newben和k8s均可以支援cpu的彈性伸縮。

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

l負載均衡

newben和k8s均可實作負載均衡和高可用叢集。

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

l排程規則

k8s的排程規則基于标簽選擇器,而newben則同時基于标簽選擇和指定主機名。

那些影響傳統PaaS平台結構的容器編排工具 作者:精靈雲

結語

對企業而言,編排工具是容器應用成功的關鍵,最主流的paas解決方案已經擁抱容器,并有新的paas 建立在容器編排之上實作管理平台。企業可以選擇面向it運維,部署核心容器編排工具,或面向開發,使用paas平台。

推薦閱讀: