software-architecture-books README

The project's README from github.com/mhadidg/software-architecture-books. As one markdown file: README.md.

Software Architecture Books

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.

Table of Contents

What is this?

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.

How did I make this?

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.

What should I read?

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.

Inclusion criteria

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 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

Design Patterns

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

Domain-Driven Design

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

Microservices

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

Data Engineering

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

Streaming and Messaging

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

Distributed Systems

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

Cloud Engineering

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

Web Scalability

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

Agile

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

DevOps

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

General

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

Licence

This work is licensed under a Creative Commons Attribution 4.0 International License.

software-architecture-books (mhadidg/software-architecture-books)

Searching Database…

这是什么?一份全面的软件架构书籍清单——明确说明这不是推荐书单——其中每个条目都是表格中的一行,包含书名、ISBN、Goodreads 评分、评分人数和出版年份。
这份清单是怎么组织的?共分为十二个主题板块:系统架构、设计模式、领域驱动设计、微服务、数据工程、流处理与消息传递、分布式系统、云工程、Web 可扩展性、敏捷、DevOps,以及一个综合书架。
如果我想选一本书,应该从哪里入手?作者刻意把决定权留给你:他自己的做法是先读几篇 Goodreads 评论和目录,但你也可以直接从每份书单的顶部往下看,相信社区的选择。
书籍的排序方式有什么问题?各板块内的排序只看 Goodreads 上书评的数量;作者也承认平均评分、评分人数和出版日期同样重要,但他目前还没有一个能把这些因素综合起来的公式。
它是面向资深工程师,还是也适合新手?两者都有——作者刻意不做针对性调整:他不知道你的经验水平,也不知道你偏好理论还是实践、偏基础还是全面、偏枯燥严谨还是生动有趣的书。
作者是怎么整理出这份清单的?他认真翻阅了 Goodreads 上所有打了 software-architecture 标签的书籍,并机械地套用收录规则——这份清单的全面性来自这次地毯式梳理,而不是个人偏好。
一本书要满足什么条件才能入选?必须与软件架构相关、没有过时,并且技术中立或适用范围广;在 Goodreads 上需要平均评分 3.5 以上、评分人数 50 以上、至少 5 条书评,而且页数在 50 页以上。
清单里有哪些书比较突出?GoF 的《Design Patterns》书评数最多(10,293 人评分),《Head First Design Patterns》以 7,574 人紧随其后,而《Designing Data-Intensive Applications》评分最高,达 4.72。
这份清单还在维护吗?作者承认它可能算不上完全全面,但计划定期更新;表格里最新的条目来自 2020 到 2021 年,比如《Fundamentals of Software Architecture》和 2021 年版的《Head First Design Patterns》。
Creator
mhadidg
Size
<0.1 MB
Stars
11.4K
Updated
CommitOct 20
Age
5y
Commits · 90 Days