AWS的容器編排平臺有三個主要選項,每個都有自己的優(yōu)點和缺點。企業(yè)做出的選擇最終將取決于其業(yè)務需求和持續(xù)的維護能力。
為了幫助企業(yè)做出決定,以下是每種托管容器編排的優(yōu)缺點:
彈性容器服務(ECS):原生選擇
彈性容器服務(ECS)是AWS公司推出的第一個托管容器編排產品。對于許多人來說,這是最簡單的選擇,并且它當然具有最少的組件數(shù)量。
作為一個高度集成的編排平臺,對于任何對AWS生態(tài)系統(tǒng)感到滿意并希望獲得AWS服務和支持的好處和熟悉度的人來說,這都是一個絕佳的選擇。它也具有成本效益,因為企業(yè)不必為使用其控制平臺支付費用,并且可以使用內置的AWS代碼工具,還可以享受服務和任務的細粒度身份和訪問管理(IAM)。
當企業(yè)要將應用程序部署到彈性容器服務(ECS)上時,可以分別為每個應用程序定義操作,例如,指示哪些容器可以訪問S3,哪些容器沒有訪問權限。
彈性容器服務(ECS)什么時候不是最好的選擇?
作為專有的AWS解決方案,如果企業(yè)使用彈性容器服務(ECS),則將應用程序克隆到其他云計算供應商并不是一件容易的事。此外,業(yè)務流程平臺對路由的支持有限,目前僅支持基于路徑的路由,不支持基于主機的路由。要考慮的另一個因素是,彈性容器服務(ECS)對狀態(tài)更改的響應比三個云計算行業(yè)巨頭中的其他服務器響應還要慢,因此,如果企業(yè)要尋求高性能的解決方案,那就不是最好的選擇。
彈性容器服務(ECS)適合誰?
如果企業(yè)希望進行一個物有所值的投資,而這些因素都不適合,那么彈性容器服務(ECS)是一個不錯的初學者選擇,對于沒有經驗豐富的DevOps進行業(yè)務編排的任何企業(yè)和用戶來說,它都是完美的選擇。如果企業(yè)要在云平臺上部署的服務數(shù)量有限(少于10個),建議可以這樣做。否則將會使解決方案變得更加復雜,企業(yè)可能會發(fā)現(xiàn)彈性容器服務(ECS)可能更適合。
EKS:Kubernetes的選擇
EKS是AWS的Kubernetes產品,Kubernetes是一種流行的開源容器編排平臺。由于EKS是AWS公司的托管服務,因此消除了Kubernetes的初始安裝和維護帶來的許多麻煩。
Amazon EKS在Kubernetes上運行。它的風格不同,因此企業(yè)獲得的功能與創(chuàng)建自己的Kubernetes集群時相同,如果將來要運行多云,則可以輕松克隆該平臺。
作為一個開源平臺,EKS受益于大量的開發(fā)人員,他們不斷開發(fā)和改進這種技術,積極地開發(fā)新功能。值得一提的獨特賣點包括空間隔離,企業(yè)可以在其中用邏輯邊界分割集群,例如,限制開發(fā)人員使用特定數(shù)量的集群資源。此外,它還提供了運行Cron作業(yè)和有狀態(tài)工作負載的功能。
與彈性容器服務(ECS)相比,EKS的部署時間要快得多,只需幾秒鐘,因此企業(yè)每天可以部署幾次,并且快速反饋更改??梢允褂肒ubectl命令行工具聲明所有內容,并且有很多集成。這些功能包括服務到服務的通信以及Pod和Worker節(jié)點的本地擴展,使企業(yè)的開發(fā)人員可以專注于其業(yè)務邏輯并提供新功能。在此需介紹Helm,這是一個程序包管理器,它具有將多個應用程序或業(yè)務邏輯捆綁在一起以用于整體部署和更新整個單元的功能。
使用EKS應該注意什么?
人們必須意識到,Kubernetes只適合一部分企業(yè)。企業(yè)每個月將增加控制平臺的成本,并且學習曲線比使用彈性容器服務(ECS)時要陡得多,并且目前與AWS云平臺的集成較少。與彈性容器服務(ECS)不同,AWS公司的身份和訪問管理(IAM)不是內置的,因此企業(yè)的開發(fā)人員或DevOps將需要安裝其他工具來實現(xiàn)此功能。
另一個嚴重的限制是容器密度,這是EKS的獨特問題。每個容器(pod)都綁定到虛擬私有云(VPC)中的某個專用IP,并且如果企業(yè)的應用程序使用許多副本或微服務,則集群可以擴展,但不是由于企業(yè)的實例耗盡了CPU或內存,而是因為實例已經運行IP分配給工作節(jié)點。
這將導致額外的成本,并且可能會受到限制,因為企業(yè)的開發(fā)人員將為工作節(jié)點使用的較小實例提供有限的IP。如果企業(yè)的微服務快速并且大規(guī)模擴展,這是需要考慮的一個重要因素。
EKS適合誰?
這里的關鍵問題是,一旦安裝完成,誰將負責獲得它的所有權?管理和維護EKS需要專門的專家,如果企業(yè)沒有人手,則另一種選擇可能更合適。
Fargate:容器按需選擇
有了Fargate,這將是一個全新的游戲。企業(yè)無需創(chuàng)建自己的控制平臺或實例,不需要集群,也不需要基礎設施升級或維護。與其相反,企業(yè)可以指定要使用多少資源,并按需付費。這使企業(yè)有機會專注于應用程序的設計和構建,而不必擔心底層基礎設施。
Fargate最棒的地方就是可以快速地橫向擴展,也就是按需擴展的能力。開發(fā)人員只需創(chuàng)建容器并部署到Fargate服務。其設置簡單,無需學習。
Fargate不適合有狀態(tài)工作負載,它要求企業(yè)的應用程序是無狀態(tài)的,這是某些公司不選擇Fargate的主要原因之一。此外,盡管能夠在短時間內進行擴展是令人興奮的,但可能沒有多少用戶需要此功能。
誰最適合Fargate?
企業(yè)需要了解其預算是否適合選擇Fargate而不是投資DevOps團隊,以及了解其按需擴展的好處是否值得更多投資。如果企業(yè)只有少量服務,則很有可能。
對于許多人來說,F(xiàn)argate可以很好地用作混合解決方案,從而使企業(yè)的應用程序可以按需擴展以實現(xiàn)按需任務,而不必全天候使用。另一個考慮因素是隔離那些資源使用量激增的工作負載,并在Fargate上運行它們,以最大程度地減少對彈性容器服務(ECS)或EKS集群性能的影響。
最后,EKS是容器編排中越來越受歡迎的選擇,但這并不意味著它是滿足企業(yè)業(yè)務需求的最適合的解決方案。需要記住,更多的特性和功能會帶來更多的復雜性,并且管理生態(tài)系統(tǒng)將需要更多的資源。因此,企業(yè)在選擇AWS容器編排平臺之前需要確定是否符合自己的最大利益。
版權聲明:本文為企業(yè)網D1Net編譯,轉載需注明出處為:企業(yè)網D1Net,如果不注明出處,企業(yè)網D1Net將保留追究其法律責任的權利。