第4章 マイクロサービス・アーキテクチャ マイクロサービスアーキテクチャ
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
クラウドネイティブアーキテクチャは、クラウドコンピューティングのプラクティスを取り入れるためにアプリケーションを構造化するが、マイクロサービスアーキテクチャは、アプリケーションをモジュール化し、クラウドネイティブモジュールをクラウドインフラ全体に分散させるために、それをさらに洗練させる。
その昔、すべてのアプリケーションはモノリシックアプリケーションであった。 開発者は、自分たちがプロデュースしているものがモノリスであることを特定する必要はなかった。 その後、クライアント、サーバコンピューティングの出現により、開発者は分散アーキテクチャ( )でアプリケーションを設計するようになり、1つのアプリケーションを異なるコンピュータ上で実行できる座標部分として構造化するようになった。サービス指向アーキテクチャ(SOA)は、分散されたパーツを、機能を実行するために別のサービスを呼び出すことができるサービスとして構造化するために発展した。モノリシック・アーキテクチャが複数の可能性の1つになったのはこの時である。
クラウド・コンピューティングの登場により、開発者はクラウドネイティブ・アプリケーションを作成し始めた(第3章)。同様に、開発者はクラウドネイティブ・アーキテクチャ( )をサービスに組み込むことで、サービス指向アーキテクチャのサービスをクラウド上で実行できるように設計し、サービスをマイクロサービスと呼ばれる小型アプリケーションに進化させた。
マイクロサービスアーキテクチャ入門
この章では、クラウドと同じように動作するアプリケーションを構築する方法を説明する。小さなコンポーネントの組み合わせで構成され、簡単に複製でき、インフラ全体に分散できる。 マイクロサービスアーキテクチャでは、分散アーキテクチャと クラウドネイティブアーキテクチャを組み合わせることでこれを実現する。 各マイクロサービスは、分散アーキテクチャのコンポーネントであり、単なるサービスではなく、アプリケーションのビジネスドメインの機能を実行するように設計されたクラウドネイティブサービスである。
これらのパターンはマイクロサービスの基本的な理解を前提としている。業界ではマイクロサービスをどのように定義しているのか、マイクロサービス・アーキテクチャがモノリシック・アーキテクチャとどのように異なるのか、そしてマイクロサービス・アーキテクチャがクラウド・ネイティブ・アーキテクチャとどのように関連しているのかを見ていく。そして、マイクロサービス・アプリケーションをアーキテクトし設計するためのパターンとその組み合わせ方を紹介する。
マイクロサービスとは何かという背景を理解した上で、マイクロサービスアーキテクチャではアプリケーションを設計するためのパターンを、本章のルートパターンであるマイクロサービス から紹介する。
マイクロサービス
マイクロサービスアーキテクチャでは、アプリケーションはマイクロサービスで構成される。
マイクロサービスとは何か」の中で、Amazon AWSはこのように定義している:
マイクロサービスとは、ソフトウェア開発に対するアーキテクチャと組織的アプローチの1つであり、ソフトウェアを、明確に定義されたAPIを介して通信する小さな独立したサービスで構成する。これらのサービスは、小規模で自己完結型のチームによって所有される。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access