└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Software Architecture Books 2 | 3 | A comprehensive list of books on Software Architecture. 4 | 5 | People in the software industry have long argued about a definition of architecture. Ralph Johnson famously defined 6 | software architecture as "the important stuff (whatever that is)." I, subjectively, followed his definition while 7 | deciding whether or not to include a specific book. 8 | 9 | ## Table of Contents 10 | 11 | - [What is this? (important)](#what-is-this) 12 | - [How did I make this?](#how-did-i-make-this) 13 | - [What should I read?](#what-should-i-read) 14 | - [Inclusion criteria](#inclusion-criteria) 15 | - [Sorting criteria](#sorting-criteria) 16 | - [Books](#books) 17 | - [System Architecture](#system-architecture) 18 | - [Design Patterns](#design-patterns) 19 | - [Domain-Driven Design](#domain-driven-design) 20 | - [Microservices](#microservices) 21 | - [Data Engineering](#data-engineering) 22 | - [Streaming and Messaging](#streaming-and-messaging) 23 | - [Distributed Systems](#distributed-systems) 24 | - [Cloud Engineering](#cloud-engineering) 25 | - [Web Scalability](#web-scalability) 26 | - [Agile](#agile) 27 | - [DevOps](#devops) 28 | - [General](#general) 29 | - [Find me at Goodreads](https://www.goodreads.com/user/show/63237197) 30 | 31 | ## What is this? 32 | 33 | This is NOT a recommendation list. When I made this, I intended for a comprehensive list excluding low-profile books—see 34 | inclusion criteria below. There was a simple reason behind that: I'm not a subject-matter expert on all these topics. In 35 | fact, I not a subject-matter expert on even a single topic of these. More importantly, I don't know your experience 36 | level nor your preferences. Some people prefer theoretical over practical books (I do). Others prefer foundational over 37 | comprehensive books or dry over engaging books or art-based over engineering-based books. Some people even enjoy verbose 38 | over concise books. Or and or and or. 39 | 40 | ## How did I make this? 41 | 42 | I thoroughly reviewed all books 43 | [tagged with software-architecture](https://www.goodreads.com/shelf/show/software-architecture) on Goodreads and applied 44 | a simple algorithmic rules—see the inclusion criteria below. I don't think the list is perfectly comprehensive. Yet, I'm 45 | planning to update it regularly to make it as comprehensive as possible. 46 | 47 | ## What should I read? 48 | 49 | Don't be overwhelmed by the number of books on each subject. Practically speaking, you are supposed to read a few books 50 | on the subjects of your interest. Deciding what to read is your business. Personally, I start by reading a couple of 51 | reviews on Goodreads and examine the book table of content, if available. When in doubt, I read more reviews over the 52 | internet from blogs and the like. Alternatively, you may go with the Goodreads community preferences and start from the 53 | top of each list if you don't have the time to read reviews. 54 | 55 | ## Inclusion criteria 56 | 57 | - The book must be relevant to Software Architecture; and 58 | - The content is not obsolete. 59 | - It must be technology agnostic or applicable to a wide range of technologies; and 60 | - The book profile on Goodreads matches these rules: 61 | - An average rating of 3.5 or above; and 62 | - A total number of ratings equals 50 or above. 63 | - At least 5 written reviews. 64 | - A minimum length of 50 pages. 65 | 66 | ## Sorting criteria 67 | 68 | The books are sorted solely based on the number of **written** reviews. There are, however, other important factors 69 | worth considering. For example, the average rating, the number of ratings, and the publishing date. Yet, I don't have an 70 | idea to put all these factors in a reasonable mathematical formula. If you have 71 | any, [I'd love to hear](https://github.com/mhadidg/software-architecture-books/issues/new) what you've got in mind. 72 | 73 | ## Books 74 | 75 | ### System Architecture 76 | 77 | | Title | ISBN | Rating | Raters | Published | 78 | | ----------------------------------------------------------------------------------------------------------- | --------------| ---------------------------------------------------- | ------ | --------- | 79 | | Clean Architecture | 9780134494166 | [4.23](https://www.goodreads.com/book/show/18043011) | 3662 | 2017 | 80 | | Patterns of Enterprise Application Architecture | 9780321127426 | [4.11](https://www.goodreads.com/book/show/70156) | 3501 | 2002 | 81 | | Building Evolutionary Architectures: Support Constant Change | 9781491986363 | [3.74](https://www.goodreads.com/book/show/35755822) | 705 | 2017 | 82 | | Fundamentals of Software Architecture: An Engineering Approach | 9781492043454 | [4.40](https://www.goodreads.com/book/show/44144493) | 364 | 2020 | 83 | | Software Architecture in Practice, 4th Edition | 0785342154955 | [3.82](https://www.goodreads.com/book/show/70143) | 608 | 2021 | 84 | | Architecting for Scale: High Availability for Your Growing Applications | 9781491943397 | [3.56](https://www.goodreads.com/book/show/27560189) | 164 | 2016 | 85 | | Software Architecture for Developers: Volume 1 - Technical leadership and the balance with agility | 9798652551568 | [3.87](https://www.goodreads.com/book/show/33221518) | 332 | 2016 | 86 | | Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives | 9780321112293 | [4.10](https://www.goodreads.com/book/show/223932) | 205 | 2005 | 87 | | Design It!: From Programmer to Software Architect | 9781680502091 | [3.68](https://www.goodreads.com/book/show/31670678) | 168 | 2017 | 88 | | The Software Architect Elevator: Transforming Enterprises with Technology and Business Architecture | 9781492077541 | [4.48](https://www.goodreads.com/book/show/49828197) | 101 | 2020 | 89 | | Righting Software | 9780136524038 | [3.79](https://www.goodreads.com/book/show/51109185) | 76 | 2019 | 90 | | Analysis Patterns: Reusable Object Models | 9780201895421 | [3.80](https://www.goodreads.com/book/show/85002) | 246 | 1996 | 91 | | 12 Essential Skills for Software Architects | 9780321717290 | [3.70](https://www.goodreads.com/book/show/13039744) | 118 | 2011 | 92 | | Software Architecture for Developers: Volume 2 - Visualise, document and explore your software architecture | 9798652551568 | [3.78](https://www.goodreads.com/book/show/33221619) | 108 | 2016 | 93 | | Documenting Software Architectures: Views and Beyond, 2nd Edition | 9780201703726 | [3.68](https://www.goodreads.com/book/show/223911) | 174 | 2010 | 94 | | Software Architecture: Foundations, Theory, and Practice | 9780470167748 | [3.75](https://www.goodreads.com/book/show/6329721) | 65 | 2008 | 95 | | SOA: Principles of Service Design | 9780132344821 | [3.72](https://www.goodreads.com/book/show/1265221) | 130 | 2007 | 96 | | Service-Oriented Architecture: Concepts, Technology, and Design | 9780131858589 | [3.65](https://www.goodreads.com/book/show/70147) | 170 | 2005 | 97 | 98 | ### Design Patterns 99 | 100 | | Title | ISBN | Rating | Raters | Published | 101 | | ----------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | ------ | --------- | 102 | | Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software | 9780596007126 | [4.28](https://www.goodreads.com/book/show/58128) | 7574 | 2021 | 103 | | Design Patterns: Elements of Reusable Object-Oriented Software | 9780201633610 | [4.19](https://www.goodreads.com/book/show/85009) | 10293 | 1994 | 104 | | Refactoring to Patterns | 0785342213355 | [4.05](https://www.goodreads.com/book/show/85041) | 1399 | 2004 | 105 | | Dive Into Design Patterns | missing | [4.78](https://www.goodreads.com/book/show/43125355) | 351 | 2019 | 106 | | Patterns Principles and Practices of Domain Driven Design | 9781118714706 | [4.35](https://www.goodreads.com/book/show/25531393) | 292 | 2015 | 107 | | Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd Edition | 9780321247148 | [3.88](https://www.goodreads.com/book/show/85021) | 344 | 2004 | 108 | | Reactive Design Patterns | 9781617291807 | [3.60](https://www.goodreads.com/book/show/21799444) | 138 | 2014 | 109 | 110 | ### Domain-Driven Design 111 | 112 | | Title | ISBN | Rating | Raters | Published | 113 | | ------------------------------------------------------------------ | ---- | ---------------------------------------------------- | ------ | ------------ | 114 | | Domain-Driven Design: Tackling Complexity in the Heart of Software | 9780321125217 | [4.16](https://www.goodreads.com/book/show/179133) | 4445 | 2003 | 115 | | Domain-Driven Design Distilled | 9780134434421 | [3.78](https://www.goodreads.com/book/show/28602719) | 816 | 2016 | 116 | | Implementing Domain-Driven Design | 9780321834577 | [4.06](https://www.goodreads.com/book/show/15756865) | 934 | 2013 | 117 | | Domain-Driven Design Quickly | 9781411609259 | [3.59](https://www.goodreads.com/book/show/2558105) | 454 | 2007 | 118 | | Patterns, Principles, and Practices of Domain-Driven Design | 9781118714706 | [4.36](https://www.goodreads.com/book/show/25531393) | 302 | 2015 | 119 | 120 | 121 | ### Microservices 122 | 123 | | Title | ISBN | Rating | Raters | Published | 124 | | ----------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | ------ | --------- | 125 | | Building Microservices: Designing Fine-Grained Systems, 2nd Edition | 9781491950357 | [4.18](https://www.goodreads.com/book/show/22512931) | 3792 | 2021 | 126 | | Monolith to Microservices: Sustaining Productivity While Detangling the System | 9781492047841 | [4.28](https://www.goodreads.com/book/show/44144499) | 389 | 2019 | 127 | | Microservice Patterns | 9781617294549 | [4.15](https://www.goodreads.com/book/show/34372564) | 333 | 2017 | 128 | | Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization | 9781491965948 | [3.81](https://www.goodreads.com/book/show/33252815) | 360 | 2016 | 129 | | Reactive Microservices Architecture | 9781491959343 | [3.63](https://www.goodreads.com/book/show/29630482) | 186 | 2016 | 130 | | Microservice Architecture: Aligning Principles, Practices, and Culture | 9781491959794 | [3.50](https://www.goodreads.com/book/show/30827276) | 217 | 2016 | 131 | | The Tao of Microservices | 9781617293146 | [3.95](https://www.goodreads.com/book/show/29932926) | 78 | 2017 | 132 | | Microservices From Design to Deployment | missing | [3.88](https://www.goodreads.com/book/show/31444510) | 80 | 2016 | 133 | | Microservices AntiPatterns and Pitfalls | 9781491963319 | [3.96](https://www.goodreads.com/book/show/31291348) | 82 | 2016 | 134 | 135 | ### Data Engineering 136 | 137 | | Title | ISBN | Rating | Raters | Published | 138 | | ------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | ------ | --------- | 139 | | Designing Data-Intensive Applications | 9781449373320 | [4.72](https://www.goodreads.com/book/show/23463279) | 4385 | 2015 | 140 | | The Model Thinker: What You Need to Know to Make Data Work for You | 9780465094622 | [3.92](https://www.goodreads.com/book/show/39088592) | 493 | 2018 | 141 | | Big Data: Principles and best practices of scalable realtime data systems | 9781617290343 | [3.82](https://www.goodreads.com/book/show/13421400) | 440 | 2015 | 142 | | Beautiful Data: The Stories Behind Elegant Data Solutions | 9780596157111 | [3.65](https://www.goodreads.com/book/show/6492189) | 258 | 2009 | 143 | | Data Modeling Made Simple: A Practical Guide for Business and It Professionals, 2nd Edition | 9780977140060 | [3.76](https://www.goodreads.com/book/show/7846548) | 74 | 2015 | 144 | 145 | ### Streaming and Messaging 146 | 147 | | Title | ISBN | Rating | Raters | Published | 148 | | --------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | ------ | --------- | 149 | | Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions | 0785342200683 | [4.10](https://www.goodreads.com/book/show/85012) | 1388 | 2003 | 150 | | Making Sense of Stream Processing | 9781491940105 | [4.31](https://www.goodreads.com/book/show/29598815) | 143 | 2016 | 151 | | Streaming Systems | 9781491983874 | [3.92](https://www.goodreads.com/book/show/34431414) | 106 | 2018 | 152 | | Designing Event-Driven Systems | 9781492038221 | [3.80](https://www.goodreads.com/book/show/39793332) | 190 | 2018 | 153 | 154 | ### Distributed Systems 155 | 156 | | Title | ISBN | Rating | Raters | Published | 157 | | ------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | ------ | --------- | 158 | | Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services | 9781491983645 | [3.58](https://www.goodreads.com/book/show/34691716) | 453 | 2018 | 159 | | Distributed Systems For Fun and Profit | missing | [4.19](https://www.goodreads.com/book/show/18652140) | 326 | 2013 | 160 | | Security Engineering: A Guide to Building Dependable Distributed Systems, 3rd Edition | 9780470068526 | [4.19](https://www.goodreads.com/book/show/3268675) | 622 | 2020 | 161 | | Database Internals: A Deep Dive into How Distributed Data Systems Work | 9781492040347 | [4.26](https://www.goodreads.com/book/show/44647144) | 178 | 2019 | 162 | | Distributed Systems: Principles and Paradigms, 2nd Edition | 9780132392273 | [3.99](https://www.goodreads.com/book/show/405614) | 357 | 2016 | 163 | 164 | ### Cloud Engineering 165 | 166 | | Title | ISBN | Rating | Raters | Published | 167 | | ----------------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | ------ | --------- | 168 | | Infrastructure as Code: Managing Servers in the Cloud | 9781491924358 | [4.20](https://www.goodreads.com/book/show/26544394) | 316 | 2016 | 169 | | Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment | 9781491984307 | [3.57](https://www.goodreads.com/book/show/34431415) | 130 | 2017 | 170 | | Cloud Native Patterns: Designing change-tolerant software | 9781617294297 | [4.24](https://www.goodreads.com/book/show/36410104) | 76 | 2019 | 171 | | The Practice of Cloud System Administration: Devops and SRE Practices for Web Services, Volume 2 | 9780133478525 | [4.38](https://www.goodreads.com/book/show/23131211) | 247 | 2014 | 172 | | Beyond the Twelve-Factor App Exploring the DNA of Highly Scalable, Resilient Cloud Applications | 9781491944011 | [3.54](https://www.goodreads.com/book/show/30460867) | 91 | 2016 | 173 | | Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications | 9781492050285 | [4.27](https://www.goodreads.com/book/show/44144501) | 101 | 2019 | 174 | | Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications | 9781621140368 | [4.23](https://www.goodreads.com/book/show/21403727) | 66 | 2014 | 175 | | Cloud Computing: Concepts, Technology & Architecture | 9780133387520 | [3.78](https://www.goodreads.com/book/show/17133059) | 137 | 2013 | 176 | 177 | ### Web Scalability 178 | 179 | | Title | ISBN | Rating | Raters | Published | 180 | | ---------------------------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | ------ | --------- | 181 | | The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise, 2nd Edition | 9780137030422 | [4.00](https://www.goodreads.com/book/show/7282390) | 307 | 2015 | 182 | | Web Scalability for Startup Engineers | 9780071843652 | [4.58](https://www.goodreads.com/book/show/23615147) | 160 | 2015 | 183 | | Building Scalable Web Sites | 9780596102357 | [3.73](https://www.goodreads.com/book/show/112863) | 299 | 2006 | 184 | | Scalable Internet Architectures | 9780672326998 | [3.67](https://www.goodreads.com/book/show/853963) | 168 | 2006 | 185 | | Scalability Rules: 50 Principles for Scaling Web Sites | 9780321753885 | [3.97](https://www.goodreads.com/book/show/10758425) | 236 | 2011 | 186 | | The Art of Capacity Planning: Scaling Web Resources | 9780596518578 | [3.75](https://www.goodreads.com/book/show/4843318) | 212 | 2008 | 187 | 188 | ### Agile 189 | 190 | | Title | ISBN | Rating | Raters | Published | 191 | | --------------------------------------------------------------- | ---- | ---------------------------------------------------- | ------ | ------------ | 192 | | Clean Agile: Back to Basics | 9780135781869 | [4.30](https://www.goodreads.com/book/show/45280021) | 633 | 2019 | 193 | | Agile Software Development: Principles, Patterns, and Practices | 9780135974445 | [4.25](https://www.goodreads.com/book/show/84985) | 1201 | 2002 | 194 | | The Art of Agile Development | 9780596527679 | [3.96](https://www.goodreads.com/book/show/1654215) | 828 | 2007 | 195 | | Agile Software Development | 9780201699692 | [3.98](https://www.goodreads.com/book/show/942577) | 390 | 2001 | 196 | | Planning Extreme Programming | 9780201710915 | [3.91](https://www.goodreads.com/book/show/67839) | 363 | 2000 | 197 | | Scaling Software Agility: Best Practices for Large Enterprises | 9780321458193 | [3.65](https://www.goodreads.com/book/show/496189) | 168 | 2007 | 198 | | Balancing Agility and Discipline: A Guide for the Perplexed | 0785342186123 | [3.59](https://www.goodreads.com/book/show/771159) | 105 | 2003 | 199 | 200 | ### DevOps 201 | 202 | | Title | ISBN | Rating | Raters | Published | 203 | | ------------------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------- | ------ | --------- | 204 | | The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations | 9781942788003 | [4.33](https://www.goodreads.com/book/show/26083308) | 3647 | 2016 | 205 | | Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation | 9780321601919 | [4.18](https://www.goodreads.com/book/show/8686650) | 2969 | 2010 | 206 | | Continuous Integration: Improving Software Quality and Reducing Risk | 9780321336385 | [3.81](https://www.goodreads.com/book/show/1311542) | 431 | 2007 | 207 | | Devops: A Software Architect's Perspective | 9780134049847 | [3.63](https://www.goodreads.com/book/show/23363016) | 57 | 2015 | 208 | 209 | ### General 210 | 211 | | Title | ISBN | Rating | Raters | Published | 212 | | ----------------------------------------------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- | ------ | ---------- | 213 | | The Pragmatic Programmer: From Journeyman to Master | 9780201616224 | [4.32](https://www.goodreads.com/book/show/4099) | 17379 | 1999 | 214 | | The Mythical Man-Month: Essays on Software Engineering | 9780201835953 | [4.03](https://www.goodreads.com/book/show/13629) | 12295 | 1995 | 215 | | The Unicorn Project | 9781942788768 | [4.13](https://www.goodreads.com/book/show/44333183) | 4927 | 2019 | 216 | | Release It!: Design and Deploy Production-Ready Software | 9780978739218 | [4.26](https://www.goodreads.com/book/show/1069827) | 2746 | 2007 | 217 | | A Philosophy of Software Design | 9781732102200 | [4.14](https://www.goodreads.com/book/show/39996759) | 1516 | 2018 | 218 | | Site Reliability Engineering: How Google Runs Production Systems | 9781491929124 | [4.23](https://www.goodreads.com/book/show/27968891) | 1980 | 2016 | 219 | | The Software Craftsman: Professionalism, Pragmatism, Pride | 9780134052502 | [4.33](https://www.goodreads.com/book/show/23215733) | 769 | 2014 | 220 | | Code Simplicity: The Fundamentals of Software | 9781449313890 | [3.74](https://www.goodreads.com/book/show/13234063) | 501 | 2012 | 221 | | High Performance Browser Networking | 9781449344764 | [4.50](https://www.goodreads.com/book/show/17985198) | 671 | 2013 | 222 | | 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts | 9780596522698 | [3.62](https://www.goodreads.com/book/show/5487765) | 686 | 2009 | 223 | | High Performance Web Sites | 9780596529307 | [4.15](https://www.goodreads.com/book/show/1681559) | 690 | 2007 | 224 | | Software Estimation: Demystifying the Black Art | 9780735605350 | [4.04](https://www.goodreads.com/book/show/93891) | 911 | 2006 | 225 | | The Design of Design: Essays from a Computer Scientist | 9780201362985 | [3.76](https://www.goodreads.com/book/show/7157080) | 571 | 2010 | 226 | | Software Requirements: Practical Techniques for Gathering and Managing Requirements Throughout the Product Development Cycle, 3rd Edition | 9780735618794 | [4.10](https://www.goodreads.com/book/show/349416) | 713 | 2016 | 227 | | Waltzing with Bears: Managing Risk on Software Projects | 9780932633606 | [3.97](https://www.goodreads.com/book/show/665153) | 702 | 2003 | 228 | | Software Engineering at Google: Lessons Learned from Programming Over Time | 9781492082798 | [4.19](https://www.goodreads.com/book/show/48816586) | 344 | 2020 | 229 | | Ship It!: A Practical Guide to Successful Software Projects | 9780974514048 | [3.72](https://www.goodreads.com/book/show/363086) | 509 | 2005 | 230 | | The Leprechauns of Software Engineering | 9782954745503 | [3.84](https://www.goodreads.com/book/show/15874425) | 147 | 2012 | 231 | | Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis | 9781680502725 | [4.20](https://www.goodreads.com/book/show/36517037) | 112 | 2018 | 232 | | The Site Reliability Workbook: Practical Ways to Implement SRE | 9781492029502 | [4.34](https://www.goodreads.com/book/show/39687146) | 231 | 2018 | 233 | | Beyond Software Architecture: Creating and Sustaining Winning Solutions | 9780201775945 | [3.72](https://www.goodreads.com/book/show/224132) | 141 | 2003 | 234 | | 37 Things One Architect Knows | 9781537082981 | [4.35](https://www.goodreads.com/book/show/29499887) | 100 | 2016 | 235 | | Presentation Patterns: Techniques for Crafting Better Presentations | 9780321820808 | [3.94](https://www.goodreads.com/book/show/13705465) | 123 | 2012 | 236 | | Chaos Engineering | 9781491992395 | [4.23](https://www.goodreads.com/book/show/35516296) | 112 | 2017 | 237 | | Container Security: Fundamental Technology Concepts That Protect Containerized Applications | 9781492056706 | [4.48](https://www.goodreads.com/book/show/48816583) | 52 | 2020 | 238 | | Composing Software | 9781661212568 | [3.88](https://www.goodreads.com/book/show/43429039) | 85 | 2018 | 239 | | Software Security: Building Security in | 9780321356703 | [3.63](https://www.goodreads.com/book/show/760789) | 82 | 2006 | 240 | | 14 Habits of Highly Productive Developers | 9781735266534 | [4.05](https://www.goodreads.com/book/show/54438214) | 195 | 2020 | 241 | ## Licence 242 | 243 | This work is licensed under 244 | a [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/). 245 | --------------------------------------------------------------------------------