このドキュメントでは、アプリケーション中心の Google Cloud、そのコアプロダクト、およびそれらが連携してアプリケーション管理ライフサイクル全体を効率化する仕組みの概要について説明します。
クラウド アプリケーションがますます複雑になるにつれて、基盤となるインフラストラクチャの管理が大きな課題になる可能性があります。また、これらのアプリケーションは、複数のGoogle Cloud プロジェクトに分散された多数のコンポーネントで構成されていることがよくあります。この分散により、デベロッパーとオペレーターは明確で統一されたビューを維持できなくなり、モニタリング、トラブルシューティング、費用管理などのタスクが複雑になります。
この課題に対処するため、 Google Cloud は、アプリケーション コンポーネントのデプロイ、管理、運用を行うための統合されたアプリケーション中心のエクスペリエンスを提供します。個々のインフラストラクチャ リソースからアプリケーション全体に焦点を移すことで、ビジネス機能や日常業務に沿った方法でアプリケーションを管理できます。
アプリケーション管理の主なコンセプト
アプリケーション中心のエクスペリエンスの中核となるのは、App Hub アプリケーションのコンセプトです。アプリケーションは、サービスやワークロードなどのコンポーネントの論理グループとして機能し、これらが連携して特定のビジネス機能を提供します。
アプリケーション管理を有効にするには、アプリケーション管理境界を定義します。これは、基盤となる Google Cloud リソースを App Hub が検出してアプリケーションに登録できるプロジェクトのコレクションです。リソース検出の境界は、管理プロジェクトとして機能する Google Cloud プロジェクトを指定することで確立されます。
アプリケーション中心の Google Cloud のすべてのキーコンセプトの詳細な定義については、キーコンセプトをご覧ください。
リソース組織でのデータの処理
管理プロジェクトには、高レベルのアプリケーション属性だけでなく、次のようなアプリケーション モデル全体が保存されます。
- App Hub データ: アプリケーション、サービス、ワークロードの定義と関係など、アプリケーションの完全な論理モデル。このモデルには、アプリケーションの所有者、重要度、環境などのメタデータも含まれます。
- Application Design Center のデータ: 新しいアプリケーションの設計とデプロイに使用されるアプリケーション テンプレート、カタログ、スペースなどの要素。
管理プロジェクトが削除されると、このアプリケーション モデルデータはすべて完全に失われます。Google Kubernetes Engine クラスタやロードバランサなどの基盤となるインフラストラクチャ リソースは引き続き存在しますが、App Hub 内の論理グループと関係は失われます。
管理プロジェクトを設定すると、アプリケーション管理用の API が自動的に有効になります。これには、App Hub、Application Design Center、Google Cloud Observability の API と、それらに関連する API 依存関係が含まれます。自動的に有効になる API の詳細については、管理プロジェクトで API を有効にするをご覧ください。
次の図は、アプリケーション管理用にリソースを整理する方法の例を示しています。この場合、2 つのフォルダ(ビジネス ユニット 1 と ビジネス ユニット 2)がそれぞれの管理プロジェクトに関連付けられ、個別のアプリケーション管理境界が定義されます。各フォルダは、アプリケーションでサービスとワークロードとして登録されたリソースを持つビジネス ユニットを表します。最初のフォルダ(ビジネス ユニット 1)には、別のビジネス サブユニットを表すサブフォルダ(ビジネス サブユニット 1)と、独自のリソースを持つさまざまな独立したプロジェクトも含まれています。すべてのフォルダはアプリケーション管理用に構成されているため、それぞれ独自の管理プロジェクトがあります。
アプリケーション中心の管理のメリット
Google Cloud リソースを整理し、サービスとワークロードとしてアプリケーションに登録すると、さまざまなプロジェクトやプロダクトで個々のリソースを追跡する代わりに利用できます。このアプローチでは、次のことが可能になります。
- アプリケーション テンプレートを使用して、一貫性のあるアプリケーションの設計、デプロイ、更新を管理します。
- アプリケーションの健全性、パフォーマンス、費用を包括的に把握できます。
- 関連するコンポーネントを 1 つの単位として管理することで、オペレーションを効率化します。
- 所有権を割り当て、アプリケーション レベルでポリシーを適用することで、ガバナンスを強化します。
- リソースの依存関係を明確に把握することで、トラブルシューティングを迅速化します。
アプリケーション管理のライフサイクル
Google Cloud でのアプリケーションの管理は、論理的なライフサイクルに従います。まず、アプリケーションを定義して整理し、次に運用して最適化します。どのステージでも AI アシスタンスを利用できます。
次の図は、 Google Cloudでアプリケーションを管理できる主なプロダクトと機能を示しています。
図中の番号は、次の説明を参照しています。
リソース: App Hub のアプリケーションは、サービスとワークロードとして登録されているGoogle Cloud リソースのグループを表します。管理プロジェクトでアプリケーション管理境界を構成することで、App Hub が管理できるリソースを定義します。たとえば、アプリ対応フォルダを構成して、フォルダレベルで境界を定義できます。境界の管理プロジェクトには、App Hub と Application Design Center のデータが保存され、アプリケーション管理に必要な API が有効になります。これらのコンセプトの詳細については、基本的なコンセプトとリソース組織でのデータ処理をご覧ください。
アプリケーションの設計とデプロイ:
- Application Design Center: 更新可能な事前構築済みテンプレートまたはカスタム テンプレートを使用して、新しいアプリケーションを設計してデプロイします。アプリケーションをデプロイすると、新しい Google Cloud リソースが作成され、それらのリソースとアプリケーションが App Hub に登録されます。詳細については、App Design Center の概要をご覧ください。
- App Hub: アプリケーション管理境界内の既存のリソースをアプリケーションに整理して、サービスとワークロードの統合ビューを取得します。詳細については、App Hub の概要をご覧ください。
Application Design Center を使用して新しいアプリケーションをビルドする場合でも、App Hub を使用して既存のリソースを整理する場合でも、結果として App Hub にカタログ化され、統合オペレーションの基盤となる定義済みアプリケーションが作成されます。
アプリケーション中心のオブザーバビリティ: Google Cloud Observability のプロダクトと機能を使用して、アプリケーションをモニタリングし、使用状況を最適化します。
- 指標、ログ、トレースを使用してアプリケーションの健全性とパフォーマンスをモニタリングします。
- 指標とログに基づいてアラートを設定します。
- Cost Explorer で費用とリソース使用量を分析します。
アプリケーション分析情報: Cloud Hub を使用して、アプリケーションとそのコンポーネントの運用データと分析情報(アラート、インシデント、メンテナンス アクティビティなど)を一元的に確認し、アプリケーションをプロアクティブに管理します。詳細については、Cloud Hub の概要をご覧ください。
アプリケーション アシスタンス: Gemini Cloud Assist から、Application Design Center でのアプリケーションの設計、問題の調査、リソースの最適化などのタスクについて、AI を活用したサポートを受けることができます。詳細については、Gemini Cloud Assist の概要をご覧ください。