对于云服务提供商对Kubernetes的立场
触发
我想知道为什么Amazon在已经有ECS作为容器管理服务的情况下还选择支持Kubernetes的EKS。
我研究了Amazon、Google和Microsoft各自对Kubernetes的立场。
谷歌
Kubernetes最初由Google开发,并且给人留下了非常支持Kubernetes的印象。
虽然这是一篇以Istio和Knative为主题的采访,但是我们可以很清楚地了解到Google的立场。
在采访中,我向Google的Urs Hölzle先生问到,Istio和Knative的目标是云端解锁。
云供应商可以竞争实施的优劣。然而,运维API应该是统一的。因此,运维API必须是开源的。
云计算将永远不同于其他产品。以GCP的产品为例,BigQuery和Cloud Spanner都拥有独特的功能,它们不是开源的。在这些产品中进行差异化是理所当然的。我们关注的是,“尽管云计算中的API有80%具有类似的功能,但它们却不同”的事实。
在应用层面上并不是决定胜负的因素。一旦在应用层面上被锁定,迁移的难度就会增加,无法夺取AWS的份额。作为用户,也应尽量避免供应商锁定。
同时,谷歌云宣布推出了自己的本地版GKE,在混合云方面,Kubernetes发挥着重要的作用。在某些企业无法将全部内容转移到云端之际,能够统一管理云端和本地的双重环境,能够减轻运营负担,具有一定优势。这能够降低企业使用云端的门槛,对谷歌来说也是有利的。
亚马逊
我刚刚发现了这篇文章。
我询问了Cockcroft先生,为什么AWS在有ECS的情况下还启动了Kubernetes服务。
现在,作为自动化数据中心的通用方法,大家对Kubernetes非常关注。另一方面,由于ECS只能在AWS上使用,所以无法满足这些需求。
关于使用Kubernetes提供服务,我认为有两点可以说。
第一点是人们希望在数据中心中做与云端相同的事情。在这种情况下,使用相同的解决方案即成为需求。
…
另一方面,我们也需要考虑创业公司和开发人员构建新应用的情况。这些人们注重炙手可热的技术,并且倾向于开发自己的应用。Kubernetes和无服务器架构可能成为这种“炙手可热的技术”。换句话说,AWS选择采用Kubernetes作为服务的原因是“可移植性”和功能性。
没错,正是这样。
因为Amazon意识到了混合云和初创企业的需求,所以也实现了对Kubernetes的支持。迅速满足这类需求正是Amazon的优势所在。
微软
正如本文所述,Google之后Microsoft也开始支持Kubernetes。这一举措加强了Kubernetes成为事实标准的势头。而且,Microsoft还收购了Deis公司,他们正在开发Kubernetes工具,这显示了他们的认真程度。
在2018年的Build大会上,Microsoft的Gabe Monroy与关于Azure Kubernetes Service的问题进行了问答互动。
选择Kubernetes服务时不容忽视的是,并非所有事物都在Kubernetes上运行。系统还依赖于数据存储、队列、函数和其他服务等,但其中很多并不在Kubernetes上运行。因此,在Kubernetes服务中,最重要的区别因素是它在哪个云平台上运行。
总结
不仅仅是谷歌、微软和亚马逊,阿里巴巴、IBM等公司也提供Kubernetes服务,可以肯定Kubernetes已经成为事实上的标准。亚马逊也无法逆潮流而动。作为云服务提供商,亚马逊将会加强对Kubernetes的支持,并且与自家的周边服务深度整合,以实现差异化。