リリース/ロールバックの自動判断&実施で運用コストを絶大削減「プログレッシブデリバリー」をArgo Rolloutsで実践しようCloud Nativeチートシート(28)

Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、先進的なリリース戦略「プロフレッシブデリバリー」を「Argo Rollouts」で実践する。

» 2023年06月15日 05時00分 公開
[飯野拓人, 岡本隆史, 正野勇嗣株式会社NTTデータ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 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.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。