A comprehensive list of books on 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.
- What is this? (important)
- How did I make this?
- What should I read?
- Inclusion criteria
- Sorting criteria
- Books
- Find me at Goodreads
This is NOT a recommendation list. When I made this, I intended for a comprehensive list excluding low-profile books—see inclusion criteria below. There was a simple reason behind that: I'm not a subject-matter expert on all these topics. In fact, I not a subject-matter expert on even a single topic of these. More importantly, I don't know your experience level nor your preferences. Some people prefer theoretical over practical books (I do). Others prefer foundational over comprehensive books or dry over engaging books or art-based over engineering-based books. Some people even enjoy verbose over concise books. Or and or and or.
I thoroughly reviewed all books tagged with software-architecture on Goodreads and applied a simple algorithmic rules—see the inclusion criteria below. I don't think the list is perfectly comprehensive. Yet, I'm planning to update it regularly to make it as comprehensive as possible.
Don't be overwhelmed by the number of books on each subject. Practically speaking, you are supposed to read a few books on the subjects of your interest. Deciding what to read is your business. Personally, I start by reading a couple of reviews on Goodreads and examine the book table of content, if available. When in doubt, I read more reviews over the internet from blogs and the like. Alternatively, you may go with the Goodreads community preferences and start from the top of each list if you don't have the time to read reviews.
- 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.
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.
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
Clean Architecture | 9780134494166 | 4.23 | 3662 | 2017 |
Patterns of Enterprise Application Architecture | 9780321127426 | 4.11 | 3501 | 2002 |
Building Evolutionary Architectures: Support Constant Change | 9781491986363 | 3.74 | 705 | 2017 |
Fundamentals of Software Architecture: An Engineering Approach | 9781492043454 | 4.40 | 364 | 2020 |
Software Architecture in Practice, 4th Edition | 0785342154955 | 3.82 | 608 | 2021 |
Architecting for Scale: High Availability for Your Growing Applications | 9781491943397 | 3.56 | 164 | 2016 |
Software Architecture for Developers: Volume 1 - Technical leadership and the balance with agility | 9798652551568 | 3.87 | 332 | 2016 |
Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives | 9780321112293 | 4.10 | 205 | 2005 |
Design It!: From Programmer to Software Architect | 9781680502091 | 3.68 | 168 | 2017 |
The Software Architect Elevator: Transforming Enterprises with Technology and Business Architecture | 9781492077541 | 4.48 | 101 | 2020 |
Righting Software | 9780136524038 | 3.79 | 76 | 2019 |
Analysis Patterns: Reusable Object Models | 9780201895421 | 3.80 | 246 | 1996 |
12 Essential Skills for Software Architects | 9780321717290 | 3.70 | 118 | 2011 |
Software Architecture for Developers: Volume 2 - Visualise, document and explore your software architecture | 9798652551568 | 3.78 | 108 | 2016 |
Documenting Software Architectures: Views and Beyond, 2nd Edition | 9780201703726 | 3.68 | 174 | 2010 |
Software Architecture: Foundations, Theory, and Practice | 9780470167748 | 3.75 | 65 | 2008 |
SOA: Principles of Service Design | 9780132344821 | 3.72 | 130 | 2007 |
Service-Oriented Architecture: Concepts, Technology, and Design | 9780131858589 | 3.65 | 170 | 2005 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software | 9780596007126 | 4.28 | 7574 | 2021 |
Design Patterns: Elements of Reusable Object-Oriented Software | 9780201633610 | 4.19 | 10293 | 1994 |
Refactoring to Patterns | 0785342213355 | 4.05 | 1399 | 2004 |
Dive Into Design Patterns | missing | 4.78 | 351 | 2019 |
Patterns Principles and Practices of Domain Driven Design | 9781118714706 | 4.35 | 292 | 2015 |
Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd Edition | 9780321247148 | 3.88 | 344 | 2004 |
Reactive Design Patterns | 9781617291807 | 3.60 | 138 | 2014 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
Domain-Driven Design: Tackling Complexity in the Heart of Software | 9780321125217 | 4.16 | 4445 | 2003 |
Domain-Driven Design Distilled | 9780134434421 | 3.78 | 816 | 2016 |
Implementing Domain-Driven Design | 9780321834577 | 4.06 | 934 | 2013 |
Domain-Driven Design Quickly | 9781411609259 | 3.59 | 454 | 2007 |
Patterns, Principles, and Practices of Domain-Driven Design | 9781118714706 | 4.36 | 302 | 2015 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
Building Microservices: Designing Fine-Grained Systems, 2nd Edition | 9781491950357 | 4.18 | 3792 | 2021 |
Monolith to Microservices: Sustaining Productivity While Detangling the System | 9781492047841 | 4.28 | 389 | 2019 |
Microservice Patterns | 9781617294549 | 4.15 | 333 | 2017 |
Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization | 9781491965948 | 3.81 | 360 | 2016 |
Reactive Microservices Architecture | 9781491959343 | 3.63 | 186 | 2016 |
Microservice Architecture: Aligning Principles, Practices, and Culture | 9781491959794 | 3.50 | 217 | 2016 |
The Tao of Microservices | 9781617293146 | 3.95 | 78 | 2017 |
Microservices From Design to Deployment | missing | 3.88 | 80 | 2016 |
Microservices AntiPatterns and Pitfalls | 9781491963319 | 3.96 | 82 | 2016 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
Designing Data-Intensive Applications | 9781449373320 | 4.72 | 4385 | 2015 |
The Model Thinker: What You Need to Know to Make Data Work for You | 9780465094622 | 3.92 | 493 | 2018 |
Big Data: Principles and best practices of scalable realtime data systems | 9781617290343 | 3.82 | 440 | 2015 |
Beautiful Data: The Stories Behind Elegant Data Solutions | 9780596157111 | 3.65 | 258 | 2009 |
Data Modeling Made Simple: A Practical Guide for Business and It Professionals, 2nd Edition | 9780977140060 | 3.76 | 74 | 2015 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions | 0785342200683 | 4.10 | 1388 | 2003 |
Making Sense of Stream Processing | 9781491940105 | 4.31 | 143 | 2016 |
Streaming Systems | 9781491983874 | 3.92 | 106 | 2018 |
Designing Event-Driven Systems | 9781492038221 | 3.80 | 190 | 2018 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services | 9781491983645 | 3.58 | 453 | 2018 |
Distributed Systems For Fun and Profit | missing | 4.19 | 326 | 2013 |
Security Engineering: A Guide to Building Dependable Distributed Systems, 3rd Edition | 9780470068526 | 4.19 | 622 | 2020 |
Database Internals: A Deep Dive into How Distributed Data Systems Work | 9781492040347 | 4.26 | 178 | 2019 |
Distributed Systems: Principles and Paradigms, 2nd Edition | 9780132392273 | 3.99 | 357 | 2016 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
Infrastructure as Code: Managing Servers in the Cloud | 9781491924358 | 4.20 | 316 | 2016 |
Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment | 9781491984307 | 3.57 | 130 | 2017 |
Cloud Native Patterns: Designing change-tolerant software | 9781617294297 | 4.24 | 76 | 2019 |
The Practice of Cloud System Administration: Devops and SRE Practices for Web Services, Volume 2 | 9780133478525 | 4.38 | 247 | 2014 |
Beyond the Twelve-Factor App Exploring the DNA of Highly Scalable, Resilient Cloud Applications | 9781491944011 | 3.54 | 91 | 2016 |
Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications | 9781492050285 | 4.27 | 101 | 2019 |
Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications | 9781621140368 | 4.23 | 66 | 2014 |
Cloud Computing: Concepts, Technology & Architecture | 9780133387520 | 3.78 | 137 | 2013 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise, 2nd Edition | 9780137030422 | 4.00 | 307 | 2015 |
Web Scalability for Startup Engineers | 9780071843652 | 4.58 | 160 | 2015 |
Building Scalable Web Sites | 9780596102357 | 3.73 | 299 | 2006 |
Scalable Internet Architectures | 9780672326998 | 3.67 | 168 | 2006 |
Scalability Rules: 50 Principles for Scaling Web Sites | 9780321753885 | 3.97 | 236 | 2011 |
The Art of Capacity Planning: Scaling Web Resources | 9780596518578 | 3.75 | 212 | 2008 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
Clean Agile: Back to Basics | 9780135781869 | 4.30 | 633 | 2019 |
Agile Software Development: Principles, Patterns, and Practices | 9780135974445 | 4.25 | 1201 | 2002 |
The Art of Agile Development | 9780596527679 | 3.96 | 828 | 2007 |
Agile Software Development | 9780201699692 | 3.98 | 390 | 2001 |
Planning Extreme Programming | 9780201710915 | 3.91 | 363 | 2000 |
Scaling Software Agility: Best Practices for Large Enterprises | 9780321458193 | 3.65 | 168 | 2007 |
Balancing Agility and Discipline: A Guide for the Perplexed | 0785342186123 | 3.59 | 105 | 2003 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations | 9781942788003 | 4.33 | 3647 | 2016 |
Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation | 9780321601919 | 4.18 | 2969 | 2010 |
Continuous Integration: Improving Software Quality and Reducing Risk | 9780321336385 | 3.81 | 431 | 2007 |
Devops: A Software Architect's Perspective | 9780134049847 | 3.63 | 57 | 2015 |
Title | ISBN | Rating | Raters | Published |
---|---|---|---|---|
The Pragmatic Programmer: From Journeyman to Master | 9780201616224 | 4.32 | 17379 | 1999 |
The Mythical Man-Month: Essays on Software Engineering | 9780201835953 | 4.03 | 12295 | 1995 |
The Unicorn Project | 9781942788768 | 4.13 | 4927 | 2019 |
Release It!: Design and Deploy Production-Ready Software | 9780978739218 | 4.26 | 2746 | 2007 |
A Philosophy of Software Design | 9781732102200 | 4.14 | 1516 | 2018 |
Site Reliability Engineering: How Google Runs Production Systems | 9781491929124 | 4.23 | 1980 | 2016 |
The Software Craftsman: Professionalism, Pragmatism, Pride | 9780134052502 | 4.33 | 769 | 2014 |
Code Simplicity: The Fundamentals of Software | 9781449313890 | 3.74 | 501 | 2012 |
High Performance Browser Networking | 9781449344764 | 4.50 | 671 | 2013 |
97 Things Every Software Architect Should Know: Collective Wisdom from the Experts | 9780596522698 | 3.62 | 686 | 2009 |
High Performance Web Sites | 9780596529307 | 4.15 | 690 | 2007 |
Software Estimation: Demystifying the Black Art | 9780735605350 | 4.04 | 911 | 2006 |
The Design of Design: Essays from a Computer Scientist | 9780201362985 | 3.76 | 571 | 2010 |
Software Requirements: Practical Techniques for Gathering and Managing Requirements Throughout the Product Development Cycle, 3rd Edition | 9780735618794 | 4.10 | 713 | 2016 |
Waltzing with Bears: Managing Risk on Software Projects | 9780932633606 | 3.97 | 702 | 2003 |
Software Engineering at Google: Lessons Learned from Programming Over Time | 9781492082798 | 4.19 | 344 | 2020 |
Ship It!: A Practical Guide to Successful Software Projects | 9780974514048 | 3.72 | 509 | 2005 |
The Leprechauns of Software Engineering | 9782954745503 | 3.84 | 147 | 2012 |
Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis | 9781680502725 | 4.20 | 112 | 2018 |
The Site Reliability Workbook: Practical Ways to Implement SRE | 9781492029502 | 4.34 | 231 | 2018 |
Beyond Software Architecture: Creating and Sustaining Winning Solutions | 9780201775945 | 3.72 | 141 | 2003 |
37 Things One Architect Knows | 9781537082981 | 4.35 | 100 | 2016 |
Presentation Patterns: Techniques for Crafting Better Presentations | 9780321820808 | 3.94 | 123 | 2012 |
Chaos Engineering | 9781491992395 | 4.23 | 112 | 2017 |
Container Security: Fundamental Technology Concepts That Protect Containerized Applications | 9781492056706 | 4.48 | 52 | 2020 |
Composing Software | 9781661212568 | 3.88 | 85 | 2018 |
Software Security: Building Security in | 9780321356703 | 3.63 | 82 | 2006 |
14 Habits of Highly Productive Developers | 9781735266534 | 4.05 | 195 | 2020 |
This work is licensed under a Creative Commons Attribution 4.0 International License.