Microservices
読み方: まいくろさーびす
Microservicesとは
システム設計においてサービスを境界において分割し構成するアーキテクチャ設計手法の一つです。
従来のモノリシック(一枚岩)にシステムを構成するアーキテクチャとは異なり小規模なサービス同士をAPIを通じてシステムを構成する点が異なります。
Microservicesの特徴
- 小規模なサービスの集合である。
それぞれが独立してストレージを持つような小規模なサービス群を連携させることでシステムを構築します。 - 疎結合
それぞれのサービスはそれ自体でサービスを提供する完結した小規模なサービスになり、APIを通じて他のサービスと連携を行うことで他サービスからの影響を分離することが出来ます - より複雑化する組織に対応可能
システムの成長に伴い複雑化するシステムを自律的なシステムの集合として構成することでビジネス上の組織の複雑化に対応するための手法でもあります
Microservicesを運用する組織は、自律的な小規模なチームの集合による組織構成であることが求められます。
Microservicesの歴史
かつて、システム設計においてシステム全体をモノリシックなアーキテクチャで構成するのが伝統的なアプローチでした。00年代に注目されたSOAアーキテクチャを更に推し進めた概念として2014年にMartin FowlerがMicroservicesを提唱しました。
AmazonやNetflixでMicroservicesアーキテクチャの実践されたことから、注目を集めました。
現場の声
AmazonやNetflix, Googleなどのビッグテックカンパニーでも実践されている手法であることから注目されたが、実際に正しくMicroservicesを設計し運用するためにはシステムレベルだけでなく組織上の構成もAmazonの「2枚ピザルール」のように、システム上の構成を反映したチームである必用があり、組織面でのDXも必要になります。
モノリシックなシステムをただ無闇に分割してもモノリシックなサービスの集合となってしまうため、分割するべき境界を正しく見極め組織としても自律分散型の組織であることが求められます。
<執筆・監修>
アルサーガパートナーズ株式会社 DX技術用語集制作チーム