亚马逊云科技宣布 CloudFront 现已支持持续部署,可用部分实时流量测试并验证配置变化。AWS 内容交付网络的新功能简化了蓝绿及金丝雀部署策略。
CloudFront的持续部署是为部署后验证、向后兼容,仅使用小部分请求验证新功能等场景而设计。AWS 高级解决方案架构师Joe Viggiano,首席解决方案架构师Carl Johnson,以及首席产品经理 Vishal Anand 如此解释:
当前行业上对于测试 CDN 配置变化已有的解决方案是需要在客户端注入自定义头信息、覆盖客户端 DNS 设置,或者实施单独的测试域。这一切都让大规模测试充满挑战。客户可能会不得不在应用程序中建立复杂的功能标志(……)这种方式缺乏可扩展性,且不能百分百引导生产流量,无法确保新引入的变化不会对工作负载产生负面影响。
借助 CloudFront 的持续部署,客户向主要分布中发送请求,CloudFront 基于持续部署策略中的权重或头配置,将其中部分请求路由到暂存分布。基于权重的配置会将特定百分比(最高可至 15%)的 Viewer 请求路由到暂存分布,而基于头的配置则会根据特定 HTTP 头将请求路由到暂存分布。
两种方式都可用于测试同一部署,以基于头的配置验证已知测试用户和设备的第一条变更,随后在借助基于权重的配置引入生产流量。这一功能通过将 Viewer 会话与环境绑定,让监控标准及实时日志变得可行,一旦变更对服务有影响,可即时回滚回先前的配置。Viggiano、Johnson 及 Anand 写道:
在需要进行测试时,CloudFront 现在允许创建一个与生产分布相关联的暂存分布 。可在暂存分布中修改原点、原点组、缓存行为、客户错误响应、默认根对象、日志和地理限制等设置,未来还会增加更多可更改的设置项。
开发者们对于 AWS CDN 上对蓝绿及金丝雀部署的支持期盼已久,无论是在红迪还是Server Fault上都有很多讨论串。云顾问及 AWS 无服务英雄Yan Cui则对这个名称发出来质疑:
非常赞,但我不太理解为什么要叫 CloudFront“持续部署”,而不是叫 CloudFront 金丝雀部署之类的名字。
主要分布和暂存分布不共享缓存。在资源使用高峰期,CloudFront 可能会无视持续部署策略,将所有请求全部发送到主要分布。基于当前限制,CloudFront 持续部署不支持启用了HTTP/3的分布。
该新功能可在所有 AWS 边缘,通过控制台、SDK、CLI 或 CloudFormation 模板使用。
原文链接:
AWS Introduces CloudFront Continuous Deployment for Blue-Green and Canary Strategies by Renato Losio
相关阅读:
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论