亚马逊AWS官方博客

OpenSource | 本地云计算

去年 8 月份,Amazon Web Services 加入了 Cloud Native Computing Foundation (云原生计算基金会),我代表 AWS 担任 CNCF 董事成员,Arun Gupta 负责协调项目和工作组的技术行动。之后,我们为 CNCF 项目做出了几大贡献:在 re:Invent 大会上,Andy Jassy 宣布了 Amazon EKS,借此可以将 Kubernetes 作为一项服务极其方便地在 AWS 上运行。最近,在奥斯汀举行的云原生 Con/KubeCon 会议上,我进行了主题演讲

我通过个人博客介绍了我们最初宣布加入 CNCF 的情况。既然我们开设了专用的“AWS 开源”博客,那么就有必要介绍我们与 CNCF 合作的大致情况,以及我们后续的计划。

云原生架构充分利用按需交付、全球部署、弹性和高级服务。它们可以极大地提高开发人员生产力、业务敏捷性、可扩展性、可用性、利用率,并节约大量成本。

按需交付将交付时间从几周缩短为几分钟,这通常是人们移动到云的首要原因,但它并不仅仅会缩短传统应用程序的部署时间,还有助于采用一种全新的云原生模式来完成短暂且不可变的部署。在原来的部署模型中,获取资源需要几周时间,您要保留该模型,提前多订购一些容量,然后不情愿地归还,才能确定如何适当地对其进行更新。而云原生模式则是烘焙实例或构建容器,只在必要时部署许多相同的副本,在完成后将其关闭,并在代码每次发生变化时创建新映像。NetflixOSS 通过烘焙 Amazon 系统映像 (AMI) 率先运用了这些概念。Docker 随后将其用作 CNCF 所采用的容器部署模型的核心元素。

云原生架构可以扩展。2010 年,我首次介绍了 Netflix 对 AWS 的运用情况,我们在几千个 AWS 实例上运行前端应用程序,为美国境内的大约 1600 万客户提供支持。如今,Netflix 已完全迁移到 AWS,在全球拥有 1 亿多客户,并且在 10 万多个实例上运行。近年来,虽然实施详细信息发生了变化,但架构模式始终未变。

随着时间的推移,云原生架构的组件经历了从试验到竞争实施,再到完善的外部服务的变迁过程。我们通过数据库、数据科学管道、容器计划程序和监控工具见证了这一演变过程。在此过程中,Cloud Native Compute Foundation (云原生计算基金会,CNCF) 充当筛选者和聚合者。CNCF 的 Technical Oversight Committee (技术监督委员会,TOC) 负责审核项目、将其孵化,并在项目从试验阶段过渡到竞争实施阶段时加以采用。如果客户想要跟上快速变化且令人困惑的世界的脚步,那么选择 CNCF 认可的品牌会很有帮助,CNCF 将您感兴趣、有时具有竞争力的项目松散地集合在一起,而不是提供单个集成的云原生架构。对于 CNCF 成员或者项目用户来说,并不存在一个项目优于另一个项目的特别担保。

CNCF 目前主持十四个项目,另外还在孵化几个项目:适用于容器编配的 Kubernetes、适用于监控的 Prometheus、适用于应用程序流监控的 Open Tracing、适用于记录的 Fluentd、适用于服务网格的 LinkerdEnvoy、适用于远程过程调用的 gRPC、适用于服务发现的 CoreDNS、适用于容器运行时的 Containerdrkt、适用于容器原生联网的 CNI、适用于分布式跟踪的 Jaeger、适用于安全交付的 Notary 以及适用于软件更新的 TUF

AWS 对其中的几个 CNCF 项目和工作组感兴趣。AWS 是Containerd 项目的创始成员;我们很高兴加入 Containerd 社区,并且提出了大量有关帮助我们的客户改善体验的想法。最近发布的 Containerd 1.0 为我们树立了信心:(最终) 为 Amazon EKSAmazon ECS 提供了基于 containerd 优化的运行时。我们的 ECS Task Networking 功能已编写成 CNI 插件,CNI 已成为 AWS 上所有基于容器的联网的基础。

最近的 CNCF 调查报告,57% 的受访者都在 Amazon EC2 上托管 Kubernetes,客户要求我们提供托管式 Kubernetes 服务以便让他们的生活更轻松。我们推出的 EKS 满足了此需求,同时承诺确保完全上游化的开源实施。

与此同时,Arun 在博客中介绍了他在 AWS 安装程序上使用多个 Kubernetes 的体验 (从 Kops 开始),并且帮助安排了 AWS 上的 Kubernetes 研讨会,该研讨会在 AWS re:Invent 大会期间举办了三次,下周将在 Kubecon 大会期间再举办一次。具有高度可用的控制面板的 EKS 关注的是大规模的生产工作负载,并且每个集群的主要/控制面板都可以涵盖三个可用区。

AWS 提供了适用于 CNI 的插件,可提供 AWS 网络功能的完全访问权限,并优化 ECS 和 Kubernetes 的性能。

在 re:Invent 大会上,我们以有限预览的形式推出了 EKS,目前正努力让第一版尽快面世。2018 年,Amazon EKS 还将得到 AWS Fargate 的支持,以便客户直接运行容器,而无需维护基础实例队列。

我们计划发布更多 Kubernetes 博文和代码,同时相信我们可以提供可由 CNCF 孵化的现有及未来的 AWS 开源项目。

在 AWS,我们继续组建的开源团队分部是为了参与开源项目、社区和基金会,同时帮助指导和鼓励 AWS 工程团队做出更多贡献。AWS 是负责主持 CNCF 的 Linux Foundation (Linux 基金会) 成员,我们希望与有同样目标的新老朋友展开合作,共同打造针对现代分布式系统优化的新计算范例并推动其应用。我们的工程师目前投身于几个 CNCF 项目,我们的所有更改都将与社区一起展开讨论并将进入上游。如果您有意加入我们,请查看我们的工作机会


请关注 @AWSOpen 或访问我们的网站:opensource.amazon.com,了解 AWS 在开源方面的最新动态。

Adrian Cockcroft

Adrian Cockcroft