IT企業是如何選擇容器管理平台的

對IT企業而言,很難確定哪個容器管理工具是最好的。對某一個企業來說複雜的東西,或許對另一個企業而言是靈活且易於擴展的。IT團隊一般是通過考量對工具的支持、交互操作性這些方面,來確定哪一個工具是適合自己的。

一個IT企業擁有50個本地數據中心,而另一家是完全在雲上部署,那麼它們對於容器管理軟體就有不同的需求。

每個公司和團隊在部署容器上都有不同的目標和需求。在選擇容器管理平台時,技術差異雖然不是唯一的,但卻是最大的影響因素之一。

員工的能力、企業的預算、決策實施以及現有的生態系統和底層基礎設施,這些因素都在企業選擇相關服務商、工具、技術時起到重要的作用。

Bret Fisher,他是一名DevOps和Docker的顧問、培訓師和講師,同時也是開源社區的積极參与者,他在紐約的O'Reilly Velocity Conference 2017上表示:「很多人喜歡使用Docker產品,是因為Docker產品所提供的生命周期用戶體驗,以及對於簡單性和安全性的專註。有些人選擇Kubernetes,因為它看起來是目前最好的編排工具,而其他人則選擇Mesos和[Mesosphere] DC/OS,這是因為它們的靈活性和成熟度。」

Advertisements

管理工具的當前市場情況其實也反映出容器的成熟狀況。Fisher說:「我們現在正在為容器執行和容器鏡像進行標準化的定義。Kubernetes和Docker企業版(EE)這些容器管理平台間的差異性,這暗示著一場生態系統的競爭,不由得讓人聯想到iPhone和Droid手機間的交鋒。在編排和調度上它們有75%的特性是相似的,因此,爭奪的重點往往歸結到哪一個能讓用戶易於上手,且用戶體驗良好。

Dealer Tire是一個位於俄亥俄州克利夫蘭(Cleveland)的汽車行業分銷商。它在幾年前將自己的物理機器升級成虛擬機,現在它的Web平台運營團隊已經使用了6個月的容器技術,並在兩個數據中心的私有伺服器上用VMware虛擬化出主機層。他們對包括Docker、Kubernetes、Mesos和Rancher在內的容器管理工具進行了評估。

Advertisements

Web平台負責人Andrew Maurer說:「Mesos和Kubernetes看起來很複雜,團隊並不希望通過命令行界面來管理本地的Docker。而Rancher似乎是個不錯的選擇,入門的門檻低,而且在啟動和運行上也非常簡單。」

無關容器,還有內核問題!

Bret Fisher說:「團隊們在使用容器時會遇到許多難題,原因之一就是他們把應用都部署到更早的內核上,比如linux的3.10內核。現在的容器和編排器都使用了許多內核中的新特性,因此當用戶嘗試在老的Linux發行版上執行容器編排時,他們會遇到許多4.x內核系列中並不會出現的錯誤。」

「容器編排和部署對於IT的未來影響非常大——將如此多的工作負載塞到一個操作系統上——它們影響了如今Linux內核開發的方向,同時也影響到了Windows系統。」

「未來我們要將更多的容器整合到更少的操作系統上,我們正在努力突破這個限制,而這就意味著你需要去獲取最新的內核,」Fisher表示。操作系統必須更加高效地工作,並且以不同的方式進行管理,舉例子來說,現在操作系統要管理100個容器中的100個Apache進程,這些容器都部署在一個裝有一個操作系統的虛擬機上。而以前很有可能是使用100個虛擬機去一對一管理100個Apache進行,每一個虛擬機還需要運行完整的操作系統。

「Dealer Tire關注的不僅僅是容器的採用問題,還有如何改變對伺服器的使用方式,原先我們對待伺服器彷彿對待寵物般需要小心呵護,其實我們希望能讓伺服器變得像耕牛一樣能隨意使用、服務於我們即可。」Maurer說。

而與此同時,其他公司的IT團隊已經開始考慮採用原生Docker之外的工具了。

隨著Docker部署的增長,Cox Automotive的庫存解決方案部門正在評估Kubernetes和Mesos技術,該集團的生產工程總監Jason Riggins在San Diego舉辦的Delivery of Things World USA時已經針對公司的DevOps和雲採用方案進行了討論。

在選擇容器管理平台以及其他工具時,公司主要考量的指標是產品的穩定性。Riggins說:「我們知道如何快速迭代,但如果不好的東西也被快速迭代了,那情況只會更加不妙。」他的團隊也希望有一個原生Docker之外更動態的工具,特別是對容器鏡像倉庫能有優化。由此可見,不少企業對容器管理平台選擇,將取決於平台需要企業在維護和管理上的投入多少。

