マイクロサービスとは
Microservicesでは、特定のビジネス機能を実行し、Web インターフェイスを介して通信する個別に展開可能なサービスから分散アプリケーションを構築するアーキテクチャ プロセスについて説明します。 DevOps チームは、個々の機能をマイクロサービスに組み込み、マイクロサービスをビルディング ブロックのように組み合わせて、より大規模なシステムを構築します。
マイクロサービスは、オープン/クローズ原則の例を適用します。
- 拡張が可能です (公開されているインターフェイスを使用)
- 変更は受け付けられていません (それぞれが個別に実装され、バージョン管理されています)
マイクロサービスには、モノリシック アーキテクチャに比べて多くの利点があります。
- 1 つのサービスの問題がクラッシュしたり、アプリケーションの他の部分に影響を与えたりしないようにすることで、単一障害点 (SPOF) を除去できます。
- 個々のマイクロサービスを個別にスケールアウトして、追加の可用性と容量を提供できます。
- DevOps チームは、アプリケーションの他の部分に不必要に影響を与えることなく、新しいマイクロサービスを追加することで機能を拡張できます。
マイクロサービスを使用すると、チームの速度が向上します。 継続的インテグレーションや継続的デリバリーなどの DevOps 実践は、マイクロサービスの展開を推進するために使用されます。 マイクロサービスは、ソフトウェア開発チームがイベント駆動型プログラミングや自動スケールなどのシナリオを利用できるようにすることで、クラウドベースのアプリケーション アーキテクチャを適切に補完します。 マイクロサービス コンポーネントは、他のサービスと通信するために、通常は REST プロトコル経由で API (アプリケーション プログラミング インターフェイス) を公開します。
コンテナ クラスターを使用してマイクロサービスを実装する方法がますます一般的になってきています。 コンテナーを使用すると、マイクロサービスの分離、パッケージ化、デプロイが可能になり、オーケストレーションによってコンテナーのグループがアプリケーションにスケールアウトされます。
次のステップ
Azure 上のマイクロサービスの詳細をご覧ください。