mirror of
https://github.com/mhadidg/software-architecture-books
synced 2024-12-04 14:57:33 +00:00
Initial commit
This commit is contained in:
commit
fa1e936ae8
222
README.md
Normal file
222
README.md
Normal file
@ -0,0 +1,222 @@
|
||||
# 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?](#how-did-i-make-this)
|
||||
- [Inclusion criteria](#inclusion-criteria)
|
||||
- [Sorting criteria](#sorting-criteria)
|
||||
- [Books](#books)
|
||||
- [System Architecture](#system-architecture)
|
||||
- [Design Patterns](#design-patterns)
|
||||
- [Domain-Driven Design](#domain-driven-design)
|
||||
- [Microservices](#microservices)
|
||||
- [Data Engineering](#data-engineering)
|
||||
- [Streaming and Messaging](#streaming-and-messaging)
|
||||
- [Distributed Systems](#distributed-systems)
|
||||
- [Cloud Engineering](#cloud-engineering)
|
||||
- [Web Scalability](#web-scalability)
|
||||
- [Agile](#agile)
|
||||
- [DevOps](#devops)
|
||||
- [General](#general)
|
||||
- [Find me at Goodreads](https://www.goodreads.com/user/show/63237197)
|
||||
|
||||
## How did I make this?
|
||||
|
||||
I thoroughly reviewed all books
|
||||
[tagged with software-architecture](https://www.goodreads.com/shelf/show/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](https://github.com/mhadidg/software-architecture-books/issues/new) what you've got in mind.
|
||||
|
||||
## Books
|
||||
|
||||
### System Architecture
|
||||
|
||||
| Title | Rating | Raters | Published |
|
||||
| ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------ | --------- |
|
||||
| Clean Architecture | [4.23](https://www.goodreads.com/book/show/18043011) | 3662 | 2017 |
|
||||
| Patterns of Enterprise Application Architecture | [4.11](https://www.goodreads.com/book/show/70156) | 3501 | 2002 |
|
||||
| Building Evolutionary Architectures: Support Constant Change | [3.74](https://www.goodreads.com/book/show/35755822) | 705 | 2017 |
|
||||
| Fundamentals of Software Architecture: An Engineering Approach | [4.40](https://www.goodreads.com/book/show/44144493) | 364 | 2020 |
|
||||
| Software Architecture in Practice, 4th Edition | [3.82](https://www.goodreads.com/book/show/70143) | 608 | 2021 |
|
||||
| Architecting for Scale: High Availability for Your Growing Applications | [3.56](https://www.goodreads.com/book/show/27560189) | 164 | 2016 |
|
||||
| Software Architecture for Developers: Volume 1 - Technical leadership and the balance with agility | [3.87](https://www.goodreads.com/book/show/33221518) | 332 | 2016 |
|
||||
| Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives | [4.10](https://www.goodreads.com/book/show/223932) | 205 | 2005 |
|
||||
| Design It!: From Programmer to Software Architect | [3.68](https://www.goodreads.com/book/show/31670678) | 168 | 2017 |
|
||||
| The Software Architect Elevator: Transforming Enterprises with Technology and Business Architecture | [4.48](https://www.goodreads.com/book/show/49828197) | 101 | 2020 |
|
||||
| Righting Software | [3.79](https://www.goodreads.com/book/show/51109185) | 76 | 2019 |
|
||||
| Analysis Patterns: Reusable Object Models | [3.80](https://www.goodreads.com/book/show/85002) | 246 | 1996 |
|
||||
| 12 Essential Skills for Software Architects | [3.70](https://www.goodreads.com/book/show/13039744) | 118 | 2011 |
|
||||
| Software Architecture for Developers: Volume 2 - Visualise, document and explore your software architecture | [3.78](https://www.goodreads.com/book/show/33221619) | 108 | 2016 |
|
||||
| Documenting Software Architectures: Views and Beyond, 2nd Edition | [3.68](https://www.goodreads.com/book/show/223911) | 174 | 2010 |
|
||||
| Software Architecture: Foundations, Theory, and Practice | [3.75](https://www.goodreads.com/book/show/6329721) | 65 | 2008 |
|
||||
| SOA: Principles of Service Design | [3.72](https://www.goodreads.com/book/show/1265221) | 130 | 2007 |
|
||||
| Service-Oriented Architecture: Concepts, Technology, and Design | [3.65](https://www.goodreads.com/book/show/70147) | 170 | 2005 |
|
||||
|
||||
### Design Patterns
|
||||
|
||||
| Title | Rating | Raters | Published |
|
||||
| ----------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------ | --------- |
|
||||
| Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software | [4.28](https://www.goodreads.com/book/show/58128) | 7574 | 2021 |
|
||||
| Design Patterns: Elements of Reusable Object-Oriented Software | [4.19](https://www.goodreads.com/book/show/85009) | 10293 | 1994 |
|
||||
| Refactoring to Patterns | [4.05](https://www.goodreads.com/book/show/85041) | 1399 | 2004 |
|
||||
| Dive Into Design Patterns | [4.78](https://www.goodreads.com/book/show/43125355) | 351 | 2019 |
|
||||
| Patterns Principles and Practices of Domain Driven Design | [4.35](https://www.goodreads.com/book/show/25531393) | 292 | 2015 |
|
||||
| Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd Edition | [3.88](https://www.goodreads.com/book/show/85021) | 344 | 2004 |
|
||||
| Reactive Design Patterns | [3.60](https://www.goodreads.com/book/show/21799444) | 138 | 2014 |
|
||||
|
||||
### Domain-Driven Design
|
||||
|
||||
| Title | Rating | Raters | Published At |
|
||||
| ------------------------------------------------------------------ | ---------------------------------------------------- | ------ | ------------ |
|
||||
| Domain-Driven Design: Tackling Complexity in the Heart of Software | [4.16](https://www.goodreads.com/book/show/179133) | 4445 | 2003 |
|
||||
| Domain-Driven Design Distilled | [3.78](https://www.goodreads.com/book/show/28602719) | 816 | 2016 |
|
||||
| Implementing Domain-Driven Design | [4.06](https://www.goodreads.com/book/show/15756865) | 934 | 2013 |
|
||||
| Domain-Driven Design Quickly | [3.59](https://www.goodreads.com/book/show/2558105) | 454 | 2007 |
|
||||
|
||||
### Microservices
|
||||
|
||||
| Title | Rating | Raters | Published |
|
||||
| ----------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------ | --------- |
|
||||
| Building Microservices: Designing Fine-Grained Systems, 2nd Edition | [4.18](https://www.goodreads.com/book/show/22512931) | 3792 | 2021 |
|
||||
| Monolith to Microservices: Sustaining Productivity While Detangling the System | [4.28](https://www.goodreads.com/book/show/44144499) | 389 | 2019 |
|
||||
| Microservice Patterns | [4.15](https://www.goodreads.com/book/show/34372564) | 333 | 2017 |
|
||||
| Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization | [3.81](https://www.goodreads.com/book/show/33252815) | 360 | 2016 |
|
||||
| Reactive Microservices Architecture | [3.63](https://www.goodreads.com/book/show/29630482) | 186 | 2016 |
|
||||
| Microservice Architecture: Aligning Principles, Practices, and Culture | [3.50](https://www.goodreads.com/book/show/30827276) | 217 | 2016 |
|
||||
| The Tao of Microservices | [3.95](https://www.goodreads.com/book/show/29932926) | 78 | 2017 |
|
||||
| Microservices From Design to Deployment | [3.88](https://www.goodreads.com/book/show/31444510) | 80 | 2016 |
|
||||
| Microservices AntiPatterns and Pitfalls | [3.96](https://www.goodreads.com/book/show/31291348) | 82 | 2016 |
|
||||
|
||||
### Data Engineering
|
||||
|
||||
| Title | Rating | Raters | Published |
|
||||
| ------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------ | --------- |
|
||||
| Designing Data-Intensive Applications | [4.72](https://www.goodreads.com/book/show/23463279) | 4385 | 2015 |
|
||||
| The Model Thinker: What You Need to Know to Make Data Work for You | [3.92](https://www.goodreads.com/book/show/39088592) | 493 | 2018 |
|
||||
| Big Data: Principles and best practices of scalable realtime data systems | [3.82](https://www.goodreads.com/book/show/13421400) | 440 | 2015 |
|
||||
| Beautiful Data: The Stories Behind Elegant Data Solutions | [3.65](https://www.goodreads.com/book/show/6492189) | 258 | 2009 |
|
||||
| Data Modeling Made Simple: A Practical Guide for Business and It Professionals, 2nd Edition | [3.76](https://www.goodreads.com/book/show/7846548) | 74 | 2015 |
|
||||
|
||||
### Streaming and Messaging
|
||||
|
||||
| Title | Rating | Raters | Published |
|
||||
| --------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------ | --------- |
|
||||
| Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions | [4.10](https://www.goodreads.com/book/show/85012) | 1388 | 2003 |
|
||||
| Making Sense of Stream Processing | [4.31](https://www.goodreads.com/book/show/29598815) | 143 | 2016 |
|
||||
| Streaming Systems | [3.92](https://www.goodreads.com/book/show/34431414) | 106 | 2018 |
|
||||
| Designing Event-Driven Systems | [3.80](https://www.goodreads.com/book/show/39793332) | 190 | 2018 |
|
||||
|
||||
### Distributed Systems
|
||||
|
||||
| Title | Rating | Raters | Published |
|
||||
| ------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------ | --------- |
|
||||
| Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services | [3.58](https://www.goodreads.com/book/show/34691716) | 453 | 2018 |
|
||||
| Distributed Systems For Fun and Profit | [4.19](https://www.goodreads.com/book/show/18652140) | 326 | 2013 |
|
||||
| Security Engineering: A Guide to Building Dependable Distributed Systems, 3rd Edition | [4.19](https://www.goodreads.com/book/show/3268675) | 622 | 2020 |
|
||||
| Database Internals: A Deep Dive into How Distributed Data Systems Work | [4.26](https://www.goodreads.com/book/show/44647144) | 178 | 2019 |
|
||||
| Distributed Systems: Principles and Paradigms, 2nd Edition | [3.99](https://www.goodreads.com/book/show/405614) | 357 | 2016 |
|
||||
|
||||
### Cloud Engineering
|
||||
|
||||
| Title | Rating | Raters | Published |
|
||||
| ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------ | --------- |
|
||||
| Infrastructure as Code: Managing Servers in the Cloud | [4.20](https://www.goodreads.com/book/show/26544394) | 316 | 2016 |
|
||||
| Cloud Native Infrastructure: Patterns for Scalable Infrastructure and Applications in a Dynamic Environment | [3.57](https://www.goodreads.com/book/show/34431415) | 130 | 2017 |
|
||||
| Cloud Native Patterns: Designing change-tolerant software | [4.24](https://www.goodreads.com/book/show/36410104) | 76 | 2019 |
|
||||
| The Practice of Cloud System Administration: Devops and SRE Practices for Web Services, Volume 2 | [4.38](https://www.goodreads.com/book/show/23131211) | 247 | 2014 |
|
||||
| Beyond the Twelve-Factor App Exploring the DNA of Highly Scalable, Resilient Cloud Applications | [3.54](https://www.goodreads.com/book/show/30460867) | 91 | 2016 |
|
||||
| Kubernetes Patterns: Reusable Elements for Designing Cloud-Native Applications | [4.27](https://www.goodreads.com/book/show/44144501) | 101 | 2019 |
|
||||
| Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications | [4.23](https://www.goodreads.com/book/show/21403727) | 66 | 2014 |
|
||||
| Cloud Computing: Concepts, Technology & Architecture | [3.78](https://www.goodreads.com/book/show/17133059) | 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](https://www.goodreads.com/book/show/7282390) | 307 | 2015 |
|
||||
| Web Scalability for Startup Engineers | [4.58](https://www.goodreads.com/book/show/23615147) | 160 | 2015 |
|
||||
| Building Scalable Web Sites | [3.73](https://www.goodreads.com/book/show/112863) | 299 | 2006 |
|
||||
| Scalable Internet Architectures | [3.67](https://www.goodreads.com/book/show/853963) | 168 | 2006 |
|
||||
| Scalability Rules: 50 Principles for Scaling Web Sites | [3.97](https://www.goodreads.com/book/show/10758425) | 236 | 2011 |
|
||||
| The Art of Capacity Planning: Scaling Web Resources | [3.75](https://www.goodreads.com/book/show/4843318) | 212 | 2008 |
|
||||
|
||||
### Agile
|
||||
|
||||
| Title | Rating | Raters | Published At |
|
||||
| --------------------------------------------------------------- | ---------------------------------------------------- | ------ | ------------ |
|
||||
| Clean Agile: Back to Basics | [4.30](https://www.goodreads.com/book/show/45280021) | 633 | 2019 |
|
||||
| Agile Software Development: Principles, Patterns, and Practices | [4.25](https://www.goodreads.com/book/show/84985) | 1201 | 2002 |
|
||||
| The Art of Agile Development | [3.96](https://www.goodreads.com/book/show/1654215) | 828 | 2007 |
|
||||
| Agile Software Development | [3.98](https://www.goodreads.com/book/show/942577) | 390 | 2001 |
|
||||
| Planning Extreme Programming | [3.91](https://www.goodreads.com/book/show/67839) | 363 | 2000 |
|
||||
| Scaling Software Agility: Best Practices for Large Enterprises | [3.65](https://www.goodreads.com/book/show/496189) | 168 | 2007 |
|
||||
| Balancing Agility and Discipline: A Guide for the Perplexed | [3.59](https://www.goodreads.com/book/show/771159) | 105 | 2003 |
|
||||
|
||||
### DevOps
|
||||
|
||||
| Title | Rating | Raters | Published |
|
||||
| ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------ | --------- |
|
||||
| The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations | [4.33](https://www.goodreads.com/book/show/26083308) | 3647 | 2016 |
|
||||
| Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation | [4.18](https://www.goodreads.com/book/show/8686650) | 2969 | 2010 |
|
||||
| Continuous Integration: Improving Software Quality and Reducing Risk | [3.81](https://www.goodreads.com/book/show/1311542) | 431 | 2007 |
|
||||
| Devops: A Software Architect's Perspective | [3.63](https://www.goodreads.com/book/show/23363016) | 57 | 2015 |
|
||||
|
||||
### General
|
||||
|
||||
| Title | Rating | Raters | Published |
|
||||
| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ------ | ---------- |
|
||||
| The Mythical Man-Month: Essays on Software Engineering | [4.03](https://www.goodreads.com/book/show/13629) | 12295 | 1995 |
|
||||
| The Unicorn Project | [4.13](https://www.goodreads.com/book/show/44333183) | 4927 | 2019 |
|
||||
| Release It!: Design and Deploy Production-Ready Software | [4.26](https://www.goodreads.com/book/show/1069827) | 2746 | 2007 |
|
||||
| A Philosophy of Software Design | [4.14](https://www.goodreads.com/book/show/39996759) | 1516 | 2018 |
|
||||
| Site Reliability Engineering: How Google Runs Production Systems | [4.23](https://www.goodreads.com/book/show/27968891) | 1980 | 2016 |
|
||||
| The Software Craftsman: Professionalism, Pragmatism, Pride | [4.33](https://www.goodreads.com/book/show/23215733) | 769 | 2014 |
|
||||
| Code Simplicity: The Fundamentals of Software | [3.74](https://www.goodreads.com/book/show/13234063) | 501 | 2012 |
|
||||
| High Performance Browser Networking | [4.50](https://www.goodreads.com/book/show/17985198) | 671 | 2013 |
|
||||
| 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts | [3.62](https://www.goodreads.com/book/show/5487765) | 686 | 2009 |
|
||||
| High Performance Web Sites | [4.15](https://www.goodreads.com/book/show/1681559) | 690 | 2007 |
|
||||
| Software Estimation: Demystifying the Black Art | [4.04](https://www.goodreads.com/book/show/93891) | 911 | 2006 |
|
||||
| The Design of Design: Essays from a Computer Scientist | [3.76](https://www.goodreads.com/book/show/7157080) | 571 | 2010 |
|
||||
| Software Requirements: Practical Techniques for Gathering and Managing Requirements Throughout the Product Development Cycle, 3rd Edition | [4.10](https://www.goodreads.com/book/show/349416) | 713 | 2016 |
|
||||
| Waltzing with Bears: Managing Risk on Software Projects | [3.97](https://www.goodreads.com/book/show/665153) | 702 | 2003 |
|
||||
| Software Engineering at Google: Lessons Learned from Programming Over Time | [4.19](https://www.goodreads.com/book/show/48816586) | 344 | 2020 |
|
||||
| Ship It!: A Practical Guide to Successful Software Projects | [3.72](https://www.goodreads.com/book/show/363086) | 509 | 2005 |
|
||||
| The Leprechauns of Software Engineering | [3.84](https://www.goodreads.com/book/show/15874425) | 147 | 2012 |
|
||||
| Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis | [4.20](https://www.goodreads.com/book/show/36517037) | 112 | 2018 |
|
||||
| The Site Reliability Workbook: Practical Ways to Implement SRE | [4.34](https://www.goodreads.com/book/show/39687146) | 231 | 2018 |
|
||||
| Beyond Software Architecture: Creating and Sustaining Winning Solutions | [3.72](https://www.goodreads.com/book/show/224132) | 141 | 2003 |
|
||||
| 37 Things One Architect Knows | [4.35](https://www.goodreads.com/book/show/29499887) | 100 | 2016 |
|
||||
| Presentation Patterns: Techniques for Crafting Better Presentations | [3.94](https://www.goodreads.com/book/show/13705465) | 123 | 2012 |
|
||||
| Chaos Engineering | [4.23](https://www.goodreads.com/book/show/35516296) | 112 | 2017 |
|
||||
| Container Security: Fundamental Technology Concepts That Protect Containerized Applications | [4.48](https://www.goodreads.com/book/show/48816583) | 52 | 2020 |
|
||||
| Composing Software | [3.88](https://www.goodreads.com/book/show/43429039) | 85 | 2018 |
|
||||
| Software Security: Building Security in | [3.63](https://www.goodreads.com/book/show/760789) | 82 | 2006 |
|
||||
|
||||
## Licence
|
||||
|
||||
This work is licensed under
|
||||
a [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
|
Loading…
Reference in New Issue
Block a user