谷歌、微軟、亞馬遜Kubernetes服務大比拼
譯者注: 本文帶有一些主觀色彩,作者的觀點是否客觀我還沒有去考證,僅供參考。以下是對本文中一些縮寫的解釋: Google GKE = Google Kubernetes Engine Microsoft AKS = Microsoft Azure Kubernetes Services Amazon EKS = Amazon Elastic Container Service for Kubernetes
之前已經有非常多關於這些託管在雲上的Kubernetes供應商之間的對比,但是,或許這次的對比是最有誠意的。
下面是一張Google表格的截圖,它對比了GKE、AKS和EKS。你可能注意到有些格子裡面已經有了評論。這些評論會連結到我獲取資訊的地方。
更新:這份表格現在也包含了IBM IKS和阿里雲ACK。
如果有任何不正確的地方,請在 ofollow,noindex" target="_blank">表格裡寫下評論 或者在文章下面給我留言。
這將會是一次殘酷的對比,如果有人能提供一些事實依據,我會很樂意改變我的想法。
就目前的情況,我用過EKS,也是AWS的重度使用者。我還接觸過一點GKE,但那只是不久前我出於個人目的,製作Kubernetes The Hard way這個教程時在GKE上啟了一個簡單快速的測試叢集。我挺想多使用一下GKE的,但公司裡用得是AWS。
自從去年我用了幾個月的Azure之後,就一直想回避它。當時我是微軟的一個合作伙伴,所以免不了要使用Azure。它的部分功能還不錯,但是使用者體驗和亞馬遜相比真是天壤之別。
我會根據不同的場景將我的建議分類。
新上的專案
我一直在試著權衡是否建議人們去評估谷歌、亞馬遜以及微軟提供的所有云服務。Kubernetes只是一個大型系統中的單一元件,還有其他的因素會影響我們的決定。但不管怎樣,其實現在各個雲廠商所提供的功能和服務並沒有太大的不同。
當然市場團隊可能會說並非如此,但當你看看大部分公司所需要的那些功能特性,其實那些雲廠商都能提供。
所以我們就簡單粗暴一點,比如你就只想用Kubernetes。那答案很清晰,就選GKE吧。
為什麼?因為用幾乎每一種可量化的方式將它與競爭對手相比,它都是更便宜、更快、更好的那個。
你可能會覺得叢集建立時間並不是什麼大問題,3分鐘和20分鐘相比沒什麼區別。畢竟你有多少次會去真正建立一個叢集呢?好吧,如果要花費20多分鐘而且有時還會報錯,那確實不會經常去建立,因為你會為了適應它而去改變自己的整個工作流程。
但是,如果建立叢集只需要3分鐘,那你會發現你所用的測試基礎架構是可以隨時丟棄重建的,這會是一種完全不同的工作方式。
網路功能是另外一個因素,谷歌在這方面可是甩開其他對手10條街的水平。在高可用和擴充套件性方面也差不多。
我不會說表格中的每一行都是一個原因,因為我覺得資料不言自明。
我們已經被AWS綁定了
那你可能沒有太多的選擇,光是一個Kubernetes還不足以成為遷移到其他雲平臺的理由。
希望你能看到這次對比並且認識到情況可能會更糟。EKS剛推出不久,亞馬遜團隊會快速迭代。我對於亞馬遜能否在網路效能或者虛擬機器啟動時間上趕上谷歌持懷疑態度,但情況還是可以忍受的。
如果他們能在主節點上啟用預設的准入控制器就好了。還有,我完全不明白為什麼建立叢集會這麼慢。我在工作中測量過叢集構建時間,每次都要花大約20分鐘才能達到我能在上面跑整合測試的狀態。
更新:准入控制器已經被加上了。
另一個煩人的地方是缺少工作節點的管理。希望EKS的工程師們能像GKE那樣都打包整合好。
有意思的是我注意到EKS居然支援i3.metal例項,這是Kubernetes支援裸金屬工作節點的唯一解決方案。這對於一些使用者來說可能會有用。
我的公司正在考慮用Azure
同樣的,你真正能做的也不多。我的建議是準備一個demo來對比AKS和GKE,試著將開放人員的經驗傳遞給做決定的人。
給他們展示Azure上的某些操作是如何通過一個難用的互動頁面才能完成,其他的需要Powershell,還有一些亂七八糟的還要用到命令列。試著讓人們去說明操作緩慢的原因,以及它在整體上是如何影響DevOps流水線和自動化的。沒錯,你確實能讓Azure跑起來,但生活已經如此艱難,為什麼不讓自己輕鬆一點呢?
有可能你被類似Active Directory這樣的需求所綁架了,那就真的是不走運了。
我說下面這句話的時候是很認真的:如果我所在的公司決定遷移到Azure上,我會重新找一份工作的。順便說一句,情況並非總是如此。我年輕的時候管理過Windows伺服器,當時每個禮拜我都要修復損壞的TFS(Team Foundation Server),還要走進機房去更換磁帶。
現如今我想要用程式設計的方式來控制基礎架構。所以它需要高效又沒有太多Bug,這樣我才能在上面去構建一些酷炫的自動化工程。而在Azure這樣的產品上工作,尤其是我還用了好多年的AWS,真的會讓人感到絕望。
更新:為了量化Azure AKS到底有多慢以及有多少bug,有可能會想看看 Dolos專案 。
對於所有那些正在從本地資料中心往Azure上遷移的人來說,在敏捷性方面可能會是一個進步,所以我祝你好運吧。
好了,現在你清楚了!這個網站需要對比跑在雲上的Kubernetes服務。我的建議是隻要有可能就用谷歌 GKE.如果你已經上了AWS,那麼就試試EKS吧,但現階段它真的給不了你太多東西。在他們將可管理的工作節點以及其他一些功能整合之前,你可能最好先看看 Kops 和一些其他的雲產品。
原文連結: Google GKE vs Microsoft AKS vs Amazon EKS (翻譯:趙晨 產品經理@沃趣科技)