ISBN 9784873119311
モノリスからマイクロサービスへ : モノリスを進化させる実践移行ガイド
- 出版社
- オライリー・ジャパン
- 刊行
- 2020-12
概要
モノリスを段階的に解体しビジネスを止めずにマイクロサービスへ移行する
想定読者
既存のモノリシックシステムをマイクロサービスへ移行したい、またはその要否を判断したいバックエンドエンジニアとアーキテクト
こんな人には向いていない
- 新規システムをゼロからマイクロサービスで設計・構築したい開発者。本書の主題は既存モノリスの段階的分解であり、グリーンフィールド設計への指針は少ない
- Kubernetes・サービスメッシュ・オブザーバビリティなど運用基盤を体系的に学びたい読者。本書は移行手法にフォーカスしており、運用技術の詳細は別書で補う必要がある
- すでにマイクロサービス化を完了し、サービスの最適化やスケールが主な課題となっているチーム。本書は移行プロセスに特化しており、移行完了後の課題には対応しない
この本で身につくこと
- モノリスの種類(モジュラーモノリス・デプロイモノリス等)を見極め、分割を始める優先箇所を判断できる
- ストラングラーフィグパターンなど段階的移行パターンを理解し、ビジネスを止めずに機能を切り出す手順を組み立てられる
- マイクロサービス化のトレードオフ(運用複雑性・変更コスト・チーム間結合)を評価し、移行の要否をステークホルダーに説明できる
- 機能移行中に振る舞いを維持するためのデータ分解手法とサービス境界の設計方針を適用できる
- 移行途中でも本番稼働を継続するためのデプロイ戦略とロールバック設計を理解している
ハイライト(外部からの言及)
ビジネスを続けながら各サービスをメンテナンスするにはどうするか、マイクロサービスアーキテクチャへの移行について解説する書籍です — 出典
「止めずに移行する」という本書の核心を端的に表した一文
マイクロサービスを選択した場合のトレードオフや変更コストなどマイクロサービスの特性を再確認し、モノリスの分割と変更の方法、機能を移行しながら振る舞いを変える方法などを学びます — 出典
移行判断・分割手法・振る舞い維持の3軸が一冊で扱われることを示す
「マイクロサービスは選択肢を買い与える」という表現が使用されていました。つまり、今より良い状態になるために対価が必要になるということです。 — 出典
本書が移行ありきの立場を取らず、マイクロサービスをコスト付きの選択肢として位置付けていることを読者目線で示す。既存ハイライトの「移行手法」角度に対し「採用判断」角度を補完する
章立て
第1章 必要十分なマイクロサービス
マイクロサービスの定義と、移行前に問うべき判断軸を整理
第2章 移行を計画する
Strangler Fig パターン・Branch by Abstraction など段階的移行手法
第3章 モノリスを分割する
コードの分割パターン。コードレベルの実装ハウツー
第4章 データベースを分割する
本書最大の難所。共有 DB をどう切り離すか、データ整合性をどう保つか
第5章 成長の痛み
マイクロサービス採用後の運用課題と対処法。バランスの取れた視点
第6章 終わりに
本書の総括。マイクロサービスを採用しない判断の正しさも提示
関連記事 / 参考情報
- 本当にマイクロサービスでいいですか?移行パターンと対策を学んで正しく実践に活かそう! — 本書の移行パターンを整理しつつ、マイクロサービス採用の再検討を促す書籍解説記事
- WHY NEED PLATFORM? — プラットフォームエンジニアリングの必要性を論じる中で本書を参照文献として位置付けている
- マイクロサービスとは ー何か、いつ使う、どう使う — マイクロサービスの概念・適用タイミング・設計方針を整理した入門解説
学習のヒント
- まず「なぜ移行するか」を自社システムの文脈で整理してから読み始める。トレードオフ確認の章を先に熟読しておくと、後続の移行パターン選択が抽象論に終わらず具体的な判断になる
- 移行パターンの章(ストラングラーフィグ・ブランチバイアブストラクション等)は、自社のドメイン境界を念頭に置きながら読む。架空の例として流さず実際のシステム図と照らし合わせることで抽象度が一段下がる
- Sam Newman 前著『マイクロサービスアーキテクチャ』と対で参照すると、設計原則(前著)と移行手法(本書)が補完しあい体系が固まる。前著を持っている場合は章ごとに往復しながら読む使い方が効果的
- 翻訳は島田浩二氏によるもので、楽天レビュー13件・平均4.15と翻訳技術書として高い評価を維持している。訳語に迷った際は訳注を参照すると原著の意図が把握しやすい
前提知識
- REST API 設計と HTTP 通信の基本知識
- リレーショナルデータベースのスキーマ設計とテーブル結合の概念
- モノリシックな Web アプリケーションの実務開発または保守経験
- CI/CD パイプラインの基本的な仕組みの理解
次に読む本
マイクロサービスアーキテクチャ
本書が「いかに移行するか」に特化しているのに対し、前著は各サービスの設計原則・サービス間通信・テスト戦略を網羅している。移行フェーズを終えた後の設計判断で迷った際に、前著の該当章を参照すると理論的根拠が得やすい
Team Topologies
技術的なサービス分割を終えた後、チーム編成が追いつかないと移行コストが逆に増大する。Team Topologies はコンウェイの法則と逆コンウェイ戦略を体系化しており、アーキテクチャ変更とチーム再編を同時進行させる段階で参照すると判断軸が得やすい
データ指向アプリケーションデザイン
『モノリスからマイクロサービスへ』でデータ分割の課題が提起された後、イベントソーシング・ストリーム処理・分散トランザクションの原理まで踏み込みたい場合の補完書。サービス間のデータ設計で詰まった際に原理レベルから参照できる
出版社による内容紹介
マイクロサービスアーキテクチャへの実践的な移行ガイド! モノリシックなシステムのもつれを解きほぐして、マイクロサービスアーキテクチャへと移行するにはどうしたらよいか、またビジネスを続けながら各サービスをメンテナンスするにはどうするかなど、マイクロサービスアーキテクチャへの移行について解説する書籍です。マイクロサービスを選択した場合のトレードオフや変更コストなどマイクロサービスの特性を再確認し、モノリスの分割と変更の方法、機能を移行しながら振る舞いを変える方法などを学びます。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。