このドキュメントは、App Hub アプリケーションを設定、管理、使用するユーザーを対象としています。
アプリケーション中心の組織
App Hub は、ビジネス機能を検討する場合と同じように、アプリケーション中心の方法で Google Cloud リソースを整理することで、ビジネス目標に合わせることができます。App Hub は Google Cloud によって完全に管理されるため、追加のインフラストラクチャをインストールする必要はありません。
App Hub は、1 つ以上の Google Cloud プロジェクトから取得したインフラストラクチャ リソースを簡単に管理し、複雑なビジネス オペレーションと大規模なガバナンスを簡素化できます。App Hub は、これらのリソースを App Hub サービスとワークロードとして含む App Hub アプリケーションを作成することで、これらのインフラストラクチャ リソースを整理するのに役立ちます。アプリケーションにサービスとワークロードを登録すると、次の問題の解決に役立ちます。
- プロジェクト全体に存在するアプリケーションの数。
- アプリケーションのサービスとワークロードは互いにどのように依存しているか。
- これらのアプリケーション、サービス、ワークロードの所有者は誰か。
- 重要なアプリケーションの数。
- 本番環境にあるアプリケーションの数。
たとえば、ビジネス用のアプリケーションの開発に複数のチームが関わっているとします。このようなチームが、多数の Google Cloud プロジェクトに分散した数百、数千の Google Cloud リソースを作成できます。App Hub はインフラストラクチャ リソースを自動的に検出し、サービスとワークロードの抽象化として表します。これらのサービスとワークロードをアプリケーションに登録して、リソースの所有権と重要度を明確にできます。詳細については、App Hub のコンセプトとデータモデルをご覧ください。
リソースをアプリケーションに整理すると、ビジネス ロジックとポリシーをアプリケーションに適用できるため、そのアプリケーションのみが影響を受け、組織内のどの担当者がそのアプリケーションを担当するかを把握できます。たとえば、特定の環境(本番環境など)用のアプリケーションを作成し、その所有者に高い権限を付与できます。
チーム構造の変更が発生した場合は、App Hub を使用して、アプリケーションの所有権を簡単に移行できます。また、App Hub を使用すると、さまざまなリソースやアプリケーション間の依存関係をより簡単に判断できます。
ユースケース
App Hub は、次のようなユースケースをサポートしています。
アプリケーションの整理と分類 - App Hub では、
Owner
、Criticality
、Environment
などの属性を使用してアプリケーションの整理と分類ができます。これにより、特定のアプリケーションと関連するリソースを簡単に探して管理できるようになります。アプリケーション内のリソースを把握する - App Hub は、アプリケーションの構成を把握するのに役立ちます。これは、デベロッパーとオペレーターがアプリケーションの仕組みとその依存関係を理解するうえで役立ちます。
アプリケーションのリソースをモニタリングする(プレビュー)- App Hub には、トラフィック、サーバー エラー率、P95 レイテンシ、CPU 使用率、メモリ使用率など、モニタリングにおけるゴールデン シグナルに関する包括的な指標の概要が示されます。これらのシグナルは、オペレーターがアプリケーションのパフォーマンスを把握し、依存関係を特定して問題を解決するのに役立ちます。
コンセプトとデータモデル
App Hub には 3 つの主要なコンセプトがあります。
- アプリケーションはエンドツーエンドのビジネス機能になるサービスとワークロードの機能グループです。
- ワークロードは、ビジネス機能の最小の論理サブセットを実行するバイナリ デプロイメントを表します。たとえば、マネージド インスタンス グループ(MIG)や Google Kubernetes Engine(GKE)のデプロイなどです。
- サービスは、ネットワークを介して使用できるように、クライアントに機能を公開するネットワークまたは API インターフェースです。たとえば、ロードバランサの転送ルールです。
App Hub は、アプリケーションのコンセプトに基づいて構築されています。
アプリケーションとそれに関連する属性を使用して、サービスとワークロードの抽象化に関するガバナンスとオペレーションの境界を作成できます。これらの属性を使用して、オブザーバビリティ、監査、ガバナンスなどのアクティビティを実行しながら、アプリケーションや関連するサービスとワークロードを整理して配置できます。
ホスト プロジェクトのサービスまたはワークロードの登録ステータスは、次のいずれかの値になります。
- 検出済み: アプリケーションに登録できるサービスとワークロード。検出されたサービスとワークロードには、アプリケーションから削除または登録を解除するサービスやワークロードも含まれます。
- 登録済み: アプリケーションに登録されているサービスとワークロード。登録できるのは、検出されたサービスまたはワークロードのみです。サービスまたはワークロードを登録すると、登録ステータスが [検出済み] から [登録済み] に更新されます。
- 接続解除: アプリケーションに登録されているサービスとワークロード、基盤となるリソースが削除されています。たとえば、サービスによって表される転送ルールが削除されると、サービスの [登録のステータス] は [接続解除] に更新されます。接続が解除されたサービスとワークロードは、登録を解除するまでアプリケーションに残ります。
ホスト プロジェクト
ホスト プロジェクトは App Hub リソース(アプリケーション、サービス、ワークロード)をホストします。App Hub のサービスとワークロードは、ホスト プロジェクトに接続されているサービス プロジェクトで検出されたリソースを抽象化します。ホスト プロジェクトは、その境界の一部であるアプリケーションの管理境界として機能します。特定のビジネスニーズに対応する複数のホスト プロジェクトとアプリケーションについては、個別の境界を作成できます。ホスト プロジェクトでは、アプリケーションのサービスとワークロードが複数のプロジェクトに存在する場合、プロジェクトをまたぐアプリケーションを管理することもできます。
基盤となるインフラストラクチャ リソースと App Hub データモデルのコンセプトを区別するために、新しい Google Cloud プロジェクトをホスト プロジェクトとして作成することをおすすめします。複数のホスト プロジェクト(たとえば、独立したビジネス ユニットごとに 1 つのホスト プロジェクト)が必要な場合は、新しいフォルダを作成して、プロジェクトを追加することをおすすめします。
ホスト プロジェクト(apphub.admin
、apphub.editor
、apphub.viewer
)に付与された Identity and Access Management(IAM)ロールに基づいて、アプリケーションを作成し、アプリケーションに属性を割り当てることができます。サービスとワークロードの登録、表示を行います。詳細については、App Hub のロールと権限をご覧ください。
ホスト プロジェクト作成の詳細については、App Hub を設定するをご覧ください。
サービス プロジェクト
サービス プロジェクトとは、基盤となるインフラストラクチャのリソースを含む Google Cloud プロジェクトです。サービス プロジェクトをホスト プロジェクトに接続して、インフラストラクチャ リソースをアプリケーションにグループ化できるようにします。
サービス プロジェクトを複数のホスト プロジェクトに接続することはできません。ホスト プロジェクトは、それ自体のサービス プロジェクトにできますが、別のホスト プロジェクトのサービス プロジェクトにすることはできません。
プロパティと属性
App Hub データモデルには、アプリケーション、サービス、ワークロードの機能を強化するプロパティと属性も用意されています。
プロパティは、サービスまたはワークロードの基盤となるインフラストラクチャ リソースを記述するフィールドです。プロパティは、サービスまたはワークロードの登録に役立つ、基盤となるインフラストラクチャ リソース内の有意な情報を特定するのに役立ちます。プロパティは App Hub では変更できません。基盤となるリソースが変更された場合にのみ更新が行われます。たとえば、プロジェクト ID、ロケーション、ゾーンなどです。
属性は、アプリケーション、サービス、ワークロードに設定可能な変更可能なフィールドで、識別と整理が容易になります。サポートされている App Hub 属性には次のものがあります。
- オーナー属性には、アプリケーション、サービス、ワークロードの連絡先情報が含まれます。サポートされているオーナータイプは次のとおりです。
developer_owners
: 開発とコーディングを担当する開発チーム。operator_owners
: ランタイムとオペレーションの整合性を確保するオペレーター チーム。business_owners
: 品質を確保し、ユーザーの期待に応えるビジネスチーム。
アプリケーション、サービス、ワークロードの重要度は、ビジネスにとっての重要性を示します。サポートされている値は次のとおりです。
- ミッション クリティカル
- 高
- 中
- 低
アプリケーション、サービス、ワークロードの環境とは、ソフトウェア ライフサイクルのステージ(本番環境、ステージング環境、開発環境など)のことです。サポートされている値は次のとおりです。
- 本番環境
- ステージング
- テスト
- 開発
API と gcloud
リファレンス
App Hub のプロパティの詳細については、次のリファレンスをご覧ください。
- App Hub REST API リソース
gcloud apphub
コマンド リファレンス