もう少し詳しく
マイクロサービスとは、1つの大きなシステムを、機能ごとに独立した小さなプログラム(サービス)の集まりとして作る設計の考え方です。たとえばネット通販サイトであれば、「会員登録」「商品検索」「決済」「配送管理」といった機能を、それぞれ別々のサービスとして分けて作り、サービス同士はネットワーク越しに連携して動きます。これに対して、すべての機能を1つの大きなプログラムとして作る従来の方式は「モノリシック(一枚岩)」と呼ばれます。
どこで使われるか
多数の利用者を抱える大規模なWebサービスやスマートフォンアプリの裏側で広く採用されています。機能ごとに別のチームが担当し、それぞれ独立して開発・更新できるため、サービス全体の規模が大きくなっても開発を進めやすくなる利点があります。
身近な例
普段使っているネット通販アプリで、「検索機能だけ調子が悪いが、決済や配送確認はいつも通り使える」といった状況に遭遇したことがあれば、それはそのサービスがマイクロサービスとして作られており、障害が発生した機能だけが影響を受けている可能性があります。
注意点
マイクロサービスは、機能ごとの独立性が高まる一方で、サービス同士がネットワークでやり取りする分、仕組み全体は複雑になりやすいという側面もあります。どの機能で問題が起きているかを把握する監視の仕組みや、サービス同士の連携を管理する体制が整っていないと、かえって障害対応に時間がかかることもあります。