学習ロードマップ

マイクロサービス入門

モノリス分解、サービス間通信、データ境界の設計判断を、原典と移行ガイド・運用書を含む 5 冊で体系化する。

絵で見てわかるマイクロサービスの仕組み マイクロサービスアーキテクチャ 第2版 モノリスからマイクロサービスへ : モノリスを進化させる実践移行ガイド オブザーバビリティ・エンジニアリング ソフトウェア設計のトレードオフと誤り : プログラミングの際により良い選択をするには
SCROLL TO BEGIN

このロードマップが扱うもの

このロードマップの全体像

モノリスからマイクロサービスへ、あるいは最初からマイクロサービスで設計するチームが、判断の土台を揃えるためのロードマップです。対象は、ある程度の規模のサービス開発経験があり、サービス分割・データ設計・運用まで含めて体系的に学び直したい開発者・アーキテクト志望者。学び終える頃には、「なぜ分けるか・どう分けるか・分けた結果どう運用するか」を自分の言葉で説明でき、闇雲な分割で複雑度だけが増える事態を避けられるようになります。

学習ステップ

1. 前提整理: モノリスの良さと限界、コンウェイの法則、分散システムの基本的な難しさ(ネットワーク・整合性・障害)。 2. ドメイン駆動設計との接続: 境界づけられたコンテキスト、集約、サービス境界の引き方。 3. 通信と統合: 同期 API(REST / gRPC)、非同期メッセージング、イベント駆動アーキテクチャ、サガ。 4. データ管理: サービスごとの DB、結果整合性、CQRS / イベントソーシングの考え方、分散トランザクションの現実解。 5. 運用・可観測性: デプロイ戦略、サービスメッシュ、ログ・メトリクス・トレース、SLO と障害対応。 6. 組織とプロセス: チームトポロジー、プラットフォームチーム、段階的な分割戦略(ストラングラーパターンなど)。

注意点と周辺知識

マイクロサービスは「技術的に正しければ成功する」ものではなく、組織とデリバリー体制が伴って初めて効きます。最初は小さく分割し、必要になった箇所だけ分けていくアプローチが現実的です。分散システムの基礎(CAP / PACELC、タイムアウトとリトライの設計、冪等性)や、DDD、CI/CD、クラウドインフラ、可観測性の知識を並行して強化しておくと、設計判断の解像度が上がります。

ロードマップ

5 つのステップで読み進める

  1. 01
    ステップ 01 図解で掴むマイクロサービス全体像
    絵で見てわかるマイクロサービスの仕組み
  2. 02
    ステップ 02 Sam Newman 原典で設計原則を据える
    マイクロサービスアーキテクチャ 第2版
  3. 03
    ステップ 03 モノリス分解の実践移行ガイド
    モノリスからマイクロサービスへ : モノリスを進化させる実践移行ガイド
  4. 04
    ステップ 04 分散系をオブザーバビリティで支える
    オブザーバビリティ・エンジニアリング
  5. 05
    ステップ 05 設計トレードオフで採用可否を判断
    ソフトウェア設計のトレードオフと誤り : プログラミングの際により良い選択をするには

第 1 章

