Google Cloud Next Tokyo:7/30、31 東京ビッグサイトにて開催!

マイクロサービス アーキテクチャとは

マイクロサービス アーキテクチャ(多くの場合、マイクロサービスと略される)は、アプリケーション開発におけるアーキテクチャ スタイルの一つです。マイクロサービスによって、大きなアプリケーションを、それぞれが独自の責任範囲を持つ独立した小さな部分に分割できます。単一のユーザー リクエストを処理するために、マイクロサービス ベースのアプリケーションが多数の内部マイクロサービスを呼び出して、レスポンスを作成します。

コンテナは、依存関係に気を取られることなくサービスの開発に集中できるため、マイクロサービス アーキテクチャの例として非常に適しています。サーバーレス コンピューティングも一般的なアプローチの一つです。サーバーレス コンピューティングを使用すると、サーバーやインフラストラクチャを管理することなくマイクロサービスを実行し、需要に応じて機能を自動的にスケーリングできます。

Google Cloud でマイクロサービス アーキテクチャを作成する方法

マイクロサービス アーキテクチャの定義

マイクロサービス アーキテクチャは、サービスのコレクションとしてアプリケーションを開発するアプリケーション アーキテクチャの一種です。マイクロサービス アーキテクチャ ダイアグラムとサービスを個別に開発、デプロイ、管理するためのフレームワークを提供します。

マイクロサービス アーキテクチャ内の、各マイクロサービスは、アプリケーションの機能に対応し、独立したタスクを処理するように構築された単一のサービスです。各マイクロサービスは、シンプルなインターフェースを介して他のサービスと通信し、ビジネス上の問題を解決します。

モノリシック アーキテクチャとマイクロサービス アーキテクチャ

従来のモノリシック アプリケーションは、単一の統合されたユニットとして構築されます。すべてのコンポーネントは密結合され、リソースとデータを共有しています。特にアプリケーションの複雑さが増すにつれて、スケーリング、デプロイ、メンテナンスに問題が生じる可能性があります。一方、マイクロサービス アーキテクチャでは、アプリケーションが小規模な独立したサービス スイートに分割されます。各マイクロサービスは、独自のコード、データ、依存関係を持つ自己完結型です。この方法には以下のような潜在的メリットがあります。

  • スケーラビリティの向上: 個々のマイクロサービスは、固有のニーズに応じて個別にスケールできます
  • 復元力の向上: 1 つのマイクロサービスに障害が発生しても、必ずしもアプリケーション全体に影響が及ぶわけではありません
  • クラウド費用の最適化: 従来のマイクロサービスでは、インフラストラクチャが複雑になり、隠れた費用が発生する可能性があります。組織では多くの場合、クラウド費用の可視性を高め、個々のサービスが予算を超過することなく効率的にスケーリングされるようにするために、マイクロサービスと並行して FinOps アプローチを採用しています。

業界の例

  • e コマース: プラットフォームはマイクロサービスを使用して、商品カタログ、ショッピング カート、注文処理を個別に管理
  • ストリーミング サービス: マイクロサービスが動画エンコード、コンテンツ配信、レコメンデーション エンジンを処理し、数百万人のユーザーに同時にサービスを提供
  • 金融サービス: 金融機関は、不正行為の検出や支払い処理にマイクロサービスを使用し、市場の変化やセキュリティ要件に迅速に対応

マイクロサービス アーキテクチャの用途

マイクロサービスは一般的に、アプリケーション開発をスピードアップするために使用されます。一般的なマイクロサービス アーキテクチャの例を以下に示します。

モノリシックなプラットフォームでホストされている複雑なウェブサイトは、クラウドベースとコンテナベースのマイクロサービス プラットフォームに移行できます。

組織がエージェント クラウド環境に移行するのに伴い、マイクロサービスはエージェント ワークフローのバックボーンとして機能するようになっています。AI を活用したタスクを独立したサービスに分割することで、デベロッパーは、安全でスケーラブルなアーキテクチャ内で、データ取得、推論、実行などの特定の機能を実行するモジュール型エージェントを作成できます。

マイクロサービスの設計パターン

分散システムの複雑さを管理し、パフォーマンスを最適化するために、現在ではアーキテクトはさまざまなコア設計パターンを利用しています。

オブザーバビリティ: 分散システムのモニタリング

数十もの独立したサービスにわたって単一のリクエストを追跡するのは複雑になるため、オブザーバビリティはマイクロサービスにとって不可欠です。最新のチームは、指標、ログ、トレースを組み合わせて使用し、システムの健全性を把握しています。Gemini Cloud Assist などの AI を活用したツールを活用して、分散アプリケーションの異常を自動的に特定し、コンテキストに応じたトラブルシューティングを提供することで、オブザーバビリティをさらに強化できます。

べき等性: 信頼性の確保

分散マイクロサービス環境では、ネットワーク障害によってリクエストが再試行されることがあります。べき等性は、設計の基本原則です。べき等性により、オペレーションを複数回実行しても、初回実行時と同じ結果が得られることが保証されます。これは、決済処理、注文管理、イベント ドリブン システムにおいてデータの整合性を維持するために不可欠です。

イベント ドリブン アーキテクチャ(EDA)

最新のアーキテクチャでは、イベントを使用した非同期通信がますます好まれるようになっています。EDA では、サービスがイベント(状態の変化)をメッセージ ブローカーにパブリッシュし、他のサービスがこれらのイベントをサブスクライブします。これにより、疎結合が促進され、障害の分離が改善されます。

Google Cloud でビジネスの課題を解決する

新規のお客様には、Google Cloud で使用できる無料クレジット $300 分を差し上げます。
お客様独自の課題を詳細に検討するには、Google Cloud のセールス スペシャリストまでご相談ください。

次のステップ

$300 分の無料クレジットと 20 以上の無料枠プロダクトを活用して、Google Cloud で構築を開始しましょう。

  • Google Cloud プロダクト
  • 100 種類を超えるプロダクトをご用意しています。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。また、すべてのお客様に 25 以上のプロダクトを無料でご利用いただけます(毎月の使用量上限があります)。
Google Cloud