コンテンツに移動
DevOps & SRE

Google Cloud Deploy が Cloud Run とデプロイ検証サポートを追加

2022年10月5日
Google Cloud Japan Team

※この投稿は米国時間 2022 年 9 月 28 日に、Google Cloud blog に投稿されたものの抄訳です。

Google Cloud のお客様は、Cloud Run を含む Google が提供する広範なプラットフォームに、アプリケーションを簡単にデプロイできることを望んでいます。コードを本番環境へ push する際に、デプロイが成功したという確証が欲しいのです。

本日、Google Cloud Deploy 向けに、Cloud Run ターゲットとデプロイ検証のプレビュー版が使用可能になったことを発表いたします。

Cloud Run へのデプロイ

Google のマネージド サーバレス コンテナ ランタイムである Cloud Run のサポートは、Google Cloud Deploy で最も多い機能リクエストでした。理由は簡単です。Google Cloud Deploy に Cloud Run ターゲットを追加することで、エンタープライズ アプリケーションの開発や提供が容易になるからです。  

プレビューでは、デリバリー パイプラインCloud Run ターゲットの指定とデプロイが可能になり、Cloud Run サービスの継続的デリバリーが可能になりました。

Google Cloud Deploy が他のターゲットに向けて提供する継続的デリバリー機能(ロールバック承認監査デリバリー指標など)は、すべて Cloud Run ターゲットでも利用可能です。この整合性と、同等の機能により、プラットフォーム運用者やアプリケーション デベロッパーは、ランタイム ターゲットにかかわらず、同じ方法でアプリケーション デリバリー パイプラインを管理し、推測することができます。

Google が開発し、Cloud Deploy の基盤となるオープンソースのクラウドネイティブ ツールである Skaffold によって、整合性が実現します。最新の 2.0 ベータ 2 リリースにより、Skaffold ユーザーは、すでに行っているGoogle Kubernetes EngineAnthos clusters の場合と同じ方法で Cloud Run サービスの開発とデプロイができるようになりました。これにより、Skaffold ワークフローは、Google Cloud Deploy の導入と拡張の一貫したポイントになっています。
https://storage.googleapis.com/gweb-cloudblog-publish/images/rollouts_tab_blog.max-2200x2200.jpg
2 つの Cloud Run ターゲットでの継続的デリバリー パイプライン

デプロイを検証する

多くの場合、デプロイの成功や失敗には、ターゲット プラットフォームへのアーティファクトの展開だけではなく、デプロイをさらに確認するための、自動化された統合形式やカナリアテスト形式のテストが伴います。

お客様からは、Google Cloud Deploy でデプロイ検証の正式なサポートをしてほしいというご要望がありました。デプロイが成功しても、デプロイ後の検証でテスト失敗となったとき、ロールアウトも失敗と認識されるべきです。

Google Cloud Deploy では、アプリケーションのデプロイが成功したときに 1 つ以上の(テスト)コンテナを特定し、即座に実行できるようになりました。この Google Cloud Deploy でのデプロイ検証サポートは、Skaffold 2.0 で最近導入された verify コマンドに基づいています。アプリケーションの状態を検証するために、コンテナ内で実行される任意のプロセスを使用できます。たとえば、curl コマンドを発行するという簡単なものや、サードパーティー ツールを使用してすべてのリンクを検証したり、パフォーマンス指標を集めたりするような複雑なものがあります。デプロイの検証は、デプロイ(「コマンド」)をテストするように Skaffold を構成し、Cloud Deploy デリバリー パイプラインの進行シーケンスに「verify: true」を指定するだけで簡単に実行できます。

レンダーやデプロイのオペレーションと同じように、Google Cloud Deploy のデプロイ検証は、独自の実行環境で行われます。これにより、指定されたワーカープールやサービス アカウントを使用したカスタム検証構成が可能になり、任意の Cloud Storage ロケーションに結果を保存できます。検証結果は、ロールアウトの成功や失敗を決定するときの要因となります。デプロイの検証が失敗したとき、ログを検査し、必要であれば再デプロイせずにデプロイ検証を再実行することは簡単です。

デプロイ検証は、Cloud Run を含むすべてのターゲット タイプで利用可能です。

https://storage.googleapis.com/gweb-cloudblog-publish/images/rolloutdetails.max-2200x2200.jpg
ロールアウトの詳細におけるデプロイの検証状況と結果

今後の計画

包括的で使いやすく、費用対効果に優れた DevOps ツールは、効率的なソフトウェア デリバリー機能を構築するうえで重要な存在です。Google は、Google Cloud Deploy が完全な CI / CD パイプラインの実装を実現するうえで皆様のお役に立つことを願っています。この取り組みはまだ始まったばかりです。今後数か月にわたって Google Cloud Deploy に魅力的な機能を導入してまいりますので、引き続きご注目ください。

また、プロダクト ページドキュメントクイックスタートチュートリアルもご参照いただけます。最後に、こちらから Google Cloud Deploy に関するフィードバックをぜひお寄せください。皆様からのご意見やご感想をお待ちしております。

- プロダクト マネージャー S. Bogdan
- プロダクト マネージャー Justin Mahood

投稿先