來源:計算機世界
託管Kubernetes服務儼然已經成熟,已經到了許多企業紛紛將核心叢集交給託管服務提供商的程度。本文解釋了推動這股潮流的幾個主要幕後因素。
將企業的Kubernetes叢集交給託管服務提供商感覺就像把孩子送到大學裡一樣,一開始不放心,但最終需要自己要做的事情少了很多。
在過去幾年,三大公有云提供商亞馬遜雲服務(AWS)、谷歌雲和微軟Azure的託管Kubernetes方案(又叫Kubernetes即服務,KaaS)都取得了長足的進步,幫助客戶執行和編排他們的容器化工作負載,無需瞭解YAML配置檔案的基本細節,也無需操心自動擴充套件、更新和叢集管理。
Stephen O'Grady是面向開發人員的調研公司RedMonk的聯合創始人,他說:"當企業認為某個系統具有戰略意義時,本意是想自己執行。後來隨著逐漸適應,他們漸漸認識到:自己執行沒有帶來任何競爭優勢,供應商有可能比他們執行得更好。"他補充道:"每家企業都在走這條路嗎?還沒有,但是走這條路的願望和方向似乎很明確。"
以下是考慮採用託管Kubernetes服務的六大原因:
降低管理成本
不妨先從一個顯而易見的原因說起。Sylvain Roy是旅遊業技術公司艾瑪迪斯(Amadeus)主管技術平臺和工程的高階副總裁,他說:"要弄清楚一點,我們的工作量減少了。有人替我們執行,這很重要,因為我們很難僱傭到執行Kubernetes所需的所有人。"
同樣,自2006年以來,建築公司Strabag的一小群工程師就一直在自己執行容器,在過去四年裡,他們改用了自我管理的開源Docker和Kubernetes環境。現在,這群人正考慮儘可能提高叢集管理的自動化程度,他們決定:更新改造現有的應用程式,將管理底層Kubernetes叢集的任務移交給谷歌雲;或者授權開發人員使用Anthos服務,在雲端或混合環境中執行新的應用程式,特別是需要一些本地資料傳輸時。
Strabag的雲服務團隊負責人Mario Kleinasser說:"首先要移交適合移交的任務。"
金融資料巨頭彭博社計算基礎架構主管Andrey Rybka也表示,"如果沒有SRE(軟體可靠性工程)團隊或管理Kubernetes釋出週期的團隊,對專注於執行應用程式、不想管理Kubernetes的那些企業來說,充分利用託管供應商是合理的舉措。"
如今,彭博社仍在本地執行大部分的Kubernetes工作負載,但它也開始在適當的情況下將三大雲供應商都用於託管的工作負載。
只需要少數專家
Kubernetes的管理技能很難獲得,且成本很高,自行編寫YAML配置檔案更是如此。即便你有可以手動調整Kubernetes叢集的人員,也可能需要把較為普通的工作負載叢集管理任務交給供應商,而讓自己的人員騰出手來管理內部平臺或任何特別重要或棘手的工作負載。
艾瑪迪斯的Roy說:"獲得和留住這些技術所需的人並非易事,這顯然是個挑戰。"
更好的可靠性
簡而言之,基於工程團隊的規模、客戶部署的多樣性,以及可以訪問這些部署環境底層的遙測資料,大型雲供應商常常比你自己更有能力管理Kubernetes叢集。
RedMonk的O'Grady說:"供應商很可能更好地執行Kubernetes叢集。供應商有遙測資料,其優勢在於可以看到所有客戶執行叢集的情況,而不像單個企業只有自己的資料模型可供使用。"
以彭博社為例,它在2015年的盛行期轉而採用Kubernetes,當時Kubernetes仍只是alpha測試版。等到執行結果證明:必要的持續整合、監控、測試與預期相符,Kubernetes就在2017年進入到了生產環境。Rybka表示,雖然彭博社的工程師仍在很大程度上為本地應用程式自行管理Kubernetes叢集,但是當工作負載在公有云上執行時,使用託管方案顯得越來越合理,"從可靠性的角度來看"更是如此。
不用擔心升級和補丁
對於自行管理Kubernetes的任何企業來說,升級和補丁是最枯燥乏味的兩項工作,這就是為什麼託管提供商優先考慮替您處理這些任務。
AWS計算服務副總裁Deepak Singh說:"自行打補丁、更新和管理Kubernetes非常複雜,而且是完全沒有樂趣的苦差事。"
保持雲發展勢頭
對於大力推行公有云優先策略的組織而言,採用更多的託管服務有助於提升勢頭。
艾瑪迪斯最近與微軟簽署了一筆交易,就是為了做到這一點。Roy說:"公有云發展迅猛,我們希望從中受益,於是我們每次都會考慮使用更多的託管服務。在我看來,這是得益於這股勢頭的途徑。"
現在,供應商們正將各自在Kubernetes最佳實踐方面的知識和經驗轉化為更自成一體的Kubernetes服務版本,並簡化了採用路徑,比如GKE Autopilot。
谷歌的首席工程師Kelsey Hightower說:"一些人會將Autopilot視為備胎,而我將其視為安全帶。汽車行駛的速度一樣,但預設情況下更安全,這是一種萬無一失的配置。人們總是問我們有何最佳實踐、問他們要做出什麼樣的決定,Autopilot給出了答案。"
同樣,AWS的Singh表示,該公司正變得更擅長運用大規模執行Kubernetes所獲得的經驗,將這種"運作經驗結合到EKS中……這讓我們的服務提供商可以將其直接整合到這些託管服務中。這是你會看到這股潮流愈演愈烈的另一個原因。"
然而,這類服務往往讓人擔心供應商鎖定。"之所以Autopilot比較難選擇,是由於這個問題:既然沒人另換供應商,為什麼關注Kubernetes這個中介軟體層。答案是我可以撒手不管。"RedMonk的O'Grady說,"你越依賴針對特定供應商的選項,越無法做到可以撒手不管,因此這對企業而言是艱難的選擇。"
是開源、可移植的
託管提供商必須贏得開源社群和客戶的信任,客戶要確保自己使用的Kubernetes發行版儘可能接近普通開源版本,以提高可移植性,並避免鎖定現象。
谷歌的Hightower說:"Kubernetes面市時,有人擔心它是掛羊頭賣狗肉,是供應商與開放社群搶地盤,它會演變成開放核心。差不多過了五六年,才證明並非如此。"
同樣,AWS的Singh表示,對一些客戶而言,EKS與Kubernetes的開源發行版保持關係密切很重要,"沒有會造成差異的怪異巫術。"AWS最近在GitHub上開源其EKS發行版,證明了這一點。
Kubernetes的聯合創始人兼VMware Tanzu的首席工程師Joe Beda承認:"談到這個話題很難不提到鎖定。"他敦促做出這種購買決定的任何人都應適當評估風險。
Beda說:"你離開的可能性有多大?如果離開,遷移成本會有多大?你需要重寫多少程式碼、需要多少的再培訓?這方面進行投入的任何人都需要了解面臨的需求、風險和取捨。"
雲原生計算基金會(CNCF)開展了一項Kubernetes認證合格計劃,該計劃確保一套安裝系統與下一套安裝系統可實現互操作性,不管認證的供應商是哪一家。
那麼,為什麼有的企業沒有選擇它?
對於艾瑪迪斯和彭博社等龐大的複雜組織而言,無論是敏感資料安全問題、棘手的本地依賴項還是過度保護的平臺團隊想要手動調整自己的叢集,可能總會有一些工作負載是你不放心交給託管服務提供商處理的。
谷歌的Hightower說:"那些想要自我管理部件/元件的人會擔心資料平面;他們需要在某些方面進行定製或專門化。他們不介意託管的控制平面。"
然而實際上,自己執行Kubernetes的種種理由變得越來越缺乏說服力。
RedMonk的O'Grady說:"也許你認為這是一項現有投入,沒有人希望將其作為沉沒成本一筆勾銷,或者偏於保守的組織對一系列工作負載或業務交給外人心存擔憂。或者有人會為一部分具有戰略意義的基礎設施不受自己控制而擔憂。但是當你看到同行採用託管方案時,這種擔憂就會煙消雲散,你會看到更多人在獲得切實的好處。"
本文來自【計算機世界】,僅代表作者觀點。全國黨媒資訊公共平臺提供資訊釋出傳播服務。
ID:jrtt