- 58%

Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures

Original price was: €80.Current price is: €33.

Already Sold: 24%
Added to wishlistRemoved from wishlist 0
Add to compare

Price: $79.99 - $33.48
(as of Aug 07, 2025 03:23:29 UTC – Details)

There are no easy decisions in software architecture. Instead, there are many hard parts–difficult problems or issues with no best practices–that force you to choose among various compromises. With this book, you’ll learn how to think critically about the trade-offs involved with distributed architectures.

Architecture veterans and practicing consultants Neal Ford, Mark Richards, Pramod Sadalage, and Zhamak Dehghani discuss strategies for choosing an appropriate architecture. By interweaving a story about a fictional group of technology professionals–the Sysops Squad–they examine everything from how to determine service granularity, manage workflows and orchestration, manage and decouple contracts, and manage distributed transactions to how to optimize operational characteristics, such as scalability, elasticity, and performance.

By focusing on commonly asked questions, this book provides techniques to help you discover and weigh the trade-offs as you confront the issues you face as an architect.

Analyze trade-offs and effectively document your decisions Make better decisions regarding service granularity Understand the complexities of breaking apart monolithic applications Manage and decouple contracts between services Handle data in a highly distributed architecture Learn patterns to manage workflow and transactions when breaking apart applications

From the brand

Software Development

Software Architecture

Software Engineering

More From O’Reilly

Sharing the knowledge of experts

O’Reilly’s mission is to change the world by sharing the knowledge of innovators. For over 40 years, we’ve inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.

Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.

Publisher ‏ : ‎ O’Reilly Media
Publication date ‏ : ‎ November 30, 2021
Edition ‏ : ‎ 1st
Language ‏ : ‎ English
Print length ‏ : ‎ 459 pages
ISBN-10 ‏ : ‎ 1492086894
ISBN-13 ‏ : ‎ 978-1492086895
Item Weight ‏ : ‎ 7.4 ounces
Dimensions ‏ : ‎ 7 x 0.75 x 9.25 inches
Best Sellers Rank: #41,460 in Books (See Top 100 in Books) #3 in Software Design Tools #4 in Computer Systems Analysis & Design (Books) #5 in Software Testing
Customer Reviews: 4.5 4.5 out of 5 stars 619 ratings var dpAcrHasRegisteredArcLinkClickAction; P.when(‘A’, ‘ready’).execute(function(A) { if (dpAcrHasRegisteredArcLinkClickAction !== true) { dpAcrHasRegisteredArcLinkClickAction = true; A.declarative( ‘acrLink-click-metrics’, ‘click’, { “allowLinkDefault”: true }, function (event) { if (window.ue) { ue.count(“acrLinkClickCount”, (ue.count(“acrLinkClickCount”) || 0) + 1); } } ); } }); P.when(‘A’, ‘cf’).execute(function(A) { A.declarative(‘acrStarsLink-click-metrics’, ‘click’, { “allowLinkDefault” : true }, function(event){ if(window.ue) { ue.count(“acrStarsLinkWithPopoverClickCount”, (ue.count(“acrStarsLinkWithPopoverClickCount”) || 0) + 1); } }); });

Customers say

Customers find the book’s content positive. However, the knowledge aspect receives mixed feedback, with some finding it invaluable while others consider it poor.

12 reviews for Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures

