architecture
Practical resources about architecture for software engineers.
186 results
Designing Systems That Scale
Software architecture is the art of making trade-offs. Every pattern — from microservices to event-driven systems — solves specific problems while introducing new constraints. Understanding these trade-offs is what makes an engineer an architect.
This hub collects guides and patterns for API gateways, load balancing, circuit breakers, sagas, and service meshes. Whether you are designing a new system or modernizing a legacy monolith, these resources provide the mental models and implementation details you need.
CQRS + Event Sourcing — Combined Guide
A practical guide to combining CQRS and Event Sourcing: separating read and write models,...
CQRS — Command Query Responsibility Segregation
A complete guide to CQRS: separate read and write models to optimize performance, scalability, and...
Data Lake vs Data Warehouse — Architecture Guide
A practical guide to Data Lake architecture: structured vs unstructured storage, lakehouse...
Data Mesh Architecture — Decentralized Data Ownership
A practical guide to Data Mesh: decentralizing data ownership to domain teams, treating data as a...
Domain-Driven Design (DDD): A Practical Guide
Learn DDD fundamentals: bounded contexts, entities, value objects, aggregates, and how to model...
Event-Driven Architecture — Queues, Topics, and Streams
A practical guide to event-driven architecture: events vs commands, message brokers, patterns like...
Event Sourcing — State as a Sequence of Events
A detailed analysis into Event Sourcing: persist state changes as events, reconstruct aggregates...
GraphQL vs REST — When to Choose and How to Migrate
A decision guide comparing GraphQL and REST APIs: use cases, performance, caching, tooling, and...
gRPC in Microservices — High-Performance RPC Guide
A practical guide to gRPC for microservices: Protocol Buffers, streaming, load balancing, and...
Hexagonal Architecture — Ports, Adapters, and Testability
A complete guide to Hexagonal Architecture (Ports and Adapters): structure applications so domain...
Lakehouse Architecture — The Best of Both Worlds
A practical guide to Lakehouse architecture: combining data lake storage flexibility with data...
Layered Architecture — N-Tier Explained
A practical guide to Layered (N-Tier) Architecture: separating presentation, business logic, and...
Microservices Architecture — When to Use and When Not To
A practical guide to microservices: benefits, trade-offs, common patterns, and when to choose them...
Modular Monolith — A Pragmatic Architecture
A practical guide to Modular Monoliths: combine the simplicity of monoliths with the modularity of...
Monolith to Microservices — Migration Strategies
A practical guide to decomposing monoliths: strangler fig, branch by abstraction, and incremental...
Onion Architecture: Domain-Centric Design Guide
A practical guide to Onion Architecture: organize code around the domain, enforce inward...
Serverless Architecture — Patterns and Anti-Patterns
A practical guide to serverless architecture: function design, cold starts, event-driven patterns,...
Software Architecture Guide
A guide to designing software architecture: monoliths vs microservices, layered architecture, data...
System Design Interview Guide: Key Concepts
A practical guide to system design interviews: scalability, databases, caching, load balancing,...
Vertical Slice Architecture: Feature-First Organization
A practical guide to Vertical Slice Architecture: organize code by feature instead of technical...
No results found.