Buy new:
$38.49$38.49
FREE delivery:
Saturday, Feb 11
Ships from: Amazon.com Sold by: Amazon.com
Buy Used: $34.99
Other Sellers on Amazon
& FREE Shipping
79% positive over last 12 months
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the Authors
OK
Fundamentals of Software Architecture: An Engineering Approach 1st Edition
| Price | New from | Used from |
|
Audible Audiobook, Unabridged
"Please retry" |
$0.00
| Free with your Audible trial | |
Enhance your purchase
Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real guide exists to help developers become architects. Until now. This book provides the first comprehensive overview of software architecture’s many aspects. Aspiring and existing architects alike will examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics.
Mark Richards and Neal Ford—hands-on practitioners who have taught software architecture classes professionally for years—focus on architecture principles that apply across all technology stacks. You’ll explore software architecture in a modern light, taking into account all the innovations of the past decade.
This book examines:
- Architecture patterns: The technical basis for many architectural decisions
- Components: Identification, coupling, cohesion, partitioning, and granularity
- Soft skills: Effective team management, meetings, negotiation, presentations, and more
- Modernity: Engineering practices and operational approaches that have changed radically in the past few years
- Architecture as an engineering discipline: Repeatable results, metrics, and concrete valuations that add rigor to software architecture.
- ISBN-101492043451
- ISBN-13978-1492043454
- Edition1st
- PublisherO'Reilly Media
- Publication dateMarch 3, 2020
- LanguageEnglish
- Dimensions7 x 0.86 x 9.19 inches
- Print length419 pages
Frequently bought together

- +
- +
More items to explore
Everything in software architecture is a trade-off. First Law of Software ArchitectureHighlighted by 644 Kindle readers
All architectures become iterative because of unknown unknowns, Agile just recognizes this and does it sooner.Highlighted by 545 Kindle readers
Why is more important than how. Second Law of Software ArchitectureHighlighted by 369 Kindle readers
From the brand
-
-
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.
From the Publisher
From the Preface
Mathematicians create theories based on axioms, assumptions for things indisputably true. Software architects build axioms as well, but the software world is, well, softer than mathematics: fundamental things continue to change at a rapid pace in the software world.
The software development ecosystem exists in a constant state of dynamic equilibrium: while it exists in a balanced state at any given point in time, it exhibits dynamic behavior over the long term. A great modern example of the nature of this ecosystem follows the ascension of containerization and the attendant changes wrought: tools like Kubernetes didn’t exist a decade ago, yet now entire software conferences exist to service its users. The software ecosystem changes fractally: one small change causes another small change; when repeated hundreds of time, it generates a new ecosystem.
Architects have an important responsibility to continue to question assumptions and axioms left over from previous eras. Many of the books about software architecture were written in an era that only barely resembles the current world.
In fact, the authors believe that we must question fundamental axioms on a regular basis, in light of improved engineering practices, operational ecosystems, software development processes—everything that makes up the messy, dynamic equilibrium where architects and developers work each day.
Careful observers of software architecture over time witnessed a slow evolution of capabilities. Starting with the engineer practices of eXtreme Programming, continuing with Continuous Delivery, the DevOps revolution, microservices, containerization, and now cloud-based resources, all of these innovations lead to new capabilities and tradeoffs. As a good illustration of this perspective shift, for many years, the tongue-in-cheek definition of software architecture was “the stuff that’s hard to change later”. Then, the microservices architecture style appeared, where change is a first-class design consideration.
Each new era requires new practices, tools, measurements, patterns, and a host of other changes. This book looks at software architecture in modern light, taking into account all the innovations from the last decade, along with some new metrics and measures suited to the new structures and perspectives now available.
This book won’t make someone a software architecture overnight—it’s a nuanced field with many facets. We want to provide existing and burgeoning architects a good modern overview of software architecture and its many aspects, from structure to soft skills. While this book covers well known patterns, we take a new approach, leaning on modern lessons learned, tools, engineering practices, and other input to build a modern book on software architecture.
|
|
|
|
|---|---|---|---|
| Software Architecture: The Hard Parts | Building Evolutionary Architectures | The Software Architect Elevator | |
| Related Titles | Modern Tradeoff Analysis for Distributed Architectures | Support Constant Change | Redefining the Architect's Role in the Digital Enterprise |
Editorial Reviews
About the Author
Product details
- Publisher : O'Reilly Media; 1st edition (March 3, 2020)
- Language : English
- Paperback : 419 pages
- ISBN-10 : 1492043451
- ISBN-13 : 978-1492043454
- Item Weight : 1.47 pounds
- Dimensions : 7 x 0.86 x 9.19 inches
- Best Sellers Rank: #16,302 in Books (See Top 100 in Books)
- Customer Reviews:
About the authors