很多時候企業在選擇容器管理平台時的偏好,與企業本身是使用數據中心還是雲也有關係。Fisher說:「使用Google Cloud(平台)的多傾向於使用Kubernetes。而管理複雜的私有數據中心的人往往會考慮使用Mesos。不過隨著數據中心供應商開始支持Kubernetes和Docker企業版,這種情況開始發生變化。」Cox AutoMotive正在整合數據中心,同時還使用了公有雲,因此容器管理產品必須與本地的基礎設施和公有雲的部署配合使用。

Riggins表示, Cox對Kubernetes和Mesos評估的內容是要測試先前部署容器時出現的「scar tissue」。另外,在做出選擇時,同領域企業對技術的選擇以及實踐的經驗對他們而言也很有參考價值。

何時改變?

「大多數公司在從試點到大規模生產的整個過程中,都不會改變自己最初選擇的容器管理平台,只有在遇到瓶頸的時候才改變現有方案。容器編排的主要目標就是實現組件間更加靈活的整合。」Fisher說。

Social Tables,是一個實現了100%雲端本地化的Amazon Web Services用戶,它們放棄了最開始選擇的AWS彈性計算雲容器服務(ECS)。

「我們從ECS 切換到Rancher,是因為我們想從ELB(Elastic Load Balancing,彈性負載均衡)中遷移出來,運行我們自己的全球負載均衡服務,更好地控制我們的流量。」Michael Dumont是華盛頓一家公司的DevOps首席系統工程師,該公司提供社交活動策劃和管理SaaS服務。除此之外,該公司還需要Cassandra集群、Elasticsearch集群、Redis以及Prometheus的永久化存儲,通過Rancher還獲得了基於DNS的service discovery、Docker-Compose支持以及用於身份驗證和授權的GitHub OAuth集成。

雖然企業不太可能在投產後改變選擇容器編排方案,不過有時候它們也別無選擇。在這個特殊的階段,容器編排、調度、以及相關的存儲及網路管理工具都在不斷、快速地變化著。例如,Rancher Labs將在Rancher 2.0中全面擁抱Kubernetes。Maurer和Dumont都希望Rancher可以讓Rancher Kubernetes保持他們一直喜歡的極簡的操作體驗及友好的用戶界面,同時更加豐富它的功能。

新興技術,良好的技術支持是必須

對於IT企業來說,在快速迭代的環境中,考量任何新興的工具時,除了對必要的技術本身的考量,是否能得到良好的技術支持也是企業非常看重的。

Riggins表示,Cox Automotive會選擇支持Kubernetes或Mesos的版本,而不是單純的上游開源版本,因為開源版本在企業環境下,容器部署中的啟動和運行會出現問題。雖然他們的工程師熟悉開源版本,但對企業而言,如此操作仍然不是很合適。

在Dealer Tire對容器管理平台進行評估期間,Rancher技術支持團隊工程師們幫他們解決了不少技術問題。「而那時我們還沒有給Rancher付一分錢,」Maurer說。今天,他的團隊背後有企業的支持,他相信開源技術的商業版本是IT企業最好的選擇,IT企業希望業務能平滑安全地遷移到新領域,並且儘可能避免花費太多時間和金錢在尋找運行平台上。

「我在採購軟體上遇到的最大挑戰是,如果供應商給我們限制了兩周的試用期,我們真的是很難模擬真正的使用情況,」他說,「能夠部署、配置一些重要的東西然後做決定,這實際上很棒。我已經在軟體中投入了相當多的業務——我需要購買支持來確保我的業務順利進行下去。」

了解自身,合理規劃

Social Tables的cloud-native、startup pedigree就是為容器化而量身打造的案例,而企業的IT工程師也可以通過容器來滿足他們傳統的應用程序部署。

在Dealer Tire公司,Maurer的團隊從一個簡單的應用出發,這個應用並不是面向用戶的,而是作為容器的最低風險入口。該團隊與應用程序的所有者溝通,來決定哪些適合於容器而哪些不適合。100%的完全容器化對Dealer Tire來說應該是不可能的,但Maurer希望能將所有的Web應用容器化。而與此同時,公司會將新的軟體開發部署到容器中,他認為這是天賜良機。

Dealer Tire還決定在容器化上線之前保持原有的模式。Maurer說這回公司一次性做了太多的改變,把原有的工作轉換成了一個雲模型,而公司有些應用程序還不適用於雲上操作。但是,將這些工作負載封裝在Docker容器中,未來的雲遷移過程會變的更加順利。

「我們需要一定的時間去學習適應。因為這是一個新的系統,你必須在每個方面都設定新的期望值,」Maurer表示,「你在使用什麼目錄?你的日誌怎麼處理?錯誤和metrics怎麼處理?」在一切都穩定部署到伺服器上之前,目前的系統是暫時不夠穩定的。「這絕不是簡單的遷移到容器——因為你改變了一切環境。」Maurer如是說。

Advertisements

你可能會喜歡