このところ注目度が高まるマイクロサービスアーキテクチャー(MSA)。ただ、「どんな条件が満たされればMSAと呼べるか」というと、実は厳密な定義はない。MSAは2014年にソフトウエア開発者のジェームズ・ルイス氏とマーティン・ファウラー氏によって提唱された概念だ。彼らの定義ではMSAは下の表に示す9つの特徴を持つとされている。しかし、これはあくまで概念的な特徴を列挙したものであり、明確な定義にはなっていない。

ジェームズ・ルイス氏、マーティン・ファウラー氏が提唱したマイクロサービスアーキテクチャー(MSA)の9つの特徴
(ファウラー氏のWebサイトに掲載されている記事「Microservices」(https://martinfowler.com/articles/microservices.html)を参考に野村総合研究所が作成)
[画像のクリックで拡大表示]

 ちなみに、MSAは2000年代初頭にバズワード化したものの、実際には成功事例の少ないSOA(Service-Oriented Architecture、サービス指向アーキテクチャー)と混同されることがある。どちらも「巨大化したシステムを効率よく保守するため、システムを分割する考え方」であるためだ。しかし、MSAとSOAでは、導入の目的や必要な技術が異なる。ここで違いを押さえておこう。

 SOAは主に業務プロセスとソフトウエアサービスの分離や、既存のソフトウエア資産の再利用を主目的としている。概念は比較的難解で、実現するためには複雑な技術の理解、ミドルウエア製品の導入などが必要だ。また、SOAでは「分割されたシステム(サブシステム)間の連携をつかさどる部品」が必要となる。この部品はオーケストレーションと呼ばれ、SOAを導入したシステムはオーケストレーションを軸にした一極集中の構成をとる。そのため、オーケストレーションが性能やシステム改修頻度など、さまざまな局面でボトルネックとなることが課題である。

 一方、MSAではソフトウエアに対して段階的な機能追加を可能にすること、管理をより簡単にすることなどが主な目的だ。SOAと比較して概念はシンプルで、導入にあたって押さえるべき要素技術も複雑ではない。システム間の連携をつかさどるオーケストレーションのような仕組みも必須ではないため、ボトルネック問題も生じにくい。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。