App Hub - トイルを排除したアプリケーション管理を実現
Google Cloud Japan Team
※この投稿は米国時間 2024 年 4 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。
App Hub のご紹介
クラウド アプリケーションは、依存するサービスやクラウド リソース(データベース、ロードバランサ、Kubernetes クラスタなど)の複雑な相互作用によって動作します。開発者は、こうした相互作用を操作、分類してその構成要素と依存関係を把握するために多くの時間と労力を費やしています。この作業は時間がかかるだけでなく、脆いものでもあります。明確に定義された階層構造を最初に用意しても、アプリケーションやサービスが進化していくと、使用するリソースがこの最初に決められた構造に縛られてしまう傾向があります。また、アプリケーションはプロジェクトやフォルダの境界をまたいでいる場合が多いことも、問題をさらに複雑にしています。
本日は App Hub をご紹介します。App Hub は、デプロイされたアプリケーションを正確に表現することでクラウド アプリケーションのデプロイと管理を簡素化します。App Hub を使用すると、使用している特定の Google Cloud プロダクトに関係なく、あらゆるリソースの依存関係を把握できます。このビューは、実際のデプロイ状況に応じて変化し、ユーザー向けに維持されるため、いつでも最新状況が表示されます。ユーザーはこのビューを利用してデプロイとその属性の状態をいつでも把握できます。さらに、Gemini Cloud Assist との緊密なインテグレーションにより、役立つ詳細な分析情報やインシデントの解決方法に関する推奨事項に基づいて、デプロイされたアプリケーションについて理解することができます。
App Hub は現在、一般提供されています。
App Hub の仕組み
App Hub の中核となっているのは、複数の Google Cloud プロジェクトからさまざまなインフラストラクチャ リソースを取り込んで、サービスとワークロードの標準化された論理構造を抽出できる統一モデルです。こうしたサービスとワークロードは、エンドツーエンドのビジネス機能を実行するアプリケーションごとにグループ化できます。
現在リリースされている App Hub は、リージョン ロードバランサと Compute Engine マネージド インスタンス グループ(MIG)からのアプリケーションの作成に使用できますが、近日中に Google Kubernetes Engine(GKE)、Cloud Run、Cloud Service Mesh、Google Cloud マネージド サービス(データベースやデータ分析プロダクトなど)にも対応する予定です。App Hub では、API、gcloud コマンドライン インターフェース、グラフィカル ユーザー インターフェース、Terraform スクリプトを使用してアプリケーションを作成し、その属性を定義できます。また、インベントリ管理、インシデント報告、チケット発行システムなどに使用している既存の自社開発ツールやサードパーティ ツールとのインテグレーションも可能です。
App Hub はプロジェクトをまたいだ Google Cloud リソースをアプリケーションごとに整理できます。
App Hub は以下の機能を提供します。
-
アプリケーションの整理と分類: App Hub を使用すると、所有者、重要度、環境などの属性を使ってアプリケーションを整理、分類できます。これにより、特定のアプリケーションと関連するリソースを簡単に探して管理できるようになります。
-
アプリケーションのリソースの把握: App Hub は、アプリケーションの構成要素を把握しやすくします。これは、開発者やオペレーターがアプリケーションの仕組みとその依存関係を理解するうえで役立ちます。
App Hub を使ってみる
App Hub はアプリケーションの概念を軸にして機能します。まず、以下の 3 つのシンプルなステップから始めます。
-
管理境界を定義する - 管理境界の定義には、ホスト プロジェクトを使用します。1 つのホスト プロジェクトに関連付けられたプロジェクト内のアプリケーションはすべて、同じ管理境界に属します。つまり、ホスト プロジェクトに関連付けられたすべてのプロジェクトのアプリケーションには、アプリケーションの一部としてのサービスやワークロードの登録や、アプリケーションの更新や削除ができる共通の管理者または管理者グループがいます。個別に管理できるようにするには、組織内に複数のホスト プロジェクトを作成します。たとえば、ビジネス ユニット(小売、オンラインなど)ごとや、ビジネス機能(財務、販売など)ごとにホスト プロジェクトを作成できます。App Hub を有効にしてホスト プロジェクトを作成する方法の詳細については、こちらをクリックしてご確認ください。
-
インフラストラクチャ リソースを検出する - 計測手法を追加しなくても、プロジェクトのグループからリソースを検出できます。プロジェクトをホスト プロジェクトに追加すると、App Hub はプロジェクト内のインフラストラクチャ リソースをサービスやワークロードとして自動的に検出します。次に App Hub は、検出されたサービスやワークロードをグループ化し、アプリケーションごとに整理できるようユーザーを支援します。アプリケーションの整理は、UI、CLI、API を使用して手動で行うことも、Terraform で自動で行うこともできます。サービスやワークロードをアプリケーションに登録する方法の詳細については、こちらをクリックしてご確認ください。
- ビジネス属性を定義する - アプリケーション、サービス、ワークロードをより適切に整理するには、所有者、重要度、環境などのビジネス属性を定義します。App Hub でビジネス属性を定義する方法の詳細については、こちらをクリックしてご確認ください。
基盤となるリソースが離散した状態ではなくなり、アプリケーションを追跡、モニタリング、管理できるようになりました。
App Hub の次のステップ
現在の App Hub も高度なアプリケーション管理機能を提供しますが、さらなる機能強化が予定されています。目指しているのは、ビジネス目標に合わせたシームレスなアプリケーション管理を実現し、複雑なインフラストラクチャと格闘する必要性を最小限にすることです。たとえば、インシデント管理の効率化や、セキュリティ管理の適用、全体的な健全性のチェック、割り当て調整の管理を App Hub でサポートし、さまざまなシナリオにわたってアプリケーション内のリソースを総合的に管理することができます。
現在 App Hub API は一般提供(GA)されており、すべてのお客様に追加料金なしでご利用いただけます。詳細については、ウェブサイトをご覧ください。利用を開始して App Hub アプリケーションを作成するには、セットアップ手順に沿って操作してください。
ー Google Cloud アプリ エコシステム担当バイス プレジデント兼ゼネラル マネージャー Keith Ballinger
ー Google Fellow Anna Berenberg