分散型アーキテクチャ パターン

Last reviewed 2024-10-29 UTC

ハイブリッド クラウドまたはマルチクラウド以外のコンピューティング環境からハイブリッド クラウドまたはマルチクラウド アーキテクチャに移行する場合は、まず既存のアプリケーションの制約と、それらの制約がアプリケーションの障害につながる可能性がある方法を検討します。この考慮事項は、アプリケーションまたはアプリケーション コンポーネントが複数の環境に分散して動作する場合に重要になります。制約を考慮したら、制約を回避または克服するための計画を立てます。分散アーキテクチャ内の各コンピューティング環境の独自の機能を考慮してください。

設計上の考慮事項

分散デプロイ パターンには、次の設計上の考慮事項が適用されます。ターゲット ソリューションとビジネス目標に応じて、各考慮事項の優先度と影響は異なります。

レイテンシ

アプリケーション コンポーネント(フロントエンド、バックエンド、マイクロサービス)を異なるコンピューティング環境に分散するアーキテクチャ パターンでは、通信レイテンシが発生する可能性があります。このレイテンシは、ハイブリッド ネットワーク接続(Cloud VPN と Cloud Interconnect)と、オンプレミス サイトとクラウド リージョン間、またはマルチクラウド設定のクラウド リージョン間の地理的な距離の影響を受けます。したがって、アプリケーションのレイテンシ要件とネットワーク遅延に対する感度を評価することが重要です。レイテンシに耐えられるアプリケーションは、ハイブリッド環境またはマルチクラウド環境での最初の分散デプロイに適しています。

一時的な状態と最終的な状態のアーキテクチャ

コスト、スケール、パフォーマンスに関する期待値と潜在的な影響を特定するには、計画段階で必要なアーキテクチャのタイプと想定される期間を分析することが重要です。たとえば、ハイブリッド アーキテクチャまたはマルチクラウド アーキテクチャを長期的または恒久的に使用する場合は、Cloud Interconnect の使用を検討してください。アウトバウンド データ転送の費用を削減し、ハイブリッド接続ネットワークのパフォーマンスを最適化するために、Cloud Interconnect は割引データ転送レートの条件を満たすアウトバウンド データ転送料金を割引します。

信頼性

IT システムを設計する際は、信頼性が重要な考慮事項です。稼働時間の可用性は、システムの信頼性の重要な要素です。Google Cloud では、スイッチオーバー機能を使用して、アプリケーションの冗長コンポーネントを単一リージョン内の複数のゾーンに、または複数のリージョンにデプロイすることで、アプリケーションの復元力を高めることができます。冗長性は、アプリケーションの全体的な可用性を向上させるための重要な要素の 1 つです。ハイブリッド環境とマルチクラウド環境に分散して設定されているアプリケーションでは、一貫したレベルの可用性を維持することが重要です。

オンプレミス環境や他のクラウド環境でシステムの可用性を高めるには、アプリケーションとそのコンポーネントに必要なハードウェアまたはソフトウェアの冗長性(フェイルオーバー メカニズムを含む)を検討してください。理想的には、すべての環境のさまざまなコンポーネントとサポート インフラストラクチャ(ハイブリッド接続の可用性を含む)で、サービスまたはアプリケーションの可用性を検討する必要があります。このコンセプトは、アプリケーションまたはサービスの複合可用性とも呼ばれます。

コンポーネントまたはサービス間の依存関係に基づいて、アプリケーションの複合可用性は、個々のサービスまたはコンポーネントの可用性よりも高くなったり低くなったりする可能性があります。詳細については、複合可用性: クラウド インフラストラクチャの全体的な可用性の計算をご覧ください。

必要なレベルのシステム信頼性を実現するには、明確な信頼性指標を定義し、さまざまな環境で自己修復し、中断に効果的に耐えられるようにアプリケーションを設計します。サービスのカスタマー エクスペリエンスを測定する適切な方法を定義するには、信頼性の目標を定義するをご覧ください。

ハイブリッド クラウドとマルチクラウドの接続性

分散アプリケーション コンポーネント間の通信の要件は、ハイブリッド ネットワーク接続オプションの選択に影響します。各接続オプションには、メリットとデメリットがあります。また、費用、トラフィック量、セキュリティなど、考慮すべき特定の要因もあります。詳細については、接続設計の考慮事項のセクションをご覧ください。

