AWS Elastic Container Service (ECS) 是 Amazon 自主研發的容器編排平台。它在易用性方面表現出色,但它真的能取代 Kubernetes 這個非常受歡迎的容器編排事實標準嗎?
在本文中,我們認為將 ECS 與普通 Kubernetes 進行比較並不完全準確,因為 ECS 提供了 Kubernetes 無法提供的完全託管體驗。我們還回顧了 Amazon Elastic Kubernetes Service(EKS)作為第三種選擇,使競爭環境更加公平。此外,我們將展示 NetApp Cloud Volumes ONTAP如何協助 在 AWS 上為 ECS、EKS 或純 Kubernetes 環境配置儲存空間。
本文將介紹以下內容:
Amazon Elastic Container Service(Amazon ECS)是一種容器協調服務,可執行和管理 Docker 容器。它在 Amazon 雲端上執行虛擬機器叢集,同時跨多個可用區域(AZ)管理、擴充和排程這些機器上的容器群組。
ECS 提供了一種便捷的程式設計方式來檢查和修改叢集的狀態,對容器執行操作,並直接存取與叢集相關的 Amazon 服務,例如 IAM、CloudWatch 和 CloudTrail。
圖片來源:AWS
Amazon ECS 的優勢包括:
Kubernetes 是一個開源的容器編排框架。它最初由 Google 開發,基於其多年運行全球最大規模容器化系統的經驗。Kubernetes 已被廣泛採用,如今已成為容器編排的事實標準。
Kubernetes 的主要特性包括服務發現和負載平衡、儲存編排持久性儲存、容器化應用程式的自動回滾、Kubernetes 叢集的自我修復、金鑰和設定管理。
圖片來源:Kubernetes.io
將 Kubernetes 與 Amazon ECS 進行比較並不完全公平。Amazon ECS 在一個產品中提供了兩個要素:容器編排平台和負責運行該平台並配置硬體資源的託管服務。而 Kubernetes 只提供了其中一個要素。
越來越多的組織開始採用託管式 Kubernetes 服務,這些服務可以降低 Kubernetes 的複雜性,並幫助他們更快地將 Kubernetes 部署到生產環境。例如,Amazon Elastic Kubernetes Service(EKS)、Azure Kubernetes Service(AKS)和 Google Kubernetes Engine(GKE)等服務就屬於這類。這些服務為 Kubernetes 增加了一個管理層,使其完全可以與 Amazon ECS 相媲美。
Kubernetes 的優點包括:
AWS ECS 提供了在 AWS 中管理容器服務的方法,但如果您想在 AWS 服務內部執行 Kubernetes 該怎麼辦?Amazon Elastic Kubernetes Service(Amazon EKS)是 AWS 中用於管理 Kubernetes 的平台。它已獲得 Kubernetes 專案的認證,因此可以保證運行您在 Kubernetes 生態系統中使用的任何現有應用程式、工具或外掛程式。
以下是 ECS 和 EKS 之間的一些主要差異。
| Amazon ECS | Amazon EKS | |
| 定價 | ECS 本身是免費的,您只需為 使用的 Amazon EC2 資源付費。 |
EKS 管理層每個叢集每月需額外支付 144 美元。 |
| 易於部署 | 直接從 AWS 管理主控台無縫部署任務。 | 透過 Kops 或 CloudFormation 模板配置和部署集群,這更加複雜。 |
| 相容性 | Amazon 專屬。 | 支援多雲端和混合雲部署。 |
在 Amazon ECS、EKS 和自架 Kubernetes 之間進行選擇取決於專案的規模和性質:
在部署容器化工作負載時,Kubernetes 和 Amazon ECS 都存在一些局限性,如果沒有輔助工具,可能會阻礙它們在企業級應用。例如,當容器中的資料需要持久性儲存時(例如資料庫),成本可能是一個相當大的因素。如果容器中的資料需要用於測試目的呢?這時,NetApp Cloud Volumes ONTAP 就能派上用場了。
NetApp Cloud Volumes ONTAP 是領先的企業級資料管理解決方案,提供基於 AWS、Azure 和 Google Cloud 雲端運算和儲存的安全可靠的儲存管理服務。透過 NetApp Trident,無需使用者任何操作,即可自動動態佈建 Azure Disk、Amazon EBS 或 Google Persistent Disk 上的儲存磁碟區。
Cloud Volumes ONTAP 支援企業級用例,例如檔案服務、資料庫、DevOps 和應用程式工作負載。在 Kubernetes 儲存解決方案方面 Cloud Volumes ONTAP 為容器化工作負載的持久性儲存需求提供Kubernetes 整合功能,並支援一系列雲端原生環境無法提供的強大特性,包括:KubernetesNFS 共享、高可用性、經濟高效的持久性資料儲存保護、透過 NetApp 儲存效率功能降低 Kubernetes 雲端儲存成本、雲端自動化等。