Software Architecture

Architectural patterns, boundaries, and quality tradeoffs that shape scalability, resilience, maintainability, operability, and team coordination.

5 Software Architecture Patterns

Software architecture patterns for layering, service boundaries, and data ownership.

Design PatternsSoftware Architecture

Typical Microservice Architecture

Typical microservice architecture with edge routing, service ownership, and data boundaries.

ArchitectureMicroservices

Software Architecture Knowledge Map

Software architecture knowledge across code, systems, data, operations, and teams.

Career DevelopmentSoftware Architecture

MVC, MVP, MVVM, and VIPER Patterns

MVC, MVP, MVVM, and VIPER compared by responsibility boundaries and UI state flow.

Architectural PatternsSoftware Design

Linux Boot Process

Linux boot stages from firmware and bootloader to kernel, initramfs, and user space.

LinuxOperating Systems

How Computer Programs Run

Program execution starts with process creation, memory mapping, and CPU instructions.

ExecutionOperating Systems

Mobile App Release Process

Mobile app releases through signing, store review, rollout checks, and rollback.

App ReleaseMobile Development

6 Software Architecture Patterns

Six software architecture patterns for layering, service boundaries, and data flow.

ArchitectureDesign Patterns

8 Common System Design Problems

Eight system design problems with common patterns for scale, availability, and data flow.

ScalabilitySystems Atlas

8 Domain-Driven Design Concepts

Eight domain-driven design concepts covering models, boundaries, language, and aggregates.

DDDSoftware Design

9 Microservices Design Practices

Nine microservices practices covering service boundaries, data ownership, and resilience.

ArchitectureMicroservices

9 Production Microservice Application Components

Core production microservice components from discovery and queues to observability.

ArchitectureMicroservices

10 System Design Tradeoffs

Ten system design tradeoffs across latency, consistency, cost, and complexity.

TradeoffsSystems Atlas

18 Software Design Patterns

Eighteen design patterns for object creation, composition, and behavioural flow.

Design PatternsSoftware Development

8 Object-Oriented Programming Concepts

Eight OOP concepts covering encapsulation, inheritance, polymorphism, and abstraction.

OOPProgramming

Domain-Driven Design Terms

Domain-driven design terms through bounded contexts, aggregates, and entities.

Domain Driven DesignSoftware Design

Database Middleware

Database middleware for connection pooling, routing, failover, and sharding.

Database RoutingProxy

Microservice Architecture Trade-Offs

Microservices trade-offs in deployment, coupling, and operational overhead.

Architecture PatternsMicroservices

Amazon Prime Video Monitoring Architecture

Prime Video monitoring redesign from serverless stages to a lower-cost monolith.

MicroservicesSystems Atlas

UML Class Diagram Cheat Sheet

UML class diagram notation for structure, ownership, and class relationships.

Design PatternsUml

Orchestration vs. Choreography in Microservices

Orchestration and choreography compared by workflow control, coupling, and failure handling.

ArchitectureMicroservices

Inter-Process Communication on Linux

Linux inter-process communication through pipes, queues, sockets, and shared memory.

IpcLinux