世の中マイクロサービス・マイクロサービスうるさいのでちょっとこれ読んでおけという資料をまとめておきます。 はっきり言ってマイクロサービス化しようとすると、組織構造の話、エンジニアの責務の話など技術的な課題以外の領域にもいろんなチャレンジがあるので、普通のプロジェクトでも苦労する組織が取り組むとか、設計だけして開発を委託しているけどDB一極化がやばいので取り組むとかは止めておいた方がよいと思います。
概念
- Twelve Factor App
- マイクロサービスの話ではないが、モダンなアプリケーションを作りたければ開発チーム全員に叩き込んでおくべき内容
- Microservices
- Martin Fowlerによるマイクロサービスの解説。2014年5月に公開
- Martin Fowlerのブログは翻訳が可能で、日本語訳を公開してくれている人がいる。こちら
- 単純に言えば、「マイクロサービスとは単一のアプリケーションを小さなサービス群の組み合わせで構築する手法」である
- サービスによるコンポーネント化(独立して交換やアップグレードが可能、すなわちサービス単体でのデプロイが可能)
- ビジネスの単位にあわせた組織構造(技術的境界で組織を分割するのではなく、サービスをデプロイするのに必要な能力を持てるように分割する)
- プロジェクトではなくプロダクトにフォーカスする(AmazonでいうところのYou build it, You run it)
- エンドポイントの利用による疎結合化
- 分散統治(組織もデータも)
- インフラの自動化
- 壊れることを前提にした設計
- 漸進的な設計
- What is a Microservice?
- Martin Fowlerの話にくらべて簡単にまとまっている。言っていることは同じ。
- マイクロサービス化が進む背景について考えてみた
- コンウェイの法則はマイクロサービスのキーワードの1つ。SOAが早すぎたは同意
- Building Microservices - Designing Fine-Grained Systems
- オライリーから出版されている本。日本語版が出るという噂
アーキテクチャー
実際の事例
David Farley, Jez Humble
KADOKAWA/アスキー・メディアワークス 2012-03-14 4104円
池田 尚史, 藤倉 和明, 井上 史彰
技術評論社 2014-04-16 2894円
吉羽 龍太郎, 安藤 祐介, 伊藤 直也, 菅井 祐太朗, 並河 祐貴
技術評論社 2014-05-22 2992円
佐藤 聖規, 和田 貴久, 河村 雅人, 米沢 弘樹, 山岸 啓
技術評論社 2015-06-10 3110円