亚马逊云科技最近为CloudFormation推出了一个名为“快速模式”的新部署选项。它的核心逻辑很简单:一旦create、update或delete API调用成功,系统就立即将堆栈操作标记为已完成,不再等待资源配置后完全进入稳定状态。这意味着,在资源还在初始化、尚未准备好处理流量甚至正在被删除的过程中,部署操作已经宣告结束。

根据官方公告中给出的对比数据,在标准模式下创建一个包含死信队列的SQS队列需要一分多钟,而在快速模式下,同样的操作耗时不到10秒。另一个例子是删除附带网络接口的Lambda函数,原先动辄需要20到30分钟,现在缩短到了几秒钟。这种速度提升不需要修改现有模板,而且支持嵌套堆栈和变更集等已有功能。一旦在父堆栈上启用该模式,所有嵌套堆栈都会自动应用。

打开网易新闻 查看精彩图片

亚马逊云科技首席开发者大使Channy Yun在介绍时指出了两种主要适用场景。第一种是迭代开发工作流,开发者在测试应用程序各个组件时需要频繁调整基础设施配置。第二种是能够接受最终稳定性的生产场景,还包括AI辅助的基础设施开发,这类任务能从亚分钟级的反馈循环中获益。不过他也补充提醒,如果业务需要在处理流量或测试前确保资源完全就绪,就应该继续沿用默认部署行为,由系统完成稳定性检查再结束流程。

快速模式并不是默认启用的。开发者需要在AWS CLI中通过`--deployment-config '{"mode": "EXPRESS"}'`这个选项来主动打开。社区对此反应不一。AWS英雄兼无服务器专家Yan Cui在LinkedIn上表示,这个新功能对开发环境确实有用,但他对公告里“借助AI辅助的基础设施开发实现亚分钟级反馈循环”的说法并不买账。他的原话是:“快速反馈循环一直都很重要!这正是多年来许多人更青睐Terraform而非CloudFormation的主要原因。等待CloudFormation部署完成所花费的时间,与等待AI代理完成任务所花费的时间并无二致。”

Archdesk首席技术官Michał Piszczek则提醒了一个容易被忽视的细节:默认禁用回滚功能。在他看来,这对AI代理部署一次性堆栈来说问题不大,但一旦遇到凌晨三点需要人工介入调试的状况,就会构成实实在在的风险。除了快速模式,亚马逊云科技还同步扩展了CloudFormation的部署前验证功能,使其在每次堆栈创建和更新操作时自动运行,帮助开发者在资源配置之前就检测出模板错误。这次更新还增加了额外的验证检查,并为AWS CDK项目引入了新命令`cdk validate`,同时也允许在特定部署时根据需要关闭验证。

目前,快速模式和新增的验证功能已在所有支持CloudFormation的区域上线,无需单独启用,也不产生额外费用。对于长期抱怨等待部署带来操作摩擦的AWS社区来说,这算是一次直接回应。过去有不少开发者明确表示,正是因为使用体验上的差异,他们才更倾向于选择Terraform。现在,这个差距至少在部署速度这个维度上被大幅拉近了。