我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
亚马逊云科技 CloudFormation 注册机构的历史和未来路线图
历史
CloudFormation 服务于 2011 年 2 月
显而易见,我们需要改变策略,扩大资源开发规模,以适应数百个每天提供新功能的服务团队所设定的快速创新步伐。在过去的十年中,我们的创新步伐加快了近40倍,2011年推出了80项重要的新功能,而2021年的这一数字已超过3,000项。由于CloudFormation是新亚马逊云科技服务的关键采用动力(或阻碍因素),因此这些团队需要一种方法来创建和管理自己的资源。目标是在新服务发布的第一天就提供支持,并全面覆盖CloudFormation资源。
2016 年,我们推出了一个内部自助服务平台,允许服务团队控制自己的资源。这开始解决先前模型中固有的扩展问题,即核心CloudFormation团队必须自己完成所有工作。好处不仅仅是分散开发人员的精力,因为服务团队对其产品拥有深厚的领域知识,这使他们能够创建更有效的 IaC 组件。但是,当我们在该模型上开发资源时,我们意识到需要额外的设计功能,例如可以自动支持漂移检测和资源导入等功能的标准化。
我们启动了一个新项目来解决这些问题,目标是改善内部开发者体验,并提供一个公共注册表,让客户可以使用相同的编程模型来定义自己的资源类型。我们意识到,仅仅推出新模型是不够的,我们必须通过培训活动对其进行宣传,举办工程训练营,构建更好的工具,例如仪表板和部署管道模板,并制作全面的入门文档。最重要的是,我们将CloudFormation支持作为新服务功能启动清单上的必备项目,这一要求不仅限于文档,而且已内置于内部发布工具中(随着时间的推移,有关注册表的培训和意识有所提高,因此这一要求很少有例外)。这是我们在亚马逊经常重复的格言之一的典型例子:好的机制胜于良好的意图。
2019 年,我们在
服务团队将其资源引入新资源模型并构建预期的创建、读取、更新、删除和列表 (CRUDL) 处理程序后,无需额外的开发工作即可支持
当前状态
我们正在这种新的标准化资源模型的基础上为CloudFormation服务构建未来的创新,以便客户可以从事件处理程序的持续实施中受益。我们在这个新的资源模型的基础 上构建了
图 1。云控制 API 资源处理器图
除了第三方应用程序支持外,开发者社区还可以使用公共注册表在 亚马逊云科技 服务之上创建有用的扩展。扩展 CloudFormation 资源功能的常见解决方案是编写
为
响应 创建
、
更新
和
删除信号而运行。现在,可以通过改为编写注册表扩展资源类型来解决其中一些用例。有关定制资源和资源类型以及两者之间差异的更多信息,请参阅
如果您想查看给定的 CloudFormation 资源是否在新的注册模型上,请通过调用 desc
。
不可变
以下是一个 CLI 命令示例,用于描述新注册表模型上的 亚马逊云科技:: Lambda:: Function 资源。
FULLY_MUTABLE 和 IMMUTAB
LE 之间的区别 在于更新处理
程序的存在。
FULLY_MUTABLE
类型包括一个更新处理程序,用于在堆栈更新操作期间处理该类型的更新。然而,
IMMUTAB
LE 类型不包含更新处理程序,因此该类型无法更新,而必须在堆栈更新操作期间替换。传统资源类型将
不可调配。
改进的机会
在我们继续努力实现实现全面功能覆盖和完全摆脱传统资源模式的最终目标的同时,我们一直在寻找改进的机会。我们目前正在解决所支持资源中的功能缺口,例如
开发人员在创建注册表扩展程序方面的体验有一些艰难的优势,特别是对于 Java 以外的语言,Java 是 亚马逊云科技 服务团队针对其资源类型的首选语言。需要更容易地编写架构、编写处理函数和测试代码以确保其按预期运行。
要了解资源覆盖的进展,请查看
我们最近宣布了一个名为
AWSCommunity::
命名空间下所有资源的测试、验证和部署,可以在任何 亚马逊云科技 账户中激活该命名空间以供您自己的模板使用。
要开始使用 CloudFormation 注册表,请访问
我们最近创建了一台专用于CloudFormation的新的
结论
在这篇文章中,我们希望您能深入了解 CloudFormation 注册表的历史,以及我们在向可由 亚马逊云科技 服务团队、客户和 APN 合作伙伴共享的标准化、可扩展的资源开发模型演变过程中做出的设计决策。我们在此过程中吸取的一些经验教训可能适用于您自己公司的复杂设计计划。我们希望能在 Discord 和 GitHub 上见到你,因为我们共同构建了一组丰富的注册资源!
作者简介:
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。