Software Architecture


Fundamentals of Software Architecture: An Engineering Approach
Clean Architecture
Designing Data-Intensive Applications
Building Microservices: Designing Fine-Grained Systems
Domain-Driven Design: Tackling Complexity in the Heart of Software
Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
Building Evolutionary Architectures: Support Constant Change
Software Architecture in Practice
Patterns of Enterprise Application Architecture
The Software Architect Elevator: Redefining the Architect's Role in the Digital Enterprise
Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith
Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series (Fowler))
Just Enough Software Architecture: A Risk-Driven Approach
System Design Interview – An insider's guide
Domain-Driven Design by Eric EvansPatterns of Enterprise Application Architecture by Martin FowlerContinuous delivery by Jez HumbleRefactoring by Martin FowlerESB - Сервисная Шина Предприятия by Дэвид А. Шаппелл
Enterprise Integration
10 books — 2 voters
Designing Data-Intensive Applications by Martin KleppmannRelease It! by Michael T. NygardMicroservices From Design to Deployment by Chris RichardsonBuilding Microservices by Sam NewmanProduction-Ready Microservices by Susan J. Fowler
To learn Microservices
21 books — 4 voters

Enterprise Architecture As Strategy by Jeanne W. RossAn Introduction to Enterprise Architecture by Scott A. BernardChess and the Art of Enterprise Architecture by Gerben WierdaEnterprise Architecture Planning by Steven H. SpewakMastering Archimate - Edition II by Gerben Wierda
Enterprise Architecture
28 books — 4 voters

If the application is event-driven, it can be decoupled into multiple self-contained components. This helps us become more scalable, because we can always add new components or remove old ones without stopping or breaking the system. If errors and failures are passed to the right component, which can handle them as notifications, the application can become more fault-tolerant or resilient. So if we build our system to be event-driven, we can more easily achieve scalability and failure tolerance, ...more
Nickolay Tsvetinov, Learning Reactive Programming with Java 8

Just because architecture is supposed to be stable, it does not mean that it should never change.
Gereon Hermkes, Scaling Done Right: How to Achieve Business Agility with Scrum@Scale and Make the Competition Irrelevant

More quotes...
apploft. Book Club apploft. GmbH
8 members, last active 3 years ago
My Tech Reads Bits of knowledge from the most influential IT reads.
4 members, last active 7 years ago
Java Programming Learn about JVM programming covering Java, Kotlin, Scala, etc. and including popular frameworks,…more
8 members, last active 5 years ago
The Clean Architecture Ukraine Group of software engineers from Ukraine who use The Clean Architecture.
1 member, last active 2 years ago