617

GitHub - mhadidg/software-architecture-books: A curated list of books on Softwar...

 3 years ago
source link: https://github.com/mhadidg/software-architecture-books
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK