マイクロサービスアーキテクチャを一言でいうと
一枚岩(モノリス)のシステムではなく、複数の疎結合なサービスの集合体でひとつの仕事を成し遂げるアーキテクチャである。
マイクロサービスアーキテクチャの何がすごいのか?
- サービス毎の独立性が高いので、ひとつの修正の影響が全体へ波及するようなことがない。
- サービスごとに独立して開発を進めることができるので、全体の調整が少なく、開発スピードを早めることができる。
- Amazon, Netflix, クックパッド, メルカリなど、名だたるWeb企業が採用している。
マイクロサービスアーキテクチャは、SOA(サービス指向アーキテクチャ)とは違うのか?
マイクロサービスアーキテクチャは、SOAに由来するが、異なるアーキテクチャである。以下が参考になる。
Qiita: [翻訳]マイクロサービスの考え方、SOAとの違い。
マイクロサービスアーキテクチャにおける、アーキテクトの役割は?
書籍「マイクロサービスアーキテクチャ」によると、ソフトウェアのアーキテクトは、建築士ではなく、都市計画家と考えた方が良い、とのことである。
都市計画家は 「この建物をあそこに建てよう」とは言わず、代わりに「都市を区画」します。
「区画」とは、なんの比喩でしょうか?
区画はサービス境界、またはおそらくサービスの粒度の粗いグループになります。
そして、アーキテクトは、「区画間」で起こることに時間を費やすべき、とのことなのです。 「区画内」で起きていることは、独立したチームにまかせてしまうのです。
最後にまとめると、マイクロサービスアーキテクチャは、
ひとつのサービスの振る舞いに集中して開発することができるので、開発現場の働き方改革の救世主だ!