AmazonのChris Munns氏が先日のServerless Conference NYCで、AWS Lambdaで近日中に、Traffic Shiftingと呼ばれる機能がサポートされることを発表した。これによってLambda関数の2バージョン間でシフトを行なう場合、Lambda関数のエイリアスに重み付けを行なうことが可能になり、カナリーリリースや青/緑デプロイメントといった方法が使用できるようになる。
カナリーリリースは、インフラストラクチャ・アズ・ア・サービスと並行して発展させるための重要な運用パターンのひとつであり、Netflixでの運用が詳細に文書化されている(Roy Rapoport氏のQCon NYC 2014でのプレゼンテーション‘Canary Analize All The Things’など)。このアプローチを適用可能にするためには、複数のバージョンでのトラフィックの切り換えが可能か、新たにデプロイしたバージョンへのトラフィック率を制御できるか、といった条件が必要だ。Lambdaのような‘サーバレス’ファンクション・アズ・ア・サービス(FaaS)はロードバランサを備えている場合もあるが、そのようなロードバランサのコントロールはこれまで操作対象外であった。
Lambdaでカナリーリリースを行なう場合の難しさについては、サーバレスの先駆者であるPaul Johnston氏などがコメントしている。氏は自身の著書‘Serverless and Deployment Issues’の一章を割いて、その問題を取り上げた。Johnston氏の提案する回避策はルータ関数の作成だが、ミッションクリティカルなインフラストラクチャコードに属するものをアプリケーションの一部として記述することは望ましくないという点については、氏自身(と他の人たち)も認めている。Johnston氏を含むServerless Conferenceの参加者たちは、Munus氏のスライドをキャプチャしてツィートした。その中の一部は、聴衆から歓声が上がったとも伝えている。
通常であれば使用方法と設定方法の概要と、最初にアップデートされるリージョンが紹介されるAWSブログから、今回の新機能に関してはまだ発表されていない。
この記事を評価
- 編集者評
- 編集長アクション