マイクロサービス アーキテクチャ(多くの場合、マイクロサービスと略される)は、アプリケーション開発におけるアーキテクチャ スタイルの一つです。マイクロサービスによって、大きなアプリケーションを、それぞれが独自の責任範囲を持つ独立した小さな部分に分割できます。単一のユーザー リクエストを処理するために、マイクロサービス ベースのアプリケーションが多数の内部マイクロサービスを呼び出して、レスポンスを作成します。
コンテナは、依存関係に気を取られることなくサービスの開発に集中できるため、マイクロサービス アーキテクチャの例として非常に適しています。最新のクラウドネイティブ アプリケーションは、通常、コンテナを使用してマイクロサービスとして構築されます。
Google Kubernetes Engine がコンテナを使用してマイクロサービスベースのアプリケーションを作成する方法については、こちらをご覧ください。
準備ができたら新規のお客様には、Google Cloud で使用できる無料クレジット $300 分を差し上げます。
マイクロサービス アーキテクチャは、サービスのコレクションとしてアプリケーションを開発するアプリケーション アーキテクチャの一種です。マイクロサービス アーキテクチャ ダイアグラムとサービスを個別に開発、デプロイ、管理するためのフレームワークを提供します。
マイクロサービス アーキテクチャ内の、各マイクロサービスは、アプリケーションの機能に対応し、独立したタスクを処理するように構築された単一のサービスです。各マイクロサービスは、シンプルなインターフェースを介して他のサービスと通信し、ビジネス上の問題を解決します。
従来のモノリシック アプリケーションは、単一の統合されたユニットとして構築されます。すべてのコンポーネントは密結合され、リソースとデータを共有しています。特にアプリケーションの複雑さが増すにつれて、スケーリング、デプロイ、メンテナンスに問題が生じる可能性があります。一方、マイクロサービス アーキテクチャでは、アプリケーションが小規模な独立したサービス スイートに分割されます。各マイクロサービスは、独自のコード、データ、依存関係を持つ自己完結型です。この方法には以下のような潜在的メリットがあります。
さまざまな業界の多くの組織が、特定のビジネス課題に対処し、イノベーションを推進するために、マイクロサービス アーキテクチャを採用しています。いくつか例を挙げましょう。
マイクロサービスは一般的に、アプリケーション開発をスピードアップするために使用されます。Java を使用して構築されたマイクロサービス アーキテクチャは一般化しており、特に Spring Boot アーキテクチャで多用されています。マイクロサービスとサービス指向アーキテクチャはよく比較されます。どちらも同じ目的を持ち、モノリシック アプリケーションを小さなコンポーネントに分割しますが、それぞれアプローチが異なります。 マイクロサービス アーキテクチャの例を次に示します。
ウェブサイトの移行
モノリシックなプラットフォームでホストされている複雑なウェブサイトは、クラウドベースとコンテナベースのマイクロサービス プラットフォームに移行できます。
メディア コンテンツ
マイクロサービス アーキテクチャを使用すると、画像アセットと動画アセットをスケーラブルなオブジェクト ストレージ システムに保存し、ウェブやモバイルに直接提供できます。
トランザクションと請求書
支払い処理と注文は個別のサービス ユニットとして分離できるため、請求書発行が機能しない場合でも支払いの受け入れが継続されます。
データ処理
マイクロサービス プラットフォームは、既存のモジュール化されたデータ処理サービスのクラウド サポートを拡張できます。