Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、「Argo Rollouts」の概要や、サポートする「デプロイ戦略」としてブルーグリーンデプロイ、カナリアリリース、プログレッシブデリバリーなどを紹介します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する本連載「Cloud Nativeチートシート」。今回から「Argo Rollouts」に触れ、数回に分けて、概要の理解からハンズオンを交えた使い方のイメージまでを紹介します。今回は第1弾として、Argo Rolloutsの概要とサポートされる「デプロイ戦略」についてです。
近年、クラウド技術によって著しくアプリケーションの性能が向上しました。これに伴い、トラフィックも増加し、少しのダウンタイムでも大きなビジネス機会を失い、莫大(ばくだい)な損失が発生するようになってきています。
このような背景の下、アプリケーションのバージョンアップリリース時にダウンタイムを最小限にする工夫が進化しています。
アプリケーションを停止することなくバージョンアップすることは当たり前とし、バージョンアップ後に不具合が判明した場合、速やかに古いバージョンにロールバックする仕組みなども要求されるようになっています。
これらのダウンタイムを最小限にしてアプリケーションをリリースしたり、ロールバックしたりする方法を「デプロイ戦略」といいます。
Kubernetesを利用する場合、Argo Rolloutsを利用すると、ブルーグリーンデプロイやカナリアリリース、さらには「プログレッシブデリバリー」といった、高度なデプロイ戦略を簡単に実装できます。
本稿では、Argo Rolloutsを紹介しつつ、Argo Rolloutsがサポートするデプロイ戦略について見ていきます。
Argo Rolloutsは、Kubernetesでブルーグリーンデプロイやカナリアリリースのようなデプロイ戦略をサポートするツールです。Kubernetes標準のデプロイでも「ローリングアップデート」はできますが、Argo Rolloutsを利用すると、より高度なデプロイ戦略を実装できます。
利用イメージとしては、Deploymentリソースの代わりに、Argo RolloutsのRolloutリソースを定義します。Deploymentリソースを知っていれば、違和感なく利用できるようになっています。
また、Argo Rolloutsはより先進的な「プログレッシブデリバリー」をサポートしています。「カナリアリリース」のように、システムの一部をリリースしたら、リリースしたシステムのメトリクスを分析します。
メトリクスの分析によって、リリースが成功したか、失敗したかを判断し、失敗した場合、自動的にロールバックします。一部のみリリースし、リリース失敗時にロールバックすることで、本番環境への影響を最小限に抑えながら運用コストを抑えたリリースが可能になります。
従来、メトリクスの分析やロールバックは手動でしたが、一連の作業には時間がかかり、オペレーションミスなども発生し得ます。Argo Rolloutsはそうした部分を自動化することでリリースプロセスを高速化し、デプロイリスクを低減できます。
Copyright © ITmedia, Inc. All Rights Reserved.