「リリース時にサービス一時停止」は過去の話――Argo Rolloutsによる今どきなノンストップ「デプロイ戦略」:Cloud Nativeチートシート(26)
Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、「Argo Rollouts」の概要や、サポートする「デプロイ戦略」としてブルーグリーンデプロイ、カナリアリリース、プログレッシブデリバリーなどを紹介します。
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.
関連記事
- コンテナ実行基盤「Kubernetes」「Nomad」の基本 クラスタの構成方式やデプロイの仕組み
コンテナオーケストレーションツールとして知られる「Kubernetes」とHashiCorpが提供する「Nomad」を比較検証する本連載。第1回はKubernetesとNomadの基本をおさらいします。 - マイクロサービス移行後のテスト、CI/CD、運用監視で現場が疲弊しないためのポイント
マイクロサービスアーキテクチャへの移行を進める上で生まれた課題にどう取り組んだのか。オイシックス・ラ・大地の川上徹氏がOisixのマイクロサービス移行後のテスト、CI/CD、運用監視を紹介します。 - 「ブルーグリーンデプロイメントの仕組み」を理解する
本連載では、「OpenStackを基盤としたブルーグリーンデプロイメント」を実現する“現場目線”のノウハウを解説していきます。今回は、「ブルーグリーンデプロイメントの利点とその仕組み」を説明します。