Fundamentals of Software Architecture: An Engineering Approach

Mark Richards and Neal Ford
O’Reilly, 2020

Think of this book as the cloud-oriented, less-academic version of Software Architecture: Foundations, Theory, and Practice. The two cover much of the same ground, but Foundations takes a broader approach. For example, Foundations treats modeling and visualization as core to the architectural process and articulates a specific design approach. Fundamentals, on the other hand, mostly skips these topics, presenting visualization as a "soft skill" related to communication, not design. (Both books finish with discussion of soft skills: the final chapter in Foundations, and the third of three parts in Fundamentals.) If you want a solid grounding in software architecture as a discipline, Foundations is the better choice.

On the other hand, the narrower focus in Fundamentals allows it to dive more deeply into the architecture of cloud software. And while not part of the title or description of the book, make no mistake that it is specifically about architecture for cloud-based software. This is not a book that acknowledges that software also runs in cars, robots, sensors, and so on.

What Fundamentals lacks in breadth it makes up for in its more in-depth discussions of cloud software architectural styles. Part II of the book is a catalog of eight architectural styles for cloud software. Each receives a technical description, plus a handy table rating it against various architectural criteria. The closing chapter of Part II provides additional guidance on how to choose among these options.

Of course, software architecture is about much more than picking an appropriate style. One reason is that architects primarily work on existing systems, and so must meet those systems where they are. Another reason is that adopting a style, while helpful, still leaves a lot of design work to do. The authors do a better job of addressing those issues in a follow-on book, Software Architecture: The Hard Parts.



© 2024 by Oliver Goldman