図解で掴むマイクロサービス全体像

  1. 図解で掴むマイクロサービス全体像

    語彙・構成要素・なぜモノリスでは足りないかを図解で俯瞰する入門書。ここで読者間の前提を揃え、以降の原典読解の足場にする。

    絵で見てわかるマイクロサービスの仕組み
    この章の 1 冊 絵で見てわかるマイクロサービスの仕組み

    クラウドネイティブ時代のマイクロサービスを技術全体像として俯瞰する

    この本で身につくこと
    • マイクロサービスを単なる小粒度コンポーネントではなく、クラウドネイティブコンピューティングの包括的なアーキテクチャスタイルとして説明できる
    • コンテナ・Kubernetes・サービスレスといったアプリケーションランタイムの役割と選択判断の軸を把握できる
    • Istio・Linkerd・Consulを例に、サービスメッシュが解決する問題(トラフィック制御・セキュリティ・可観測性)を説明できる
    • CI/CDパイプラインとアジャイルプロセスがマイクロサービス運用においてなぜ不可欠かを根拠とともに述べられる

    想定読者: DX推進を担う立場にあるエンジニアやアーキテクトで、マイクロサービスをコンテナ・Kubernetes・CI/CD・DevOpsといった周辺技術とセットで体系的に把握したい人。個別ツールの解説書を読む前に全体像を整理したい入門〜中級者。

    本の詳細を見る →
  2. Sam Newman 原典で設計原則を据える

    境界・通信・デプロイ・組織までを網羅する改訂版の定番。ロードマップの背骨として、設計判断の基準をここで内在化させる。

    マイクロサービスアーキテクチャ 第2版
    この章の 1 冊 マイクロサービスアーキテクチャ 第2版

    マイクロサービスの設計・実装・組織運営を原理から実務まで体系習得する

    この本で身につくこと
    • 独立デプロイ可能性を起点にサービス境界を引く判断基準を説明できる
    • 同期・非同期の通信スタイルをユースケースごとに選び分け、メリットとトレードオフを言語化できる
    • サービス分割の方法論(Strangler FigやBranch by Abstractionなど)をモノリスからの移行に適用できる
    • デプロイパイプライン・コンテナ・サービスメッシュを組み合わせた本番運用の全体像を理解できる

    想定読者: マイクロサービスの導入・移行・拡張を担うバックエンドエンジニア・インフラエンジニア・アーキテクトで、技術選定から組織設計まで一冊で全体像を把握したい人

    本の詳細を見る →
  3. モノリス分解の実践移行ガイド

    ストラングラーフィグやデータベース分割など、既存モノリスを壊さず切り出す手順を扱う実践書。現場導入の具体策をここで獲得する。

    モノリスからマイクロサービスへ : モノリスを進化させる実践移行ガイド
    この章の 1 冊 モノリスからマイクロサービスへ : モノリスを進化させる実践移行ガイド

    モノリスを段階的に解体しビジネスを止めずにマイクロサービスへ移行する

    この本で身につくこと
    • モノリスの種類(モジュラーモノリス・デプロイモノリス等)を見極め、分割を始める優先箇所を判断できる
    • ストラングラーフィグパターンなど段階的移行パターンを理解し、ビジネスを止めずに機能を切り出す手順を組み立てられる
    • マイクロサービス化のトレードオフ(運用複雑性・変更コスト・チーム間結合)を評価し、移行の要否をステークホルダーに説明できる
    • 機能移行中に振る舞いを維持するためのデータ分解手法とサービス境界の設計方針を適用できる

    想定読者: 既存のモノリシックシステムをマイクロサービスへ移行したい、またはその要否を判断したいバックエンドエンジニアとアーキテクト

    前提知識: REST API 設計と HTTP 通信の基本知識 / リレーショナルデータベースのスキーマ設計とテーブル結合の概念 / モノリシックな Web アプリケーションの実務開発または保守経験

    本の詳細を見る →
  4. 分散系をオブザーバビリティで支える

    サービスが増えるほど効いてくる可観測性の原理と実装を扱う運用軸の一冊。高カーディナリティな探索で障害を切り分ける力を付ける。

    オブザーバビリティ・エンジニアリング
    この章の 1 冊 オブザーバビリティ・エンジニアリング

    分散システムの可観測性を背景・実践・組織導入まで体系化する

    この本で身につくこと
    • オブザーバビリティが従来のモニタリングと本質的に何が異なるかを言語化して説明できる
    • DevOps から SRE へのムーブメントの中でオブザーバビリティが不可欠とされた歴史的背景を理解する
    • Kubernetes などのクラウドネイティブ技術スタックやマイクロサービス設計において可観測性が必要とされる理由を説明できる
    • 可観測性の実践方法を個人・チーム・組織の各レイヤで段階的に導入するアプローチを把握する

    想定読者: DevOps/SRE の実践者、またはマイクロサービス・Kubernetes 環境でシステム障害時の内部状態把握に課題を感じているインフラ・バックエンドエンジニア

    前提知識: クラウドまたは Linux 環境でのサービス運用の実務経験(ログ確認・障害対応など) / Kubernetes またはコンテナベースのアーキテクチャの基礎知識 / DevOps・SRE の基本概念(SLO/SLA・インシデント管理・継続的デリバリ)の理解

    本の詳細を見る →
  5. 設計トレードオフで採用可否を判断

    モノリス・マイクロサービスの選択や境界設計の誤りを事例で扱う応用書。到達点として、文脈に応じた意思決定の軸をここで固める。

    ソフトウェア設計のトレードオフと誤り : プログラミングの際により良い選択をするには
    この章の 1 冊 ソフトウェア設計のトレードオフと誤り : プログラミングの際により良い選択をするには

    コード〜分散システムまで横断する設計判断のトレードオフを原理から学ぶ

    この本で身につくこと
    • コード重複と柔軟性のどちらを優先するかを、変更頻度と結合度の観点から判断できる
    • 例外と代替エラーハンドリングのトレードオフを、業務エラーとシステムエラーの区分を踏まえて選択できる
    • APIの明瞭性と保守コストのバランスを、バージョニング戦略と合わせて設計できる
    • 分散システムにおける整合性とアトミック性のトレードオフを、データ分散パターンと対応づけて説明できる

    想定読者: モノリス・マイクロサービス・ビッグデータ処理など多様なシステムの設計・開発に携わり、場面ごとの設計判断を言語化・体系化したい中級〜上級エンジニア

    本の詳細を見る →