Neal is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a software company and a community of passionate, purpose-led individuals, who thinks disruptively to deliver technology to address the toughest challenges, all while seeking to revolutionize the IT industry and create positive social change. He is an internationally recognized expert on software development and delivery, especially in the intersection of agile engineering techniques and software architecture. Neal has authored magazine articles, eight books (and counting), dozens of video presentations, and spoken at hundreds of developers conferences worldwide. His topics include software architecture, continuous delivery, functional programming, cutting edge software innovations, and includes a business-focused book and video on improving technical presentations

Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a free website devoted to helping developers in the journey to becoming a software architect. He is the author of numerous technical books and videos as well as a conference speaker and trainer, having spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonReviewed in the United States on September 17, 2022
-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
As an architect it was a good read
The book will not make you architects. Hard work will.
After getting the foundations laid the authors explain different architecture styles. The part I found to be most useful was the charts they provided which give star ratings to highlight the strength and weaknesses of each architecture. This illustrates that architecture styles should be chosen for specific solutions and not trends. I gained the skills necessary to begin to think like an architect. It included breadth of knowledge which, as the book will tell you, is much more important than depth of knowledge for an architect. Then the authors decided to dive back in and elaborate a bit more on the foundations learned at the beginning. It suggested ADRs, another quick win for low costs. They also spoke about risks storming and offered friendly advice on finding balance within the teams.
All in all, an amazing book. And at the end, the authors even presented tons of short answer questions to challenge readers and really take the lesson home.
The book starts off by discussing what software architecture is, what the job entails, what the common misconceptions are and then for the remainder of the book covers both the technical and soft skills required for a person to become a good architect - how to maintain the technical know-how required by the job, what types of knowledge to focus on, how to detect, discuss and document the architecture, the reasons behind it and the trade-offs it entails, how to interact with your colleagues, both on the developer and the business side, how to resolve conflicts, nurture and promote constructive collaboration etc. So, as you can see, the authors try to cover a lot of ground without going too deep (and waking Durin's Bane) - and they do it successfully.
That being said, the book isn't perfect, some chapters could have used more feedback, especially the event-driven architecture one, which felt a bit dated and like it came from someone who didn't have firsthand experience with it recently. Also, I can't really say that I truly discovered something new within its pages - which isn't necessarily a bad thing if, like here, the summary of the things you know is presented in such a way it actually reinforces the existing knowledge.
had to read this book twice, because some chapters were pretty dense on confusing CS terms
Reviewed in the United States 🇺🇸 on September 17, 2022
There are no implementation details but a good idea of the structure, action, pros and cons.
So this book won't teach you how to implement messaging or Domain Driven Design, for example, but will give you an idea about how to identify whether and where they are needed, and why.
A solid step up for those who know how all the parts work and now would like to know, how to know, which parts will be appropriate in different situations.
Top reviews from other countries
That's terrific practical advice, and good knowledge for any architect to have. However, if you're looking for a book full of design patterns and specific advice about how best to implement something, you will be very frustrated by this book. In fact, there's essentially zero actual code in the entire book. It's not that kind of book.
The first 2/3 of the book do outline a lot of broad architectural styles and patterns, and do an excellent job of considering the many pros and cons of each. The last section of the book, though, is entirely about "soft skills" career advice for effectively doing the *job* of architect in a company (people skills, management skills, presentation skills, etc.). Frankly, the title doesn't imply that at all, and I just wish this book had been called something more accurate to its true nature, like: "How to Pursue a Software Architect Career"
The review has nothing to do with the content but with the quality of the book. A friend gave me a PDF version, read it a bit, the content was amazing which made me want to purchase. From the colors inside the book plus price thought there would be something similar to recent Manning publications: high-quality paper and nice graphs. Well... no.
Paper is photocopy quality, everything black and white, graphs have not been adjusted to black and white which makes some unreadable. Again, assumed it would not have been the case because of the very high price.
Will make notes with pens + highlighters which is why I prefer printed books, while this is also my last O'Reilly purchase.
Entweder überarbeitet man die Diagramme für die gedruckte Fassung oder man lässt es ganz. So wirkt das Buch eher billig und uneinheitlich, was für O'Reilly-Bücher sehr ungewöhnlich ist.














