「リリース時にサービス一時停止」は過去の話――Argo Rolloutsによる今どきなノンストップ「デプロイ戦略」Cloud Nativeチートシート(26)

Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、「Argo Rollouts」の概要や、サポートする「デプロイ戦略」としてブルーグリーンデプロイ、カナリアリリース、プログレッシブデリバリーなどを紹介します。

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

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

 Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する本連載「Cloud Nativeチートシート」。今回から「Argo Rollouts」に触れ、数回に分けて、概要の理解からハンズオンを交えた使い方のイメージまでを紹介します。今回は第1弾として、Argo Rolloutsの概要とサポートされる「デプロイ戦略」についてです。

ダウンタイムは“ゼロ”が当たり前の今、「デプロイ戦略」を立てていますか?

 近年、クラウド技術によって著しくアプリケーションの性能が向上しました。これに伴い、トラフィックも増加し、少しのダウンタイムでも大きなビジネス機会を失い、莫大(ばくだい)な損失が発生するようになってきています。

 このような背景の下、アプリケーションのバージョンアップリリース時にダウンタイムを最小限にする工夫が進化しています。

 アプリケーションを停止することなくバージョンアップすることは当たり前とし、バージョンアップ後に不具合が判明した場合、速やかに古いバージョンにロールバックする仕組みなども要求されるようになっています。

 これらのダウンタイムを最小限にしてアプリケーションをリリースしたり、ロールバックしたりする方法を「デプロイ戦略」といいます。

 Kubernetesを利用する場合、Argo Rolloutsを利用すると、ブルーグリーンデプロイやカナリアリリース、さらには「プログレッシブデリバリー」といった、高度なデプロイ戦略を簡単に実装できます。

 本稿では、Argo Rolloutsを紹介しつつ、Argo Rolloutsがサポートするデプロイ戦略について見ていきます。

Argo Rolloutsとは

 Argo Rolloutsは、Kubernetesでブルーグリーンデプロイやカナリアリリースのようなデプロイ戦略をサポートするツールです。Kubernetes標準のデプロイでも「ローリングアップデート」はできますが、Argo Rolloutsを利用すると、より高度なデプロイ戦略を実装できます。

 利用イメージとしては、Deploymentリソースの代わりに、Argo RolloutsのRolloutリソースを定義します。Deploymentリソースを知っていれば、違和感なく利用できるようになっています。

 また、Argo Rolloutsはより先進的な「プログレッシブデリバリー」をサポートしています。「カナリアリリース」のように、システムの一部をリリースしたら、リリースしたシステムのメトリクスを分析します。

 メトリクスの分析によって、リリースが成功したか、失敗したかを判断し、失敗した場合、自動的にロールバックします。一部のみリリースし、リリース失敗時にロールバックすることで、本番環境への影響を最小限に抑えながら運用コストを抑えたリリースが可能になります。

 従来、メトリクスの分析やロールバックは手動でしたが、一連の作業には時間がかかり、オペレーションミスなども発生し得ます。Argo Rolloutsはそうした部分を自動化することでリリースプロセスを高速化し、デプロイリスクを低減できます。

Argo Rolloutsを支えるメトリクス分析とトラフィック管理

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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