管理機能

一貫性のある統合された管理ツールとモニタリング ツールは、ハイブリッド クラウドとマルチクラウドの設定を成功させるために不可欠です(ワークロードのポータビリティの有無にかかわらず)。短期的には、これらのツールにより開発、テスト、運用の費用が増加する可能性があります。技術的には、使用するクラウド プロバイダが多いほど、環境の管理が複雑になります。ほとんどのパブリック クラウド ベンダーは、機能が異なるだけでなく、クラウド サービスを管理するためのツール、SLA、API も異なります。したがって、選択したアーキテクチャの戦略上のメリットと、短期的な複雑さと長期的なメリットを比較検討してください。

費用

マルチクラウド環境の各クラウド サービス プロバイダには、独自の課金指標とツールがあります。可視性と統合ダッシュボードを向上させるには、マルチクラウドのコスト管理と最適化ツールの使用を検討してください。たとえば、複数のクラウド環境にわたってクラウド ファースト ソリューションを構築する場合、各プロバイダのプロダクト、料金、割引、管理ツールによって、環境間で費用の不整合が生じる可能性があります。

クラウド リソースの費用を明確に定義された単一の方法で計算し、費用の可視性を確保することをおすすめします。費用の最適化には、費用の可視化が不可欠です。たとえば、使用しているクラウド プロバイダの請求データを組み合わせて、Google Cloud の Looker Cloud Cost Management Block を使用すると、マルチクラウドの費用を 1 か所で確認できます。このビューは、複数のクラウドにわたる費用の統合レポートビューを提供できます。詳細については、クラウド料金請求コスト管理を効果的に最適化するための戦略をご覧ください。

また、FinOps の実践を使用して費用を可視化することをおすすめします。強力な FinOps 実践の一環として、中核チームはリソース最適化の意思決定をプロジェクトに関与する他のチームに委任し、個々の責任を促進できます。このモデルでは、中核チームは費用最適化のプロセス、レポート、ツールを標準化する必要があります。費用の最適化のさまざまな側面と考慮すべき推奨事項の詳細については、Google Cloud アーキテクチャ フレームワーク: 費用の最適化をご覧ください。

データの移動

データの移動は、ハイブリッド クラウドとマルチクラウドの戦略とアーキテクチャの計画において重要な考慮事項です(特に分散システムの場合)。企業は、さまざまなビジネス ユースケース、それらを支えるデータ、データの分類方法(規制対象の業界の場合)を特定する必要があります。また、環境間で分散システムのデータ ストレージ、共有、アクセスがアプリケーションのパフォーマンスとデータの整合性にどのように影響するかも考慮する必要があります。これらの要因は、アプリケーションとデータ パイプラインのアーキテクチャに影響する可能性があります。Google Cloud の包括的なデータ移動オプションにより、企業は特定のニーズを満たし、シンプルさ、効率性、パフォーマンスを損なうことなく、ハイブリッド アーキテクチャとマルチクラウド アーキテクチャを採用できます。

セキュリティ

アプリケーションをクラウドに移行する場合は、一貫性、オブザーバビリティ、統合されたセキュリティの可視性など、クラウド ファーストのセキュリティ機能を検討することが重要です。各パブリック クラウド プロバイダには、独自のセキュリティ アプローチ、ベスト プラクティス、機能があります。標準の機能的なセキュリティ アーキテクチャを構築するには、これらの機能を分析して調整することが重要です。強力な IAM 制御、データ暗号化、脆弱性スキャン、業界規制への準拠も、クラウド セキュリティの重要な要素です。

移行戦略を計画する際は、前述の考慮事項を分析することをおすすめします。アプリケーションやトラフィックの量が増加しても、アーキテクチャに複雑さを導入する可能性を最小限に抑えることができます。また、ランディング ゾーンの設計と構築は、ほとんどの場合、クラウド環境にエンタープライズ ワークロードをデプロイするための前提条件です。ランディング ゾーンは、企業が複数の領域にわたってクラウド サービスをより安全にデプロイ、使用、スケーリングするのに役立ちます。ランディング ゾーンには、ID、リソース管理、セキュリティ、ネットワーキングなどのさまざまな要素が含まれています。詳細については、Google Cloud のランディング ゾーンの設計をご覧ください。

このシリーズの次のドキュメントでは、他の分散アーキテクチャ パターンについて説明します。