亚马逊的 Chris Munns 在最近于纽约市举办的无服务器会议( Serverless Conference NYC )上宣布,AWS Lambda 将很快支持一项名为流量转移(traffic shifting)的功能。这项功能能对不同 Lambda 函数别名之间进行权重,调整同一函数在两个版本之间的流量分配,使 canary 发布( canary releases )和蓝绿部署( blue/green deployment )在 lambda 上进行成为可能。
Canarying 是基础设施即服务(IaaS)的主要运营模式之一, 像 Netflix 等公司对它相关使用也有很详实的记录(例如: Roy Rapoport 在 QCon NYC 2014 中的演讲“ Canary Analyze All The Things )”。使用 canary 发布的关键在于是否能够跨越多个版本来引导流量,并控制流量分配到新部署版本的比例。基于无服务器架构的 FaaS 实现(如 Lambda)可能会在后台使用负载均衡器(load balancers),但是以前并不能控制这些负载均衡器。
无服务器的先驱,如 Paul Johnston 曾评论过在 Lambda 中进行 canary 发布的困难。在发表的《无服务器和部署问题( Serverless and Deployment Issues )》一文中,他特地用了一个章节来讨论这个问题。 Johnston 提出的解决方法是创建一个路由器函数(router function),但他(和其他人)也承认将任务关键基础设施代码作为应用程序的一部分并不合适。 Johnston 和一些无服务器会议的与会者一样,抓取并转发 Munns 的幻灯片到推特上。其他与会者发现,观众对此的欢呼声很高。
上述的功能尚未作为官方声明发布在AWS 的博客上。一般来说,博客上会包括整体的使用和配置的概述以及首先要更新的区域。
原文链接: Traffic Shifting in AWS Lambda Aliases Coming Soon
感谢薛命灯对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论