マイクロサービスは、疎結合なアーキテクチャを実現します。
スピード・アジリティを実現する上で、アプリケーションのアーキテクチャは極めて重要です。
アーキテクチャによって、修正の容易さや影響範囲などが変わり、工数や期間に影響が出るからです。
仕様の変更に柔軟かつ俊敏に対応する上では、一般に疎結合なアーキテクチャのアプリケーションが望ましいと言われています。
そうした観点から、現在、注目されているのがマイクロサービスです。
マイクロサービスでは、1つのアプリケーションを構成する各機能をサービスとして分割します。
各サービスが1つのアプリケーションとして機能しながら、それらが協調して機能することで、全体としても1つのアプリケーションとして機能するのです。
マイクロサービスを支える技術、開発方法論が確立されてきました。
マイクロサービスでは、サービスごとにデータも分割して管理します。
マイクロサービスが注目されるようになった背景には、従来の「モノリス=大きな単一機能で1つの処理を実現するアーキテクチャ」では環境変化に迅速に対応できないこと、マイクロサービスを支える技術が整備されてきたこと、マイクロサービスによる開発を支えるアジャイル開発方法論が確立されてきたことがあります。