学習ロードマップ

マイクロサービスの設計

サービス境界とデータ所有権、分散トランザクション、観測性まで、入門から運用設計まで 5 冊で段階的に積み上げる。

絵で見てわかるマイクロサービスの仕組み AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイクロサービスで何ができるのか マイクロサービスアーキテクチャ 第2版 ソフトウェア設計のトレードオフと誤り : プログラミングの際により良い選択をするには オブザーバビリティ・エンジニアリング
SCROLL TO BEGIN

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

- / - - ()

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

対象読者

  • モノリスからの分割やサービス間連携に現場で直面しているアプリケーション/バックエンドエンジニア
  • クラウドネイティブ基盤の採用を控え、全体設計の判断軸が欲しいテックリード・アーキテクト候補
  • 分散システム特有の失敗モード(データ整合性・障害伝播・観測性)に苦戦している実務者

5 冊で到達する状態

  • サービス境界を DDD/ビジネスケイパビリティ観点で引き、データオーナーシップを明確化できる
  • Saga / Outbox / BFF / API Gateway など主要パターンを用途と副作用込みで説明できる
  • モノリスと比較した運用コスト・複雑性のトレードオフを言語化し、採否を判断できる
  • コンテナ・サーバーレス・メッセージングを組み合わせた実装構成を具体例で描ける
  • メトリクス・ログ・トレースを束ね、分散システムの障害解析に耐える観測設計ができる

進め方のヒント

  • 1 冊目で全体像と用語を掴み、2 冊目で AWS 上の具体的実装に落として抽象と実装を往復する
  • 3 冊目は一気読みせず、章末の設計判断を自分のプロダクトに当てて検討メモを残す
  • 4 冊目以降は「採用しない選択肢」を常に併記し、トレードオフの記述を自分の言葉で再構成する

ロードマップ

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

  1. 01
    ステップ 01 図解で全体像を俯瞰する入門
    絵で見てわかるマイクロサービスの仕組み
  2. 02
    ステップ 02 AWS で実装の手触りを掴む
    AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイクロサービスで何ができるのか
  3. 03
    ステップ 03 原典で設計原則を体系化
    マイクロサービスアーキテクチャ 第2版
  4. 04
    ステップ 04 設計判断のトレードオフを磨く
    ソフトウェア設計のトレードオフと誤り : プログラミングの際により良い選択をするには
  5. 05
    ステップ 05 運用に耐える観測性を設計する
    オブザーバビリティ・エンジニアリング

第 1 章

図解で全体像を俯瞰する入門

  1. 図解で全体像を俯瞰する入門

    サービス指向の考え方とコンテナ/Kubernetes 周辺の位置関係を図で押さえる最初の地図。まず用語と登場人物を揃える一冊として置く。

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

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

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

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

    本の詳細を見る →
  2. AWS で実装の手触りを掴む

    サーバーレス・コンテナ・メッセージングを具体サービスで束ねる視点を得る。抽象概念を実装に接地させ、設計議論の解像度を一段上げる役割。

    AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイクロサービスで何ができるのか
    この章の 1 冊 AWSで実現するモダンアプリケーション入門 〜サーバーレス、コンテナ、マイクロサービスで何ができるのか

    AWSのサーバーレス・コンテナ技術で現場のアプリ刷新を実践する

    この本で身につくこと
    • サーバーレス・コンテナ・マイクロサービスの選択基準を「要件に合った技術選定」の観点から判断できる
    • The Twelve-Factor AppなどのベストプラクティスをどのようにAWS構成に落とし込むか説明できる
    • CI/CDパイプラインをAWSサービスで構築し、デプロイの自動化と品質管理を設計できる
    • ユースケース別のデータベース選択(RDS、DynamoDB、ElastiCacheなど)の判断軸を持てる

    想定読者: モダナイゼーションの必要性は理解しているが、サーバーレスやコンテナをどこから導入すればよいか判断できずにいるAWSエンジニアや開発リーダー

    本の詳細を見る →
  3. 原典で設計原則を体系化

    サービス境界、結合度、データ所有権、組織設計まで網羅する定番。ロードマップの背骨として、判断基準と語彙をここで確立する。

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

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

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

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

    本の詳細を見る →
  4. 設計判断のトレードオフを磨く

    モノリスと分散、ライブラリ設計、データ処理まで、選択の副作用を事例で示す。採用/不採用の理由を言語化する訓練台として読む。

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

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

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

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

    本の詳細を見る →
  5. 運用に耐える観測性を設計する

    分散構成で避けられない未知の障害に備え、メトリクス・ログ・トレースを統合する思想を学ぶ。設計から運用までを閉じる応用到達点。

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

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

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

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

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

    本の詳細を見る →