モノリスからマイクロサービスへ(モノリスカラマイクロサービスヘ)
モノリスを進化させる実践移行ガイド
- 著者:
- Sam Newman/島田浩二(サム ニューマン/シマダ コウジ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2020年12月26日頃
- ISBN:
- 9784873119311
- 価格:
- ¥3,520
- 在庫:
- 1
- 判型:
- 単行本
なぜ注目されているか
書籍紹介
技書の森解説
マイクロサービスの「作り方」を扱う本は多い一方で、「既存のモノリスをどう段階的に分解するか」に正面から向き合った書籍は限られます。本書はその問いに答える一冊です。著者の Sam Newman は前著『 Building Microservices 』でマイクロサービスの設計原則を示しましたが、本書では視点を移し、すでに動いている巨大なシステムをいかに壊さず移行するかという実践的な道筋を描きます。
中心となるのは Strangler Fig パターンをはじめとする段階的移行の手法です。コード層の分離だけでなく、データベースの分割戦略や分散トランザクションへの対処 (Saga パターン) といった、移行で実際に手が止まる難所を具体的に扱います。「理想のアーキテクチャ図は描けても、そこへ至る安全なステップが分からない」という実務者の課題に対して、パターンという道具を渡してくれる構成です。
前著を読んでいなくても理解可能ですが、マイクロサービスの基本概念 (サービス境界、デプロイ独立性、オーナーシップ) を前提知識として持っていると得るものが大きくなります。「ビッグバンリライトに失敗した」「分割したいが何から手をつけるか分からない」という状況に置かれたアーキテクトや開発リーダーにとって、繰り返し立ち返る価値のある名著です。
言及 Qiita 記事 (31 件)
ドメイン駆動設計は残酷
♡ 220開発, 本, ポエム, DDD, 学習急にマイクロサービスやってと言われた時に読む本
♡ 50アーキテクチャ, microservices, マイクロサービス, マイクロサービスアーキテクチャ, 分散システム共働き世代パパでもできる!?エンジニアらしいアウトプット色々やってみよう!
♡ 37ポエム, ライフハック, AWS認定試験【個人開発】モノリシックなdiscord botをマイクロサービス化してみた
♡ 24Python, アーキテクチャ, マイクロサービス, 個人開発, discord.pyマイクロサービスを採用する前に考えたいこと
♡ 23microservices, マイクロサービス, 組織, マイクロサービスアーキテクチャ, モノリスからマイクロサービスへモノリス・マイクロサービスの違いとモダナイゼーションについて
♡ 22マイクロサービス, モノリス, モノリスからマイクロサービスへ大規模システムにおけるマイクロサービス化検討
♡ 15疎結合, マイクロサービス, 大規模開発, Sagaパターン, CAPSの定理モノリスは「退化」ではない ― 小さく始めるアーキテクチャ4選
♡ 14アーキテクチャ, モノリス, レイヤードアーキテクチャ, モジュラモノリス, マイクロカーネル少し変わったキャリアの新卒エンジニアのおすすめ書籍 7選
♡ 11書籍, 新卒エンジニア【セミナーレポ】AWS Networking Roadshowに参加してきました!
♡ 8Network, AWS, イベントレポート
この本に興味がある方におすすめ
この本に関連
Sam Newman の他の書籍
関連記事
本棚を見ればエンジニアのレベルがわかる
エンジニアの本棚に並ぶ本の構成は、その人のスキルレベルとキャリアの方向性を映し出します。本棚の変遷パターンから、自分の現在地と次のステップを読み解く方法を紹介します。
1 万行のコードより 1 冊の設計書が勝つ場面
大量のコードを書く力と、適切な設計を選ぶ力は別物です。コード量では解決できない問題に直面したとき、設計の知識がどう効くのかを具体例で解説します。
ChatGPT に聞けば済む時代に、あえて本を開く理由
生成 AI で何でも聞ける時代に、技術書を読む意味はあるのか。AI の回答と書籍の知識の決定的な違いを掘り下げ、両者の使い分けを提案します。
関連用語
アーキテクチャ
システム全体の構造設計。コンポーネントの分割と関係を決める最上位の設計判断
マイクロサービス
1 つの大きなアプリケーションを複数の小さなサービスに分割し、それぞれが独立してデプロイ・スケール可能な状態で協調動作するアーキテクチャパターン
オニオンアーキテクチャ
ドメインロジックを中心に据え、外側の層が内側に依存する同心円状のアーキテクチャ
C4 Model
ソフトウェアアーキテクチャを 4 つの抽象レベルで図示するモデル
モノリス
全機能を 1 つのデプロイ単位にまとめたアーキテクチャで、シンプルだが大規模化で課題が生じる
モノリスファースト
新規プロジェクトではまずモノリスで構築し、ドメイン理解が深まってからマイクロサービスに分割する戦略