2020年,容器云原生技术火的不能再火了。
上半年,DOIT发布了《行业云原生应用白皮书》,下半年,阿里云发布《云原生架构白皮书》,腾讯云发布《腾讯云原生路线图手册》,华为云也提出了云原生2.0的概念,总之,2020年的舆论场上,容器云原生很火,2021年也会继续。
在2020年12月召开的AWS re:invent上,AWS并没有发白皮书,也没有造新概念,而是老老实实发布了三款产品服务:
分别是面向公众的(有限)免费容器镜像库服务ECR Public,自动化的容器和Serverless部署工具AWS Proton,以及可以让EKS本地化部署的Kubernetes发行版——EKS Distro。
三个发布都非常具有代表性,最具有突破性的是AWS Proton,它是对开发和运维人员职责的一次调整,能让开发人员更专注于开发本身,是改变行业规则(Game Changer)的发布。
此外,AWS还发布了Docker Hub的免费替代品——ECR Public,开源了EKS源码的EKS Distro(EKS-D),它将EKS延展到更多环境中,可视为AWS混合云战略的一次重要操作。
接下来,对于容器方面的三大发布做逐一的介绍。
EKS Distro——AWS的Kubernetes发行版
EKS Distro(EKS-D)是AWS的Kubernetes发行版,所谓Kubernetes发行版,主要是为了解决Kubernetes太难用的问题,发行版在Kubernetes基础上做了许多延展,让更多人能方便地用起来。目前,常见的Kubernetes发行版有Rancher,OpenShift以及KubeSphere(注:KubeSphere与EKS配合使用,已上线AWS Quick Starts)。
与这几个不同的是,AWS的K8s发行版是从公有云商用服务EKS中发展而来的。EKS是AWS托管的Kubernetes服务,它省去了用户打理Kubernetes的麻烦。但是,考虑到并不是所有人都会用云上的EKS,于是,AWS发布了EKS同款的开源软件——EKS Distro。
作为Kubernetes发行版,我认为EKS Distro的优势可以总结为以下四点:
首先,节省成本。对用户来说,既然是开源的,那意味着收费上是免费的。
其次,高自由度,用户可以在任意喜欢的环境中部署,包括本地硬件以及包括AWS在内的各种云平台上,这种自由度不仅能保护原有投资,也能更好满足多样化需求。
第三点,可以避免合规性问题。由于合规和数据安全方面的顾虑,有些数据不能迁移上云,本地部署的K8s集群就显得非常有必要。
第四点,降低管理复杂度。由于K8s大概每三到四个月就更新一次,在本地使用K8s需要花大量时间跟进K8s的更新,如果跟不上这个节奏,那将面临许多风险,比如兼容性问题和安全风险。运行着一个不被支持的K8s就好比2021年还在用Windows 7一样,心里能踏实吗?
AWS在提供EKS服务过程中自然就成了K8s的专家,知道如何提供安全、稳定、可靠的K8s服务,而这些经验都将输出到EKS的发行版中。
EKS Distro提供Amazon EKS用的安装代码,含有上游开源的Kubernetes组件和第三方工具,包括数据库、网络、存储等创建集群必要的组件,还有各种依赖包和更新补丁。EKS Distro目前已经可用,可以从Github上下载(https://github.com/aws/eks-distro)和测试。
更新节奏上,每当Amazon EKS更新后,EKS Distro都会很快跟进,EKS Distro所有代码都是开源的,所有工具都是开源的,同时,也提供了统一的参考配置,以便可重复构建一致的K8s环境,也便于EKS Distro与Amazon EKS保持一致,用统一的API来对接管理。
不难发现,发布EKS Distro最大的意义是延展Amazon EKS的生态,让用户在本地更多环境中建立与Amazon EKS对接的环境,让应用在云上、本地以及更多环境中运行,并能自由流动,实现混合云战略,
2021年,AWS还计划发布EKS Anywhere,将提供可安装的软件包来让用户在本地创建和运行K8s集群,会提供自动化的K8s集群生命周期管理工具,让用户可以在生产环境中进行备份、恢复、补丁、升级等操作,并尽可能保持业务的连续性。
ECS是AWS自己开发的容器服务,与EKS的定位相似。2021年,AWS还计划发布ECS Anywhere,将ECS部署在本地。
张侠介绍说,有了ECS Anywhere,客户就完全可以在on-premises环境中部署ECS的集群,通过ECS Anywhere把云上和云下的ECS都通过一套API来统一管理。
从EKS Distro,到EKS Anywhere,再到ECS Anywhere,瞄准的都是用户本地环境,都是混合云战略的一部分。
结语
三个关于容器云原生的发布中,ECR Public有助于构建容器生态,EKS Distro(EKS-D)是AWS在混合云战略上的一个重要操作。
AWS Proton将改变开发和运维人员权责界线,让开发人员更专注于开发本身,说是改变行业规则(Game Changer)的发布也不过分,权责的重新划分关系不仅是谁承担的工作量变多的问题,而且还有出了事儿谁负责的问题。但好在这一趋势越来越明显,这一转变的推进也是势在必行的。
注:
全文分为上中下三篇,此为下篇