0.0 out of 5
0
0
0
0
0
Write a review
Show all Most Helpful Highest Rating Lowest Rating
  1. Joe Lynch

    Great book
    This is a great book. I enjoyed it far more than the fundamentals book. If you can master Kleppmann for the infrastructure grounding and this for real life use cases you’ll be well on your way. I really appreciated the fact that they point out tradeoffs *everywhere*. That’s part of the job and it can be hard to see them when we gravitate toward one option because it feels right or because of groupthink.Some minor criticisms:* the Data Mesh chapter felt tacked on, underdeveloped and in some places was incorrect or at least confusing (e.g. it says data warehouses cause loss of domain partitioning which is not true)* The book talked about tradeoffs so much it wasn’t always clear why they thought taking a certain path would hurt a certain quality attribute. “Because there is more coupling scalability will suffer”, etc. Perhaps. But explaining how would be great. The book hints at some relationships between quality attributes. If that were more well-developed that could be a way to better understand these statements too.* While I’m sure it wasn’t meant for effect, there is only one woman in the story portions, she is somewhat naive, a bossy PITA and has to be dragged along most of the time. Having the *only woman* play that role stood out to me as potentially insensitive.

    Helpful(0) Unhelpful(0)You have already voted this
  2. Derek Knudsen

    Wish this book was published five years ago
    I have been a CTO for ten years for companies big and small and have had to face the “legacy architect refactoring” challenge outlined in this book multiple times. This book would have saved us a lot of pain. While the tech and tooling for distributed architectures has gotten better and better the process for getting there hasn’t. The playbook outlined here is a must have for anyone facing the architecture modernization challenge.A few things that would make this book even better- Integrating DDD concepts especially around aggregates- Adding additional and/or more detailed decision dimensions for the people aspect (skills, org size and ability to grow, org design, etc), operations architecture, and development architecture. When making decisions these things have to be accounted for and these aspects seemed underplayed a bit.Overall though this is one of the most pragmatic books on tech I have read in a long time. A must read.

    Helpful(0) Unhelpful(0)You have already voted this
  3. Pavel

    Invaluable knowledge
    Love this book. The authors share their invaluable experience and knowledge in the book that worth every penny. I personally built a number of check-lists that I’m going to use in my trade-off analysis. The book is very well written. The authors carefully worked out every single paragraph to make it clear and easy to understand. The writing style and real world examples make the book very easy to read (well, maybe except the section about Data Mesh, which seems too abstract to me). If you liked “Fundamentals of Software Architecture” from Mark Richards and Neal Ford, you will certainly enjoy this one as a logical continuation of the latter.

    Helpful(0) Unhelpful(0)You have already voted this
  4. Scott J. Pearson

    An abstract analysis of distributed computing systems
    A software architect foresees potential issues in a design and judges which way will instill the most business success in the long run. Unfortunately, in almost every scenario, trade offs permeate every option. As the saying goes, the devil is in the details. Learning to anticipate problems with wisdom set great software architects apart from merely experienced ones. In this book, several experienced authors look at those trade offs in the context of distributed software systems that are so fashionable these days.Distributed systems and microservices are used in large systems that integrate for innovative results. When the computing is parsed, each system becomes its own special service, and breaking up the systems with minimal “coupling” between them becomes a challenge. In addition, businesses inevitably need to see the big picture of their work. Integrating the distributed system must happen, but no perfect way exists to implement integration. These sort of challenges require the careful wisdom this work offers.This book is extremely abstract because software architecture is abstract by its nature. It covers some of the most challenging topics in distributed systems. I chose to listen to an audiobook format and somewhat regret the choice. Instead, I would have preferred to read the book in print for several reasons. First, tables would be easier to parse. Second, some sections are lists of different combinations, and listening to these was extremely boring. Finally, the text is so abstract that I would have liked to hover my eyes over a word or look up past definitions. None of these are facilitated by an audiobook format, unfortunately.The content itself is good, but it only addresses a niche audience. I’ve never designed a distributed system from scratch, so this text helped me think through potential pitfalls. Via these principles, I mentally redesigned some of the smaller systems I work with so that I could see what a more distributed system might look like if we ever have to go that route. This book is not an introduction to software architecture but meant for more advanced practitioners. Still, the careful thought dwelling in these pages can prevent shortsighted mistakes, cut lost employee effort, and lessen company expenses.

    Helpful(0) Unhelpful(0)You have already voted this
  5. Joseph

    great and try to stick with it
    I thought that this book was the sequel. It’s not. Similar topics are followed. The authors did deep into the weeds. I think that some material could have been reduced and presented more tightly. There were a few times when I thought: just get to the point. The real benefit of this book is that the authors try to provide thought leadership to architects who have to make decisions found in this book. I really like that the authors intentionally state that architecture is a lot more than a design pattern and the choices architects face are not boilerplate in terms of picking one pattern instead of another.

    Helpful(0) Unhelpful(0)You have already voted this
  6. Ed

    great book
    great content, worthy of Orielly .. very easy read for someone very familiar with all the concepts .. great reference and very practical – really cool .. thank you i bought three more titles because of this one 🙂

    Helpful(0) Unhelpful(0)You have already voted this
  7. Victor T Marilao

    Used product was essentially new and never been used.
    Book arrived in excellent condition.

    Helpful(0) Unhelpful(0)You have already voted this
  8. Thiago Andrade

    Awesome book. Great overview and some deep dives into the many trade off dimensions architects are challenged with every day

    Helpful(0) Unhelpful(0)You have already voted this
  9. Mykola Dubyna

    o’reilly publishing sucks. I wish authors self-published. I would buy that instead.

    Helpful(0) Unhelpful(0)You have already voted this
  10. Alex

    This is one of the best books I’ve ever read. I recommend it for every software architect

    Helpful(0) Unhelpful(0)You have already voted this
  11. Just Some Guy

    This is a great book! It is a sequel to the authors’ prior book, “Fundamentals of Software Architecture” (which isn’t a prerequisite to this book, but is helpful). I liked that book. This one is way better.Where the first book stayed fairly high level and abstract, and focused on working as an architect in a company, this book is all about actual tough architecture decisions in practice. It applies some of the the first book’s approaches and patterns (and a whole bunch of new ones) towards a fictional example application which a dev team is tasked to completely refactor.Basically, the book is structured as a narrative about a team breaking down a faulty outdated monolithic application into a modern microservices-based architecture. Each chapter essentially compares different aspects of how a monolithic architecture might have been written to do something in the past, then how a modern microservice architecture could do the same thing today.Along the way the authors offer terrific advice and approaches for effective tradeoff analysis (and countless suggestions and tips) that you can use when refactoring a large monolith app (or when building microservices from scratch), detailing at every level how you might sort out a tangled mess of dependencies into a clean microservices stack – from shared code libs/components/modules, to shared database tables and schemas, to various network concerns, etc.There is nearly no code (it’s not an implementation book), but the descriptions of each example scenario, pattern, diagram, and everything around it are extensive and detailed. The authors don’t actually offer any definitive “best practice” in any of the scenarios they consider, but rather present all the pros and cons of each approach you might consider – which all together support their overall thesis that there are no right or wrong answers in architecture, only tradeoffs to weigh and consider for any given design challenge and possible architectural solution.I give this book my highest recommendation – it’s a winner.

    Helpful(0) Unhelpful(0)You have already voted this
  12. Stefan Lecho

    Very interesting insights for all architects working on distributed achitectures.

    Helpful(0) Unhelpful(0)You have already voted this

    Add a review

    Your email address will not be published. Required fields are marked *

    Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
    Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures

    Original price was: €80.Current price is: €33.

    techbazar.tech
    Logo
    Compare items
    • Total (0)
    Compare
    0
    Shopping cart