AWS发布四项新的容器功能
- 来源:中国信息化周报 smarty:if $article.tag?>
- 关键字:程序,技术,创新 smarty:/if?>
- 发布时间:2021-01-12 10:38
近日, 在亚马逊云服务(AWS)举办的年度盛会上, AWS 发布了四项新的容器技术创新, 帮助用户开发、部署和扩展现代应用程序。
容器技术为开发人员提供一种在任何环境中快速可靠地打包和运行应用程序的标准方法, 提高资源利用率的同时降低了成本。AWS 使配置、部署和管理容器应用程序变得更加容易, 让用户可以在自己的数据中心运行软件; 增添的新服务能够将容器和无服务器应用程序的开发和部署自动化; 并提供新的容器注册表服务, 为开发人员提供简单、高效的方式, 公开分享、部署容器软件。
大多数公司只为用户提供单一的托管Kubernetes 容器产品。其局限性在于, 不同的开发人员对不同的需求有优先考虑。对于那些最优先考虑使用开源Kubernetes 编排引擎的开发人员, AWS 提供了Amazon2 EKS。而对于那些最优先考虑与AWS 其它服务以及AWS 风格的API 和优化的集群管理、调度和监控配置做深度集成的开发人员, AWS 提供了 Amazon2ECS。同时, 对于那些青睐于运行容器而无需考虑服务器或集群部署(即无服务器) 的用户, AWS 提供了AWS2 Fargate。
Kubernetes、与云服务深度集成的容器服务以及无服务器的容器产品。上述这三种服务的使用率都在持续快速的增长,而且通常情况下, 用户在不同的工作负载下会同时使用这三种容器服务。
如今, 想要在容器环境中运行其应用程序的用户, 必须对其本地应用程序和云应用程序进行分别部署和管理。用户须在本地手动安装操作和管理容器编排的软件, 同时在其AWS 和本地环境中使用完全不同的工具, 还须掌握多个专业领域的知识和技能。这种方式不仅会产生运营方面的开销, 而且会降低交付新业务功能的速度。用户期望的是一种完全托管的解决方案, 该解决方案可以在自己的数据中心和 AWS 中同时运行, 并且具有与当前在Amazon2ECS 和Amazon2EKS 中使用的相同的监控、集群管理和部署流水线。
Amazon2ECS2Anywhere 可以实现让用户能够使用其当前已部署在AWS 中基于云端、完全托管和高可扩展的容器编排服务, 同时也可以在其自己的数据中心中运行Amazon2ECS。
Amazon2ECS2Anywhere 为用户提供了适用于所有基于容器应用程序的相同工具、API、Amazon2ECS 经验,用于在云端以及其自己的数据中心进行集群管理、工作负载调度和监控。借助Amazon2ECS2Anywhere, 用户不需要在本地运行、更新或维护自己的容器编排软件, 从而更轻松地将容器负载迁移到云端并管理其混合环境。
通过Amazon2 EKS2 Anywhere, 用户可以使用相同的Amazon2EKS 体验,在其数据中心和云端运行 Kubernetes。Amazon2 EKS2 Anywhere 可在任何基础架构上运行, 并为用户提供一致的Kubernetes 管理工具。该工具经过优化, 可通过操作系统、容器注册表、日志记录、监控、网络和存储的默认配置来简化集群安装。
容器和无服务器应用程序具有明显的运营优势, 但它们也改变了用户开发和部署代码的方式。如今, 当开发人员在Amazon2EC2 实例上构建传统应用程序时, 这些应用程序通常被构建为单个代码块,并且有完善的工具可以帮助他们开发和部署其代码, 例如AWS2 CloudFormation 模板(以提供基础架构), AWS2CodePipeline(用于设置 CI/CD 流程) 和Amazon2 CloudWatch (用于监控部署)。实际上, 一旦用户在EC2 上启动并运行一个应用程序,该应用程序的组件就不会有太大的变化。通常, 代码是在单个版本中维护的, 因此使其保持协调相对容易。相比之下, 容器和无服务器应用程序是由较小的代码块组合而成的, 这些代码块通常是独立开发和维护, 然后组合在一起以构建和扩展应用程序。每个代码块都有自己的独立基础架构,必须对其进行更新和维护。通常, 这些较小的代码段由不同的团队开发和运维, 因此这些团队可以自由地按自己的进度更新组件。与传统应用程序相比, 这导致更改发生的频率更高。随着用户逐渐倾向于容器和无服务器应用程序开发, 他们也发现, 在其基础架构上配置、部署代码和监视工具之间协调所有变更, 可能会具有挑战性。用户缺乏将所有任务(包括资源供应, 代码部署和监控) 联系在一起的集成解决方案。基础架构团队试图为开发人员提供指导, 甚至有些团队已经构建了自己的自定义工具集来帮助开发人员实施最佳实践, 但容器和无服务器应用程序开发与部署的复杂性, 仍然是许多机构的应用程序开发速度变慢的主要原因。
AWS2Proton 是一项新的应用程序管理服务, 它使得动态且较小的计算单元(如容器和无服务器情况下)的应用程序的配置、部署和监控变得非常简单。AWS2Proton 允许用户将应用程序组件定义为“堆栈”。AWS2 Proton 还附带了一组精选的应用程序堆栈, 这些应用程序堆栈具有内置的AWS 最佳实践, 使基础架构团队可以快速、轻松地将可信赖的堆栈分发给开发团队。AWS2Proton 使基础架构团队能够为开发团队提供用于不同用例的堆栈, 并确保即使在多个团队同时部署堆栈的情况下, 堆栈仍然保持标准化和最新状态。AWS2Proton 使开发人员能够存储和复用这些应用程序堆栈, 提供了一个部署容器和无服务器应用程序的环境, 监控生产中的应用程序, 并使用堆栈的最新组件自动更新应用程序。AWS2Proton 可以自动将基础架构作为代码, 通过 CI/CD 流水线进行部署, 并对容器和无服务器应用程序提供监控。借助 AWS2Proton, 基础架构团队可以使他们的开发人员能够以一致的方式使用无服务器和容器技术, 而不必担心手动管理应用程序的开发流程。
大多数开发人员在构建基于容器的应用程序时, 都会利用公共软件包(例如操作系统、数据库和应用程序组件), 这些软件包作为容器镜像公开分发。开发人员使用容器注册表服务, 如Amazon2ECR, 在组织内部管理其容器镜像。如今, Amazon2ECR的用户每周下载超过30 亿个镜像,从而使开发人员能够部署用于其应用程序的容器。然而, 当开发人员想要将流行软件公开发布为镜像(例如语言库、Web 服务器、数据库等) 时,他们目前无法从Amazon2 ECR 下载。他们必须从公共网站和注册表中心例如Docker2Hub 来下载这些镜像, 使他们匿名和免费提取镜像受到了限制, 并且不提供可用性承诺。这会导致软件交付的效率低下和不可靠。为了消除这种依赖性, 开发人员不得不在本地复制和管理这些通用镜像。这使得保持镜像的最新版本变得困难,操作也更加复杂, 同时还限制了快速扩展应用程序的能力。对于从多个区域的公共镜像运行容器(以记录事件或管理网络策略) 的AWS 用户来说,在快速可靠地下载镜像时将面临着更多困难, 因为他们必须将其本地镜像副本复制到每个区域。
为了解决这一难题, Amazon2ECR 现在添加了一个公共注册表, 供开发人员存储、管理、共享和部署容器镜像, 任何人均可浏览并下载。用户可以使用Amazon2ECR2Public 来托管其私有和公共容器镜像, 无需使用公共网站和注册表。用户不再需要操作自己的容器存储库, 也不用担心扩展基础架构, 只需单个命令即可快速发布公共容器镜像。
AWS 计算服务副总裁Deepak2 Singh 表示: “用户希望在容器中运行其工作负载, 以实现更强的可移植性、更高的资源利用率和更低的成本, 但即使有这些显著的优势, 用户仍要求AWS 使容器更易于管理、部署和共享。今天宣布的几项创新, 进一步扩展了AWS 领先的容器功能, 为用户提供了Amazon2ECS 和Amazon2EKS 在云端和在自己的数据中心中的一致体验, 从根本上简化了容器和无服务器应用程序的开发和部署。”