@levinzhang
2019-11-10T20:36:28.000000Z
字数 1820
阅读 543
by
Matthias Haeussler和Dr Nic Williams在今年的SpringOne Platform 2019大会上讨论了不同的云平台并站在开发人员的角度对它们进行了对比。
Matthias Haeussler和Dr Nic Williams在今年的SpringOne Platform 2019大会上讨论了不同的云平台并站在开发人员的角度对它们进行了对比。他们讨论了Cloud Foundry、Kubernetes、Eirini项目和Knative无服务器平台。
在演讲的开头,Haeussler和Williams首先回顾了容器和平台和历史。这段历史从1979年的chroot开始一直到2018年的Knative和Eirini项目,他们还讨论了Cloud Foundry和Kubernetes平台的基础理念。他们认为平台应该为开发人员提供自助服务,为所有支持的角色提供UX,以及自动化&监控、自愈和资源优化。平台应该以基础设施为中心,而不应以应用为中心。
他们建议开发人员避免“非我所创平台(Not Invented Here Platform)”(Not Invented Here指的是人们基于这样或那样的原因,避免使用或购买已经存在的产品,参见维基百科对它的阐述。——译者注)的反模式。如果你没有使用平台的话,那么你肯定就是在构架自己的平台。没有意识到这一点并不能改变你正在DIY自己的云平台的事实。标准的平台可能无法让你做任何想做的事情,但是它们可以满足你在平台方面的大多数需求。
Haeussler展示了将应用部署到不同云平台的样例。Cloud Foundry应用部署要使用像cf push
、cf scale
和cf ssh
这样的命令。
Eirini项目是针对Cloud Foundry的Kubernetes后端。它使用OCI镜像将应用部署到Kubernetes引擎中。运维人员可以选择使用Diego或Kubernetes来编排应用容器实例。
Quarks项目是来自Cloud Foundry基金会的另一项贡献,它能够将Cloud Foundry应用运行时(Cloud Foundry Application Runtime,CFAR)打包成容器而不是虚拟机,这样的话更易于部署到Kubernetes中。容器化的CFAR提供与BOSH管理的Cloud Foundry安装包相同的开发人员体验。你可以在应用程序中同时使用Eirini和Quarks。
Haeussler和Williams还谈到了Cloud Native Build Packs,这是CNCF托管的一个项目,可以用做将应用程序交付到云平台的标准构建和部署过程,开发人员不必再担心应用程序会部署在哪个特定平台上。工程师可以在本地计算机或集群中使用这些构建包。该项目还有助于重新设置容器中的层,对现有OCI镜像进行操作系统更新、漏洞检测以及将更新部署到集群中的所有容器。
接下来,他们讨论了kpack工具,这是一个Kubernetes原生容器构建服务,它利用Kubernetes原语提供OCI镜像的构建,以此作为Cloud Native Build Packs的平台实现。kpack是Pivotal Build Service的一部分。有关此新构建工具的更多信息,请查看它们的教程。另一个名为Open Service Broker的计划有助于让Cloud Foundry“即插即用”。Open Service Broker API项目允许云供应商向在Cloud Foundry和Kubernetes等云原生平台上运行的工作负载提供支撑服务。
他们还展示了如何在云原生应用中使用Istio服务网格。Knative平台有助于构建和部署,并可以管理组织中的所有的无服务器工作负载。它为Kubernetes上的云原生应用程序提供了缩放至零、自动伸缩、集群内构建以及事件框架等特性。
关于这次演讲的更多细节,你可以参考文稿或视频录像。你也可以通过SpringOne 2019大会上Emily Casey和Joe Kutner所做的演讲来了解Kubenetes上的Cloud-Native Buildpacks。
查看英文原文:Platforms Demystified: Cloud Foundry, Kubernetes, Eirini, and Knative