AWS 在容器服务的大棋盘上有哪些“落子”?

阅读数:781 2019 年 10 月 29 日 09:08

AWS在容器服务的大棋盘上有哪些“落子”?

AWS CEO Jeff Bezos 曾提出一个著名的理论——两个披萨原则,即每个内部团队都应该足够小,小到可以用两个披萨喂养。如何实现两个披萨团队呢?AWS 现代化应用产品市场负责人 Aaron Kao 和我们讲述了 AWS 的实践历程,同时也介绍了 AWS 提供的现代化应用产品。

2000 年,亚马逊网站还是一个超大型的单体应用,内部很多团队在开发同一个应用,如果团队成员想要添加新产品,就必须对原代码进行编辑、修改。当时,很多不同团队都必须到同一个管道中进行单体应用开发,敏捷性非常差。

2001 年,为了实现更快速地开发,AWS 决定改变构建应用的方式,打造“双披萨团队”,把应用分解为多个微服务。S3 就是其中一个很好的例子,2013 年 S3 刚推出时,只有 8 个微服务,现在 S3 已经包含有 235 个以上的微服务。

这是 AWS 的实践历程,那么其它公司应该如何实践呢?Aaron Kao 表示:“想要实现现代应用的开发,就必须在很多方面都做出改变,包括架构模型、运营模型、软件交付、安全模型以及数据管理。”

以架构模型为例,随着单体应用程序的代码库不断扩大,添加、修改功能就变得十分复杂。为了解决这个问题,AWS 引入了微服务体系架构,每个团队做一个服务,每个服务执行一个功能,彼此之间相互独立,通过轻量级的 API 实现服务和团队之间的沟通。如果想把规模做大的话,只需对某个服务进行规模化,如果想修改的话,只需修改某个微服务的代码,而无需影响其它代码。

微服务如果部署在多个主机上也会遇到很多问题,例如大量微服务的管理,部署等,而容器的出现刚好可以解决这些问题。下面我们就来看看 AWS 在容器方面有哪些布局。

AWS 在容器大棋盘上的“落子”

AWS在容器服务的大棋盘上有哪些“落子”?

整个 AWS 容器服务的布局可以分为三个层次,最下面是映像注册表,Amazon ECR (Amazon Elastic Container Registry),它可以存储容器映像文件,容器注册表非常易用;中间是计算引擎,用户可以使用 Amazon EC2 作为启动类型来运行容器,也可以使用 AWS Fargate 来启动无服务器的运行;最上层是编排层,根据不同的用户需求,AWS 提供了不同的服务,如果客户想要专注于基础架构或配置,可以自己搭建编排服务。如果客户只想开发应用,那么可以使用 AWS 的托管服务,Amazon Elastic Container Service 或者 Amazon Elastic Kubernetes Service。

AWS在容器服务的大棋盘上有哪些“落子”?

2014 年,为了给客户提供容器管理服务,AWS 发布了 Elastic Container Services(简称 ECS),与 AWS 其它服务深度集成,例如 Elastic Load Balancing,支持在 EC2 实例里运行 Docker 容器。

AWS在容器服务的大棋盘上有哪些“落子”?

随着 Kubernetes 渐渐成为市场上容器编排的事实标准,AWS 在 2018 年 6 月推出了面向 Kubernetes 的 EKS。用户可以通过 EKS 完成微服务、PaaS、企业应用迁移以及机器学习。

为什么我们要选择 EKS 呢?Aaron Kao 给出了四大理由:

  • 安全可靠:EKS 是运行生产级工作负载的平台,因此安全可靠是首要任务。AWS 会确保 EKS 每个版本在发布时是完全符合安全要求的,并且会始终提供安全补丁。如果你运行的是老版本 Kubernetes 也不用担心,AWS 也会提供支持老版本的安全补丁。

  • 原生和上游 Kubernetes 体验:AWS 的 Kubernetes 与开源 Kubernetes 的运行是一样的,与开源社区密切合作,并会将代码贡献给上游。

  • 无缝集成:EKS 与 AWS 平台实现了无缝集成,可享受 165 种不同的服务,包括存储服务、管理服务等。

  • 目前 51% 的工作负载运行在 AWS 上。

据 Aaron Kao 透露:“EKS 很快会在 AWS 中国(北京)区域、AWS 中国(宁夏)区域、AWS 南美洲(圣保罗)区域推出。”

AWS在容器服务的大棋盘上有哪些“落子”?

除了 ECS 和 EKS,AWS 还有一个秘密武器 AWS Fargate。有了它,用户就无需处理服务器或基础架构了,可以快速推出和扩充容器应用,据 Aaron Kao 介绍:“现在,客户使用 Fargate 每周管理和运行上百万个容器。”

2019 年 10 月 8 日,AWS Fargate 正式在中国推出。

写在最后

“产品众多”是 AWS 的一大特征,在容器服务领域也不例外。相信很多人都会有疑问:“AWS 是基于什么样的原因推出了如今的产品。”Aaron Kao 表示:“其实 90% 的产品路线图都是从客户那里获得的,我们会根据客户的要求分地区提供给他们想要的服务。除此之外,我们还将重点关注安全性、可用性、可靠性以及开发工具的创新。”

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布