ソフトウェアアーキテクチャ・ハードパーツ(ソフトウェアアーキテクチャハードパーツ)
分散アーキテクチャのためのトレードオフ分析
プログラミング- 著者:
- Neal Ford/Mark Richards/Pramod Sadalage/Zhamak Dehghani/島田 浩二(ニール フォード/マーク リチャーズ/ピラモド サダラージ/ズハマック ダギャニー/シマダ コウジ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2022年10月27日頃
- ISBN:
- 9784814400065
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
アーキテクチャの諸問題で、トレードオフを発見し、判断するテクニックを学ぶ!
ソフトウェアアーキテクチャには、難しい問題やベストプラクティスが存在しない問題など、妥協点の中から選択しなければならない事柄が数多くあります。本書は、分散型アーキテクチャのそうしたトレードオフについて考える方法を学びます。
本書は、適切なアーキテクチャを選択するための戦略から、サービスの粒度の決定方法、契約の管理と切り離し、分散トランザクションの管理から、スケーラビリティ、弾力性、パフォーマンスなどの運用特性の最適化までを扱います。
技書の森解説
アーキテクチャの意思決定には「唯一の正解」がないものが多く、本書のタイトルにある「ハードパーツ」とは、まさにそうした正解のない難しい判断を指します。サービスの分割粒度、データの所有権、通信パターン、トランザクション境界など、分散システムを設計するうえで避けて通れない選択を、トレードオフ分析の枠組みに乗せて論じるのが本書の主題です。
著者の Neal Ford をはじめとする ThoughtWorks のアーキテクトたちは、架空のプロジェクトを題材にしたケーススタディで議論を進めます。モノリスをどこで切るか、結合度と凝集度の定量評価をどう行うか、 saga や CQRS をいつ採用すべきかといった問いに対し、複数の選択肢を並べた上で各選択の代償を明示するスタイルは、実務の設計レビューと同じ思考の流れです。
前提知識としてマイクロサービスの基本概念や分散システムの初歩は必要で、設計経験がまったくない段階で読むと抽象度の高さに苦しむかもしれません。ただし、モノリスの限界を感じ始めたチームが「次にどう動くか」を議論する際に、共通の語彙と判断軸を与えてくれる書籍として、分散設計のリファレンスの役割を果たします。
言及 Qiita 記事 (12 件)
なぜ、組織のつくりとソフトウェアアーキテクチャは似てしまうのか
♡ 1092UX, アーキテクチャ, 技術的負債, CleanArchitecture急にマイクロサービスやってと言われた時に読む本
♡ 52アーキテクチャ, microservices, マイクロサービス, マイクロサービスアーキテクチャ, 分散システム共働き世代パパでもできる!?エンジニアらしいアウトプット色々やってみよう!
♡ 37ポエム, ライフハック, AWS認定試験オープンロジを支える技術(2022年版)
♡ 16AdventCalendar2022トランザクショナルサーガパターンを過去のアーキテクチャしくじり例と照らし合わせて振り返ってみる
♡ 13アーキテクチャ, AdventCalendar2023「ソフトウェアアーキテクチャ・ハードパーツ」を読んだので、その感想など
♡ 9設計, アーキテクチャ, 読書感想文「ソフトウェアアーキテクチャメトリクス」を読んだ感想
♡ 8読書感想文, ソフトウェアアーキテクチャ, 適応度関数2022 年 55 冊 本を読むまで知らなかったこと
♡ 7読書, 感想文分散アーキテクチャにおけるデータモデリングのパラダイムシフト
♡ 3イベントソーシング, マイクロサービス, CQRS, データモデリングソフトウェアアーキテクチャはハードパーツである
♡ 2ポエム, アーキテクチャ
言及 Zenn 記事 (1 件)
この本に興味がある方におすすめ
この本に関連
関連記事
設計の引き出しは経験だけでは増えない
実務経験だけでは設計の引き出しに限界があります。なぜ経験だけでは不十分なのか、本が設計力に対して果たす、他で代えにくい役割を論じます。
1 万行のコードより 1 冊の設計書が勝つ場面
大量のコードを書く力と、適切な設計を選ぶ力は別物です。コード量では解決できない問題に直面したとき、設計の知識がどう効くのかを具体例で解説します。
設計 / アーキテクチャ本ガイド - 設計力を上げる技術書の選び方
ソフトウェア設計を学べる技術書をコード / モジュール / システムの 3 レイヤーに分類し、レベルに応じた読む順番の指針を紹介します。