マイクロサービスアーキテクチャ 第 2 版
マイクロサービスアーキテクシャダイニハン
- 著者:
- Sam Newman / 佐藤 直生 / 木下 哲也(サム ニューマン / サトウ ナオキ / キノシタ テツヤ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2022年12月02日
- ISBN:
- 9784814400010
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
マイクロサービスの原典とも言える書籍の待望の改訂版!
2016 年に第 1 版が発刊された当時とは異なり、いまではマイクロサービスはすっかり市民権を得、さまざまな技法やツールが開発されています。この改訂版では、マイクロサービスの発展に伴い、重要となっている面を掘り下げ、また事例を豊富に盛り込むなど、時代に沿った改訂を行っています。第 2 版では「第 1 部 基礎」「第 2 部 実装」「第 3 部 人」の 3 部構成を取り、チームの構造、組織、UI といった異なる視点から考察していることも特徴です。この一冊でマイクロサービスを構築、管理、運用、拡張する内容をカバーしています。
技書の森解説
マイクロサービスを採用するかどうか、採用するならどこでサービスを切るのか。その判断を、場合によるという一言で終わらせず、考えるための骨格を与えるのが『マイクロサービスアーキテクチャ 第 2 版』 (Sam Newman 著、佐藤直生 監訳、木下哲也 訳、オライリー・ジャパン発行、オーム社発売、2022 年 12 月刊) です。原書は Building Microservices, 2nd Edition で、版元が「マイクロサービスの原典とも言える書籍」と紹介する 2016 年刊の第 1 版を改訂したものです。版元の紹介によれば、著者は Thoughtworks 在籍中から数多くのマイクロサービスプロジェクトに携わってきた人物で、マイクロサービスに「賛成」でも「反対」でもないという中立的な立場から、仕組み、特徴、長所、短所、課題を説明し、その知見はシステム設計、開発、デプロイ、テストといった技術面だけでなく、人材の活かし方や生産性といった組織面にも及びます。
基礎 / 実装 / 人の 3 部 16 章で何を扱うか
構成は 3 部 16 章に「あとがき: すべてをまとめる」が付く形です。第 1 部「基礎」 (1 章から 4 章) は、マイクロサービスとは何かに始まり、独立デプロイ可能性やビジネスドメインに基づくモデル化といった重要な概念、単一プロセスモノリス / モジュラーモノリス / 分散モノリスの区別とモノリスの利点、適切なマイクロサービス境界と結合の種類、ドメイン駆動設計 (DDD) の使い方、モノリスの分割、通信スタイルを扱います。第 2 部「実装」 (5 章から 13 章) は通信の実装、ワークフロー、ビルド、デプロイ、テスト、監視から可観測性へ、セキュリティ、レジリエンス、スケーリングと、動かして運用する側の主題が並びます。第 3 部「人」 (14 章から 16 章) は UI、組織構造、進化的アーキテクトの 3 章で、目次にはコンウェイの法則、チームサイズ、ストリームアラインドチーム、ガバナンスと舗装道路、技術的負債といった項目が見えます。版元は、この 3 部構成によってチームの構造、組織、UI といった異なる視点から考察している点を第 2 版の特徴として挙げています。
サービス境界と結合、分散システムの難しさをどう考えるか
マイクロサービス の難しさは、個々の実装技術よりも境界の引き方にあります。サービスを細かく分けるほど独立してデプロイできる自由は増えますが、分けた先で互いを呼び合う通信が増えれば、ネットワーク越しの障害や遅延、データの整合性という分散システム固有の問題を抱え込みます。境界を誤ると、見かけはサービスに分かれていても一緒にリリースしなければ動かない分散モノリスになり、モノリスが持っていた単純さまで失います。本書の目次が、結合の種類と ドメイン駆動設計 による境界の検討、そして通信スタイルの選択を、通信の実装やデプロイより前の第 1 部に置いているのはこの順序に対応しており、境界を決めずに実装へ進んだ場合の後戻りが高くつくことを考えると、読む側もこの順で追う価値があります。第 3 部が コンウェイの法則 や組織構造に踏み込むのも同じ文脈で、サービスの境界とチームの境界がずれたままでは、アーキテクチャだけを整えても独立して動ける単位にはなりません。
第 2 版で読む理由と、向かない読者
版元は第 2 版を、第 1 版刊行後のマイクロサービスの発展に伴って重要となった面を掘り下げ、事例を豊富に盛り込んだ「時代に沿った改訂」と説明しています。目次にも、ログ集約と分散トレーシング、コンテナと Kubernetes、ストリーミング、パブリッククラウドとサーバレスといった実現技術の項目や、監視から 可観測性 へと題した章が含まれます。A5 判の厚い専門書ですが、目次に個別言語の文法やフレームワークの操作手順は無く、議論は設計 / 運用 / 組織の判断に置かれています。そのため、少なくとも 1 つのシステムを開発 / 運用した経験があり、デプロイや障害対応の痛みを知っている読者ほど得るものが大きい本です。特定のツールを手順どおりに構築するチュートリアルや、コードを写して動かす入門書を求める人には向きません。なお版元サイトには第 1 刷と第 2 刷の正誤表が公開されており (2026 年 9 月時点)、購入後に照らし合わせることができます。
元が取れるのは、モノリスからの移行を検討していて分割の是非と切り方を説明する責任があるテックリード、設計判断の根拠を言語化する必要があるアーキテクト、そしてマイクロサービスを導入したものの運用や組織との噛み合わせに苦しんでいるチームです。技術の選択肢が増えた 2020 年代に、賛成でも反対でもない立場から判断の軸を組み立て直したい人にとって、日本語で読める第 2 版は手元に置く価値のある一冊です。
言及した記事 (41 件)
”Kubernetes” の基本を徹底解説
♡ 499Docker, kubernetes, container【AWS】さいきょうの運用・監視構成を作成するのに参考になった書籍
♡ 184AWS, Fluentd, インフラ, grafana, Terraform個人的にお気に入りのPythonプロジェクトのファイル構成
♡ 70Python, ポエム急にマイクロサービスやってと言われた時に読む本
♡ 53アーキテクチャ, microservices, マイクロサービス, マイクロサービスアーキテクチャ, 分散システム【個人開発】モノリシックなdiscord botをマイクロサービス化してみた
♡ 24Python, アーキテクチャ, マイクロサービス, 個人開発, discord.pyWeb系エンジニア5年目にやったこと
♡ 7エンジニアのキャリア, 初学者向けDatabricks Free Editionで始めるMLflow
♡ 5Databricks, MLflow, Databricks_Free_Edition駆け出しエンジニア学習ロードマップ2
♡ 5技術書, ロードマップ, 新卒エンジニア, 駆け出しエンジニア精読「マイクロサービスアーキテクチャ 第2版」(第Ⅰ部 基礎 - 第4章 マイクロサービスの通信スタイル)
♡ 4設計, マイクロサービス, マイクロサービスアーキテクチャ【書評】「Severlessを支える技術 第2版」が控えめに言って神本でした #技術書典
♡ 4lambda, serverless, AzureFunctions, cloudfunctions, ServerlessFramework
この本は技書デッキのカードです (備え 4 / 流儀: 薄いデッキ) 図鑑でこの本を見る
この本に興味がある方におすすめ
関連する本
関連記事
インフラ / クラウド本ガイド - AWS や Docker を本で学ぶ
クラウドインフラ、コンテナ、IaC を学べる技術書の選び方と学習順序を紹介。インフラ本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
AWS 本の選び方 - 全体像 / 構築 / 設計 / 運用 / セキュリティの 5 視点
AWS を学ぶ技術書の選び方を「全体像 / 構築 / 設計 / 運用 / セキュリティ」の 5 視点で整理。公式ドキュメントと本の役割分担、資格対策書の位置づけまで、2026 年 8 月時点の定番書で AWS 独学のルートを解説します。
技術書典と技術同人誌の世界 - 読者として楽しむガイド
技術書典の楽しみ方と技術同人誌の魅力を紹介。商業出版にはないニッチなテーマの深掘りや、著者と直接話せるイベントの活用法を解説します。
関連用語
マイクロサービス
1 つの大きなアプリケーションを複数の小さなサービスに分割し、それぞれが独立してデプロイ / スケール可能な状態で協調動作するアーキテクチャパターン
オニオンアーキテクチャ
ドメインロジックを中心に据え、外側の層が内側に依存する同心円状のアーキテクチャ
アーキテクチャ
システム全体の構造設計。コンポーネントの分割と関係を決める最上位の設計判断
C4 Model
ソフトウェアアーキテクチャを 4 つの抽象レベルで図示するモデル
クリーンアーキテクチャ
ビジネスロジックを外部の技術的詳細から分離し、依存関係を内側に向けることで変更に強い設計を実現するアーキテクチャ原則
KISS 原則
Keep It Simple, Stupid - 設計をできるだけシンプルに保つことを求める原則