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

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

コンテナは、依存関係に気を取られることなくサービスの開発に集中できるため、マイクロサービス アーキテクチャの例として非常に適しています。最新のクラウドネイティブ アプリケーションは、通常、コンテナを使用してマイクロサービスとして構築されます。

Google Kubernetes Engine がコンテナを使用してマイクロサービスベースのアプリケーションを作成する方法については、こちらをご覧ください。

準備ができたら新規のお客様には、Google Cloud で使用できる無料クレジット $300 分を差し上げます。

マイクロサービス アーキテクチャの詳細
マイクロサービス アーキテクチャの詳細

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

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

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

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

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

  • スケーラビリティの向上: 個々のマイクロサービスは、固有のニーズに応じて個別にスケールできます
  • アジリティの向上: マイクロサービスは独立して開発、デプロイ、更新できるため、リリース サイクルを短縮できます
  • 復元力の向上: 1 つのマイクロサービスに障害が発生しても、必ずしもアプリケーション全体に影響が及ぶわけではありません
  • テクノロジーの多様性: マイクロサービスの柔軟性により、チームは各サービスに最も適したテクノロジーを使用できます

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

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

業界の例

さまざまな業界の多くの組織が、特定のビジネス課題に対処し、イノベーションを推進するために、マイクロサービス アーキテクチャを採用しています。いくつか例を挙げましょう。


  • e コマース: 多くの e コマース プラットフォームでは、商品カタログ、ショッピング カート、注文処理、顧客アカウントなど、さまざまなオペレーションをマイクロサービスを使用して管理しています。これにより、需要に応じて個々のサービスをスケーリングし、カスタマー エクスペリエンスをパーソナライズして、新機能を迅速にデプロイできます。
  • ストリーミング サービス: ストリーミング サービスでは、動画エンコード、コンテンツ配信、ユーザー認証、レコメンデーション エンジンなどのタスクを処理するためにマイクロサービスがよく使用されます。これにより、数百万のユーザーに同時に高品質のストリーミング エクスペリエンスを提供できます。
  • 金融サービス: 金融機関は、不正行為の検出、支払い処理、リスク管理など、さまざまな業務を管理するためにマイクロサービスを使用しています。これにより、市場環境の変化に迅速に対応し、セキュリティを強化して、規制要件を遵守することが可能になります。

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

マイクロサービスは一般的に、アプリケーション開発をスピードアップするために使用されます。Java を使用して構築されたマイクロサービス アーキテクチャは一般化しており、特に Spring Boot アーキテクチャで多用されています。マイクロサービスとサービス指向アーキテクチャはよく比較されます。どちらも同じ目的を持ち、モノリシック アプリケーションを小さなコンポーネントに分割しますが、それぞれアプローチが異なります。 マイクロサービス アーキテクチャの例を次に示します。

ウェブサイトの移行

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

メディア コンテンツ

マイクロサービス アーキテクチャを使用すると、画像アセットと動画アセットをスケーラブルなオブジェクト ストレージ システムに保存し、ウェブやモバイルに直接提供できます。

トランザクションと請求書

支払い処理と注文は個別のサービス ユニットとして分離できるため、請求書発行が機能しない場合でも支払いの受け入れが継続されます。

データ処理

マイクロサービス プラットフォームは、既存のモジュール化されたデータ処理サービスのクラウド サポートを拡張できます。

次のステップ

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

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