1分でわかるIT用語集

マイクロサービス

マイクロサービスは、単一の機能(サービス)を組み合わせてアプリケーションを構築する開発手法のこと。「マイクロサービスアーキテクチャ」とも呼ばれる。マイクロサービスでは、小さな独立したサービスが、それぞれ特定の機能を担当し、サービス間の連携はAPIを通じて行われる。OSやハードウェアなどの実行基盤が異なっていても連携は可能だ。

従来の「モノリシック」と呼ばれる開発手法では、複数の機能からなる一枚の岩(モノリス)のように1つのアプリケーションを構築する。モノリシックなアプローチでは変更や改修があった場合、アプリケーション全体に影響を及ぼす危険性がある。また、一部の障害でもシステム全体がダウンするリスクが高い。修正や変更を重ねるうちにコードが複雑化し、システムの仕様変更や機能拡張が困難になるというデメリットもある。

一方で、マイクロサービスは各サービスが独立しているため、一部のサービスに障害が生じても、他のサービスに影響を与えにくく、サービスごとに開発・テスト・リリースを進められるので、作業の効率化を図れる。また、メンテナンス性に優れ、システムの変更や改修時のリスクを軽減でき、開発や改良を迅速に行えるため、結果として生産性の向上につながる。

ただし、マイクロサービスにはサービスの分割によりデータも分散するというデメリットがあり、分散したデータ間で整合性や一貫性の確保が難しくなることがある。また、異なる技術を多用しているため、全体の設計が複雑化する恐れがあり、高度なスキルと知識を持った人材の確保が必須となる。導入にはメリットとデメリット双方を知ったうえで、十分に検討する必要があるだろう。
(青木逸美)