17章マイクロサービスアーキテクチャ

マイクロサービスアーキテクチャは、近年非常に人気のあるアーキテクチャスタイルであり、その勢いは非常に高まっている。この章では、マイクロサービスアーキテクチャを際立たせる重要な特徴を、トポロジーと哲学の面から俯瞰していく。

17.1 歴史

ほとんどのアーキテクチャスタイルは、繰り返し現れる特定のパターンに気がついたアーキテクトたちによって、後から命名される。次に来る大きなムーブメントを決めるような、秘密のアーキテクトグループが存在しているわけではない。むしろ、アーキテクチャスタイルの流行は、ソフトウェア開発のエコシステムが変化していく中で、多くのアーキテクトが共通の意思決定をしていることを表している。人々に模倣されるようなアーキテクチャスタイルは、ソフトウェア開発のエコシステムの変化に対処し、そこから利益を得るための共通で最善の方法から生まれてくるのだ。

マイクロサービスアーキテクチャは、そうした点で他のアーキテクチャスタイルとは異なっている。マイクロサービスアーキテクチャという命名は、かなり早い段階で命名され、Martin FowlerとJames Lewisによって2014年3月に発表された「Microservices」(https://oreil.ly/Px3Wk)という有名なブログエントリーによって一気に普及した。彼らは、この比較的新しいアーキテクチャスタイルに共通する多くの特徴を捉え、それらを明らかにした。彼らのブログ記事は、好奇心旺盛なアーキテクトたちが、マイクロサービスアーキテクチャを定義し、その根底にある哲学を理解するのに役立った。

マイクロサービスは、ソフトウェアプロジェクトの論理的設計プロセスであるDDD(ドメイン駆動設計)の考え方に大きく影響を受けている。DDDのコンセプトの一つである「 ...

Get ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.