Awesome Software Architecture Books
A curated list of books on, or relevant to, Software Architecture.
People in the software industry have long argued about a definition of architecture. Ralph Johnson famously defined
software architecture as "the important stuff (whatever that is)." I, subjectively, followed his definition while
deciding whether or not to include a specific book.
Table of Contents
How did I make this?
I thoroughly reviewed all books
tagged with software-architecture on Goodreads and picked
the best objectively—see the selection criteria below. I don't think, by any means, this list is comprehensive. Yet, I'm
planning to update it regularly to make it as comprehensive as possible.
Inclusion criteria
- The book must be relevant to Software Architecture; and
- The content is not obsolete.
- It must be technology agnostic or applicable to a wide range of technologies; and
- The book profile on Goodreads matches these rules:
- An average rating of 3.5 or above; and
- A total number of ratings equals 50 or above.
- At least 5 written reviews.
- A minimum length of 50 pages.
Sorting criteria
The books are sorted solely based on the number of written reviews. There are, however, other important factors worth
considering. For example, the average rating, the number of ratings, and the publishing date. Yet, I don't have an idea
to put all these factors in a reasonable mathematical formula. If you have
any, I'd love to hear what you've got in mind.
Books
System Architecture
Title |
Rating |
Raters |
Published |
Clean Architecture |
4.23 |
3662 |
2017 |
Patterns of Enterprise Application Architecture |
4.11 |
3501 |
2002 |
Building Evolutionary Architectures: Support Constant Change |
3.74 |
705 |
2017 |
Fundamentals of Software Architecture: An Engineering Approach |
4.40 |
364 |
2020 |
Software Architecture in Practice, 4th Edition |
3.82 |
608 |
2021 |
Architecting for Scale: High Availability for Your Growing Applications |
3.56 |
164 |
2016 |
Software Architecture for Developers: Volume 1 - Technical leadership and the balance with agility |
3.87 |
332 |
2016 |
Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives |
4.10 |
205 |
2005 |
Design It!: From Programmer to Software Architect |
3.68 |
168 |
2017 |
The Software Architect Elevator: Transforming Enterprises with Technology and Business Architecture |
4.48 |
101 |
2020 |
Righting Software |
3.79 |
76 |
2019 |
Analysis Patterns: Reusable Object Models |
3.80 |
246 |
1996 |
12 Essential Skills for Software Architects |
3.70 |
118 |
2011 |
Software Architecture for Developers: Volume 2 - Visualise, document and explore your software architecture |
3.78 |
108 |
2016 |
Documenting Software Architectures: Views and Beyond, 2nd Edition |
3.68 |
174 |
2010 |
Software Architecture: Foundations, Theory, and Practice |
3.75 |
65 |
2008 |
SOA: Principles of Service Design |
3.72 |
130 |
2007 |
Service-Oriented Architecture: Concepts, Technology, and Design |
3.65 |
170 |
2005 |
Design Patterns
Title |
Rating |
Raters |
Published |
Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software |
4.28 |
7574 |
2021 |
Design Patterns: Elements of Reusable Object-Oriented Software |
4.19 |
10293 |
1994 |
Refactoring to Patterns |
4.05 |
1399 |
2004 |
Dive Into Design Patterns |
4.78 |
351 |
2019 |
Patterns Principles and Practices of Domain Driven Design |
4.35 |
292 |
2015 |
Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd Edition |
3.88 |
344 |
2004 |
Reactive Design Patterns |
3.60 |
138 |
2014 |
Domain-Driven Design
Title |
Rating |
Raters |
Published At |
Domain-Driven Design: Tackling Complexity in the Heart of Software |
4.16 |
4445 |
2003 |
Domain-Driven Design Distilled |
3.78 |
816 |
2016 |
Implementing Domain-Driven Design |
4.06 |
934 |
2013 |
Domain-Driven Design Quickly |
3.59 |
454 |
2007 |
Microservices
Title |
Rating |
Raters |
Published |
Building Microservices: Designing Fine-Grained Systems, 2nd Edition |
4.18 |
3792 |
2021 |
Monolith to Microservices: Sustaining Productivity While Detangling the System |
4.28 |
389 |
2019 |
Microservice Patterns |
4.15 |
333 |
2017 |
Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization |
3.81 |
360 |
2016 |
Reactive Microservices Architecture |
3.63 |
186 |
2016 |
Microservice Architecture: Aligning Principles, Practices, and Culture |
3.50 |
217 |
2016 |
The Tao of Microservices |
3.95 |
78 |
2017 |
Microservices From Design to Deployment |
3.88 |
80 |
2016 |
Microservices AntiPatterns and Pitfalls |
3.96 |
82 |
2016 |
Data Engineering
Title |
Rating |
Raters |
Published |
Designing Data-Intensive Applications |
4.72 |
4385 |
2015 |
The Model Thinker: What You Need to Know to Make Data Work for You |
3.92 |
493 |
2018 |
Big Data: Principles and best practices of scalable realtime data systems |
3.82 |
440 |
2015 |
Beautiful Data: The Stories Behind Elegant Data Solutions |
3.65 |
258 |
2009 |
Data Modeling Made Simple: A Practical Guide for Business and It Professionals, 2nd Edition |
3.76 |
74 |
2015 |
Streaming and Messaging
Title |
Rating |
Raters |
Published |
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions |
4.10 |
1388 |
2003 |
Making Sense of Stream Processing |
4.31 |
143 |
2016 |
Streaming Systems |
3.92 |
106 |
2018 |
Designing Event-Driven Systems |
3.80 |
190 |
2018 |
Distributed Systems
Title |
Rating |
Raters |
Published |
Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services |
3.58 |
453 |
2018 |
Distributed Systems For Fun and Profit |
4.19 |
326 |
2013 |
Security Engineering: A Guide to Building Dependable Distributed Systems, 3rd Edition |
4.19 |
622 |
2020 |
Database Internals: A Deep Dive into How Distributed Data Systems Work |
4.26 |
178 |
2019 |
Distributed Systems: Principles and Paradigms, 2nd Edition |
3.99 |
357 |
2016 |
Cloud Engineering
Title |
Rating |
Raters |
Published |
Infrastructure as Code: Managing Servers in the Cloud |
4.20 |
316 |
2016 |
Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment |
3.57 |
130 |
2017 |
Cloud Native Patterns: Designing change-tolerant software |
4.24 |
76 |
2019 |
The Practice of Cloud System Administration: Devops and SRE Practices for Web Services, Volume 2 |
4.38 |
247 |
2014 |
Beyond the Twelve-Factor App Exploring the DNA of Highly Scalable, Resilient Cloud Applications |
3.54 |
91 |
2016 |
Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications |
4.27 |
101 |
2019 |
Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications |
4.23 |
66 |
2014 |
Cloud Computing: Concepts, Technology & Architecture |
3.78 |
137 |
2013 |
Web Scalability
Title |
Rating |
Raters |
Published |
The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise, 2nd Edition |
4.00 |
307 |
2015 |
Web Scalability for Startup Engineers |
4.58 |
160 |
2015 |
Building Scalable Web Sites |
3.73 |
299 |
2006 |
Scalable Internet Architectures |
3.67 |
168 |
2006 |
Scalability Rules: 50 Principles for Scaling Web Sites |
3.97 |
236 |
2011 |
The Art of Capacity Planning: Scaling Web Resources |
3.75 |
212 |
2008 |
Agile
Title |
Rating |
Raters |
Published At |
Clean Agile: Back to Basics |
4.30 |
633 |
2019 |
Agile Software Development: Principles, Patterns, and Practices |
4.25 |
1201 |
2002 |
The Art of Agile Development |
3.96 |
828 |
2007 |
Agile Software Development |
3.98 |
390 |
2001 |
Planning Extreme Programming |
3.91 |
363 |
2000 |
Scaling Software Agility: Best Practices for Large Enterprises |
3.65 |
168 |
2007 |
Balancing Agility and Discipline: A Guide for the Perplexed |
3.59 |
105 |
2003 |
DevOps
Title |
Rating |
Raters |
Published |
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations |
4.33 |
3647 |
2016 |
Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation |
4.18 |
2969 |
2010 |
Continuous Integration: Improving Software Quality and Reducing Risk |
3.81 |
431 |
2007 |
Devops: A Software Architect's Perspective |
3.63 |
57 |
2015 |
General
Title |
Rating |
Raters |
Published |
The Mythical Man-Month: Essays on Software Engineering |
4.03 |
12295 |
1995 |
The Unicorn Project |
4.13 |
4927 |
2019 |
Release It!: Design and Deploy Production-Ready Software |
4.26 |
2746 |
2007 |
A Philosophy of Software Design |
4.14 |
1516 |
2018 |
Site Reliability Engineering: How Google Runs Production Systems |
4.23 |
1980 |
2016 |
The Software Craftsman: Professionalism, Pragmatism, Pride |
4.33 |
769 |
2014 |
Code Simplicity: The Fundamentals of Software |
3.74 |
501 |
2012 |
High Performance Browser Networking |
4.50 |
671 |
2013 |
97 Things Every Software Architect Should Know: Collective Wisdom from the Experts |
3.62 |
686 |
2009 |
High Performance Web Sites |
4.15 |
690 |
2007 |
Software Estimation: Demystifying the Black Art |
4.04 |
911 |
2006 |
The Design of Design: Essays from a Computer Scientist |
3.76 |
571 |
2010 |
Software Requirements: Practical Techniques for Gathering and Managing Requirements Throughout the Product Development Cycle, 3rd Edition |
4.10 |
713 |
2016 |
Waltzing with Bears: Managing Risk on Software Projects |
3.97 |
702 |
2003 |
Software Engineering at Google: Lessons Learned from Programming Over Time |
4.19 |
344 |
2020 |
Ship It!: A Practical Guide to Successful Software Projects |
3.72 |
509 |
2005 |
The Leprechauns of Software Engineering |
3.84 |
147 |
2012 |
Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis |
4.20 |
112 |
2018 |
The Site Reliability Workbook: Practical Ways to Implement SRE |
4.34 |
231 |
2018 |
Beyond Software Architecture: Creating and Sustaining Winning Solutions |
3.72 |
141 |
2003 |
37 Things One Architect Knows |
4.35 |
100 |
2016 |
Presentation Patterns: Techniques for Crafting Better Presentations |
3.94 |
123 |
2012 |
Chaos Engineering |
4.23 |
112 |
2017 |
Container Security: Fundamental Technology Concepts That Protect Containerized Applications |
4.48 |
52 |
2020 |
Composing Software |
3.88 |
85 |
2018 |
Software Security: Building Security in |
3.63 |
82 |
2006 |
Licence
This work is licensed under
a Creative Commons Attribution 4.0 International License.