リリース/ロールバックの自動判断&実施で運用コストを絶大削減「プログレッシブデリバリー」をArgo Rolloutsで実践しよう:Cloud Nativeチートシート(28)
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、先進的なリリース戦略「プロフレッシブデリバリー」を「Argo Rollouts」で実践する。
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する本連載「Cloud Nativeチートシート」。前回の記事「ブルーグリーンデプロイとカナリアリリースを理解したいならOSSの『Argo Rollouts』で実践しよう」では、Argo Rolloutsを利用して、ブルーグリーンデプロイとカナリアリリースを実践しました。今回は、プログレシッブデリバリー(Progressive Delivery)について解説し、Argo Rolloutsを用いて実践します。
目次
プログレッシブデリバリーとは?
「プログレッシブデリバリー」とは、RedMonkのJames Governor氏がMicrosoftのSam Guckenheimer氏のリリースモデル「Progressive Experimentation」を聞き、その話をLaunchDarklyのAdam Zimman氏に共有して議論したのをきっかけに生まれた言葉です。
従って広義の意味でのプログレッシブデリバリーとは、ダークローンチ、フィーチャーフラグ、カナリアリリース、ブルーグリーンデプロイ、A/Bテストによって定義される新しいデリバリーモデルを指します。
一方で、プログレッシブデリバリーは継続的デリバリー(Continuous Delivery)の進化系とも捉えることができます。継続的デリバリーが「より小さい機能でより頻繁にリリースを繰り返し、徐々に変更する」戦略を取るのに対し、プログレッシブデリバリーは「最初は少人数にリリースしながら、自動的にアプリケーションやサービスの状態を分析、評価し、徐々に大人数のユーザーにリリースする」戦略といえます。
従って狭義の意味でのプログレッシブデリバリーとは、カナリアリリースを自動化し、分析と評価を用いてリリースとロールバックを自動化するデプロイ戦略を指します。
具体的に継続的デリバリーと何が違うのか見ていきましょう。従来の継続的デリバリーにおけるデプロイフローがこちらです。
それに対し、プログレッシブデリバリーはこちらです。
新バージョンをリリースする際には、まず一部のテストユーザーおよびトラフィックに対してのみ反映します。ここまでは一般的なカナリアリリースと同様です。
異なる部分は、カナリアテストが完了した後に、エンドユーザーおよび本番トラフィックに対して反映する前段階として、デプロイされたアプリケーションに対してメトリクスなどを用いた「分析」を行い、問題なければデプロイの継続を、異常が見つかれば即座にロールバックを実行するという戦略を明示的に追加している点です。
従来のデプロイフローの中に明示的に「分析」や「自動ロールバック」という観点を加えることで、パイプラインによるデプロイスピードと、デプロイに伴うリスクの軽減の両立を目指しています。
Argo Rolloutsのプログレッシブデリバリー機能
Argo Rolloutsは、Kubernetes上のアプリケーションに対し、プログレッシブデリバリーの中でも、上記で述べた「分析」と「自動ロールバック」機能を提供します。
リリースされたカナリアに対して、モニタリングツール、オブザーバビリティツールで取得されたメトリクス、あるいは、HTTP/HTTPSアクセスによって取得されたREST APIのレスポンスや「Kubernetes Job」を利用したテスト実行結果などを利用してアプリケーションの「分析」を行い、「分析」の結果から「リリースに異常がある」と判断した場合にはリリース作業を中断して「自動ロールバック」ができます。
また、上記機能を応用してブルーグリーンデプロイやA/Bテストの自動化にも利用できます。
Argo Rolloutsによる自動化の範囲
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- コンテナ実行基盤「Kubernetes」「Nomad」の基本 クラスタの構成方式やデプロイの仕組み
コンテナオーケストレーションツールとして知られる「Kubernetes」とHashiCorpが提供する「Nomad」を比較検証する本連載。第1回はKubernetesとNomadの基本をおさらいします。 - マイクロサービス移行後のテスト、CI/CD、運用監視で現場が疲弊しないためのポイント
マイクロサービスアーキテクチャへの移行を進める上で生まれた課題にどう取り組んだのか。オイシックス・ラ・大地の川上徹氏がOisixのマイクロサービス移行後のテスト、CI/CD、運用監視を紹介します。 - 「ブルーグリーンデプロイメントの仕組み」を理解する
本連載では、「OpenStackを基盤としたブルーグリーンデプロイメント」を実現する“現場目線”のノウハウを解説していきます。今回は、「ブルーグリーンデプロイメントの利点とその仕組み」を説明します。