System Design and Software Architecture Roadmap — Fundamentals to Advanced

1. Prerequisites

1.1 Software engineering fundamentals

  • Programming fundamentals
  • Object-oriented programming
  • Functional programming basics
  • Data structures
  • Algorithms
  • Complexity analysis
  • Design patterns
  • Refactoring
  • Testing
  • Debugging
  • Code review
  • Version control
  • CI/CD basics
  • API design basics
  • Database basics
  • Networking basics
  • Operating system basics
  • Cloud basics

1.2 Backend fundamentals

  • HTTP
  • REST
  • gRPC
  • GraphQL
  • Authentication
  • Authorization
  • SQL databases
  • NoSQL databases
  • Caching
  • Message queues
  • Background jobs
  • File storage
  • Search engines
  • Observability
  • Deployment
  • Containers

1.3 Infrastructure fundamentals

  • Linux
  • Processes
  • Threads
  • Sockets
  • DNS
  • TCP
  • UDP
  • TLS
  • Load balancers
  • Reverse proxies
  • CDN
  • Firewalls
  • Kubernetes
  • Cloud networking
  • Object storage
  • Monitoring
  • Logging

1.4 Data fundamentals

  • Relational modeling
  • SQL
  • Indexing
  • Transactions
  • Isolation levels
  • Replication
  • Sharding
  • Document databases
  • Key-value stores
  • Wide-column databases
  • Graph databases
  • Search indexes
  • Time-series databases
  • Data warehouses
  • Data lakes
  • Data pipelines

1.5 Communication fundamentals

  • Technical writing
  • Diagramming
  • Requirements clarification
  • Trade-off explanation
  • Decision documentation
  • Stakeholder communication
  • Risk communication
  • Incident communication
  • Architecture review
  • Proposal writing
  • Design document writing

2. Architecture Thinking

2.1 Architecture fundamentals

  • Software architecture
  • System architecture
  • Enterprise architecture
  • Solution architecture
  • Technical architecture
  • Application architecture
  • Data architecture
  • Infrastructure architecture
  • Security architecture
  • Integration architecture
  • Deployment architecture
  • Runtime architecture
  • Logical architecture
  • Physical architecture

2.2 Architectural drivers

  • Functional requirements
  • Quality attributes
  • Constraints
  • Business goals
  • Technical goals
  • Team constraints
  • Budget constraints
  • Timeline constraints
  • Compliance constraints
  • Security constraints
  • Operational constraints
  • Existing system constraints
  • Vendor constraints
  • Organizational constraints

2.3 Quality attributes

  • Scalability
  • Availability
  • Reliability
  • Maintainability
  • Modifiability
  • Performance
  • Latency
  • Throughput
  • Security
  • Privacy
  • Usability
  • Testability
  • Observability
  • Portability
  • Deployability
  • Operability
  • Cost efficiency
  • Sustainability
  • Resilience

2.4 Architectural trade-offs

  • Consistency vs availability
  • Latency vs durability
  • Throughput vs latency
  • Simplicity vs flexibility
  • Modularity vs performance
  • Coupling vs duplication
  • Build vs buy
  • Monolith vs microservices
  • SQL vs NoSQL
  • Sync vs async communication
  • Strong consistency vs eventual consistency
  • Operational complexity vs developer velocity
  • Cost vs reliability
  • Security vs usability

2.5 Architecture decision-making

  • Problem framing
  • Context analysis
  • Option generation
  • Trade-off analysis
  • Risk analysis
  • Cost analysis
  • Proof of concept
  • Decision criteria
  • Decision record
  • Decision review
  • Decision reversal
  • Technical debt tracking
  • Migration path
  • Exit strategy

2.6 Architectural thinking skills

  • Abstraction
  • Decomposition
  • Encapsulation
  • Separation of concerns
  • Systems thinking
  • Failure thinking
  • Evolutionary thinking
  • Constraints thinking
  • Operational thinking
  • Security thinking
  • Data thinking
  • Cost thinking
  • Product thinking
  • Organizational thinking

3. Requirements and Constraints

3.1 Functional requirements

  • Core use cases
  • User flows
  • Business workflows
  • Admin workflows
  • API capabilities
  • Data operations
  • Search capabilities
  • Reporting capabilities
  • Notification capabilities
  • Integration capabilities
  • Real-time capabilities
  • Batch capabilities
  • Audit capabilities
  • Configuration capabilities

3.2 Non-functional requirements

  • Latency targets
  • Throughput targets
  • Availability targets
  • Durability targets
  • Consistency requirements
  • Security requirements
  • Privacy requirements
  • Compliance requirements
  • Scalability requirements
  • Maintainability requirements
  • Observability requirements
  • Disaster recovery requirements
  • Cost requirements
  • Sustainability requirements

3.3 Capacity requirements

  • Daily active users
  • Monthly active users
  • Concurrent users
  • Requests per second
  • Peak requests per second
  • Read/write ratio
  • Data size
  • Data growth rate
  • Storage retention
  • Cache size
  • Bandwidth usage
  • Message volume
  • Background job volume
  • Search query volume

3.4 Availability and recovery requirements

  • SLA
  • SLO
  • SLI
  • Error budget
  • Uptime target
  • RPO
  • RTO
  • Backup frequency
  • Recovery workflow
  • Failover requirement
  • Multi-region requirement
  • Data loss tolerance
  • Degraded mode behavior
  • Maintenance window

3.5 Security and compliance requirements

  • Authentication requirement
  • Authorization requirement
  • Encryption requirement
  • Audit logging requirement
  • Data residency requirement
  • PII handling requirement
  • Data retention requirement
  • Regulatory requirement
  • Access control requirement
  • Secret management requirement
  • Threat model requirement
  • Vulnerability management requirement
  • Incident response requirement

3.6 Constraints

  • Existing technology stack
  • Existing data model
  • Existing team skills
  • Existing infrastructure
  • Legacy dependencies
  • Vendor lock-in
  • Budget limit
  • Time limit
  • Regulatory limit
  • Organizational boundary
  • Network boundary
  • Deployment boundary
  • Hardware boundary
  • Operational maturity

4. System Design Interview Method

4.1 Problem clarification

  • Identify users
  • Identify use cases
  • Identify input data
  • Identify output data
  • Identify read paths
  • Identify write paths
  • Identify scale assumptions
  • Identify latency requirements
  • Identify availability requirements
  • Identify consistency requirements
  • Identify security requirements
  • Identify out-of-scope items
  • Identify edge cases

4.2 Back-of-the-envelope estimation

  • User count estimation
  • Request rate estimation
  • Peak traffic estimation
  • Storage estimation
  • Bandwidth estimation
  • Cache estimation
  • Database QPS estimation
  • Message queue throughput estimation
  • Partition count estimation
  • Machine count estimation
  • Cost estimation
  • Growth estimation

4.3 High-level design

  • Client
  • API gateway
  • Load balancer
  • Application service
  • Database
  • Cache
  • Queue
  • Object storage
  • Search index
  • CDN
  • Background workers
  • Notification service
  • Monitoring
  • External services

4.4 Data model design

  • Entity identification
  • Relationship identification
  • Read model
  • Write model
  • Primary key
  • Secondary index
  • Partition key
  • Sort key
  • Schema design
  • Denormalization
  • Data retention
  • Audit data
  • Event data
  • Metadata

4.5 API design

  • REST endpoints
  • Request schema
  • Response schema
  • Error schema
  • Pagination
  • Filtering
  • Sorting
  • Idempotency
  • Authentication
  • Authorization
  • Rate limits
  • Versioning
  • Webhooks
  • Streaming API

4.6 Deep dives

  • Scalability bottleneck
  • Database bottleneck
  • Cache strategy
  • Queue strategy
  • Consistency strategy
  • Failure handling
  • Rate limiting
  • Search design
  • Realtime design
  • Security design
  • Observability design
  • Deployment design
  • Cost optimization

4.7 Trade-off communication

  • State assumptions
  • Explain chosen architecture
  • Explain rejected alternatives
  • Explain trade-offs
  • Explain failure modes
  • Explain scaling path
  • Explain consistency model
  • Explain operational complexity
  • Explain cost impact
  • Explain future evolution
  • Explain risks
  • Explain mitigations

5. Core Architectural Styles

5.1 Layered architecture

  • Presentation layer
  • Application layer
  • Domain layer
  • Infrastructure layer
  • Persistence layer
  • Dependency direction
  • Layer isolation
  • Layer leakage
  • DTO boundary
  • Service layer
  • Repository layer
  • Transaction boundary
  • Testing by layer

5.2 Clean architecture

  • Entities
  • Use cases
  • Interface adapters
  • Frameworks and drivers
  • Dependency rule
  • Inner circle
  • Outer circle
  • Input port
  • Output port
  • Presenter
  • Gateway
  • Controller
  • Dependency inversion
  • Framework independence

5.3 Hexagonal architecture

  • Ports and adapters
  • Primary port
  • Secondary port
  • Driving adapter
  • Driven adapter
  • Domain core
  • Application service
  • Infrastructure adapter
  • Persistence adapter
  • Messaging adapter
  • HTTP adapter
  • Test adapter
  • Adapter replacement
  • Technology independence

5.4 Onion architecture

  • Domain model
  • Domain services
  • Application services
  • Infrastructure
  • UI layer
  • Dependency direction
  • Domain isolation
  • Repository interfaces
  • Cross-cutting concerns
  • Testability
  • Persistence ignorance

5.5 Domain-driven design architecture

  • Domain
  • Subdomain
  • Core domain
  • Supporting domain
  • Generic domain
  • Bounded context
  • Ubiquitous language
  • Entity
  • Value object
  • Aggregate
  • Aggregate root
  • Domain service
  • Domain event
  • Repository
  • Factory
  • Anti-corruption layer

5.6 Event-driven architecture

  • Event
  • Producer
  • Consumer
  • Message broker
  • Event stream
  • Event notification
  • Event-carried state transfer
  • Event sourcing
  • CQRS
  • Saga
  • Choreography
  • Orchestration
  • Idempotent consumer
  • Eventual consistency
  • Dead letter queue

5.7 Microservices architecture

  • Service boundary
  • Database per service
  • API contract
  • Independent deployment
  • Team ownership
  • Service discovery
  • API gateway
  • Distributed tracing
  • Circuit breaker
  • Saga
  • Service mesh
  • Observability
  • Operational maturity
  • Distributed data management

5.8 Modular monolith

  • Module boundary
  • Internal API
  • Module ownership
  • Module dependency rule
  • Shared database
  • Internal events
  • Compile-time boundaries
  • Runtime deployment unit
  • Refactoring path
  • Microservice extraction path
  • Architecture tests
  • Package-by-feature
  • Modulith documentation

5.9 Serverless architecture

  • Function as a Service
  • Event trigger
  • Managed runtime
  • Cold start
  • Stateless function
  • API gateway integration
  • Event bus integration
  • Managed database
  • Managed queue
  • Step functions
  • Cost per execution
  • Timeout limit
  • Vendor lock-in
  • Observability constraints

5.10 Space-based architecture

  • In-memory data grid
  • Distributed cache
  • Processing unit
  • Data partitioning
  • Tuple space
  • Replication
  • Elastic scaling
  • Low-latency processing
  • State locality
  • Complexity trade-offs

6. Architectural Patterns

6.1 Structural patterns

  • Layered pattern
  • Client-server pattern
  • Pipe-and-filter pattern
  • Broker pattern
  • Peer-to-peer pattern
  • Blackboard pattern
  • Model-view-controller
  • Model-view-viewmodel
  • Microkernel pattern
  • Plugin architecture
  • Sidecar pattern
  • Ambassador pattern
  • Adapter pattern
  • Facade pattern

6.2 Distributed system patterns

  • Service registry
  • API gateway
  • Backend for frontend
  • Circuit breaker
  • Bulkhead
  • Timeout
  • Retry with backoff
  • Rate limiter
  • Load shedding
  • Health check
  • Leader election
  • Lease
  • Sharding
  • Replication
  • Saga
  • Outbox
  • Inbox

6.3 Data patterns

  • Repository
  • Unit of Work
  • Data Mapper
  • Active Record
  • CQRS
  • Event sourcing
  • Materialized view
  • Read model
  • Write model
  • Outbox pattern
  • Inbox pattern
  • Change Data Capture
  • Strangler fig migration
  • Data mesh
  • Data lakehouse

6.4 Integration patterns

  • Request-response
  • Publish-subscribe
  • Message queue
  • Message routing
  • Message transformation
  • Message enrichment
  • Claim check
  • Competing consumers
  • Idempotent receiver
  • Dead letter channel
  • Retry channel
  • Scatter-gather
  • Aggregator
  • Splitter

6.5 Cloud patterns

  • Autoscaling
  • Immutable infrastructure
  • Blue-green deployment
  • Canary deployment
  • Rolling deployment
  • Externalized configuration
  • Managed service pattern
  • Sidecar
  • Service mesh
  • Multi-region active-passive
  • Multi-region active-active
  • Queue-based load leveling
  • Static content hosting
  • CDN edge caching

6.6 Reliability patterns

  • Timeout
  • Retry
  • Exponential backoff
  • Jitter
  • Circuit breaker
  • Bulkhead
  • Fallback
  • Graceful degradation
  • Load shedding
  • Backpressure
  • Idempotency
  • Deduplication
  • Health checks
  • Checkpointing
  • Failover
  • Disaster recovery

7. Distributed Systems Fundamentals

7.1 Distributed system concepts

  • Node
  • Cluster
  • Network
  • Message passing
  • Partial failure
  • Network partition
  • Latency
  • Clock skew
  • Concurrency
  • Replication
  • Coordination
  • Consensus
  • Membership
  • Failure detection
  • Split brain

7.2 CAP and PACELC

  • Consistency
  • Availability
  • Partition tolerance
  • CAP theorem
  • CP system
  • AP system
  • CA limitation
  • PACELC theorem
  • Else latency
  • Else consistency
  • Real-world trade-offs
  • Misinterpretations
  • Design implications

7.3 Consistency models

  • Strong consistency
  • Linearizability
  • Sequential consistency
  • Causal consistency
  • Eventual consistency
  • Read-your-writes consistency
  • Monotonic reads
  • Monotonic writes
  • Session consistency
  • Bounded staleness
  • External consistency
  • Snapshot isolation
  • Serializable isolation

7.4 Time and ordering

  • Physical clock
  • Logical clock
  • Lamport clock
  • Vector clock
  • Hybrid logical clock
  • Clock synchronization
  • NTP
  • Clock drift
  • Happens-before relation
  • Total ordering
  • Partial ordering
  • Causal ordering
  • Event ordering

7.5 Consensus

  • Leader election
  • Quorum
  • Majority
  • Paxos
  • Raft
  • Multi-Paxos
  • Log replication
  • Commit index
  • Term
  • View change
  • Membership changes
  • Split-brain prevention
  • Consensus latency
  • Consensus failure modes

7.6 Replication

  • Primary-replica replication
  • Multi-primary replication
  • Leaderless replication
  • Synchronous replication
  • Asynchronous replication
  • Semi-synchronous replication
  • Quorum replication
  • Chain replication
  • Log shipping
  • Conflict resolution
  • Replication lag
  • Read replicas
  • Write replicas
  • Failover

7.7 Partitioning

  • Horizontal partitioning
  • Vertical partitioning
  • Sharding
  • Hash partitioning
  • Range partitioning
  • Directory partitioning
  • Consistent hashing
  • Rendezvous hashing
  • Hot partition
  • Rebalancing
  • Resharding
  • Global secondary index
  • Cross-shard query
  • Cross-shard transaction

7.8 Distributed failure modes

  • Node crash
  • Node pause
  • Network partition
  • Packet loss
  • Message duplication
  • Message reordering
  • Message delay
  • Clock drift
  • Disk failure
  • Split brain
  • Thundering herd
  • Retry storm
  • Cascading failure
  • Byzantine failure awareness

8. Scalability

8.1 Scalability fundamentals

  • Vertical scaling
  • Horizontal scaling
  • Elastic scaling
  • Manual scaling
  • Autoscaling
  • Stateless scaling
  • Stateful scaling
  • Scale-up
  • Scale-out
  • Scale-down
  • Bottleneck
  • Saturation
  • Headroom
  • Capacity limit

8.2 Application scaling

  • Stateless service
  • Stateful service
  • Load balancing
  • Connection pooling
  • Thread pools
  • Worker pools
  • Async processing
  • Queue-based buffering
  • Caching
  • Read replicas
  • Partitioning
  • Rate limiting
  • Backpressure
  • Load shedding

8.3 Database scaling

  • Index optimization
  • Query optimization
  • Connection pool tuning
  • Read replicas
  • Write scaling
  • Sharding
  • Denormalization
  • Materialized views
  • CQRS
  • Caching
  • Partition pruning
  • Archive old data
  • Database-per-tenant
  • Multi-region replication

8.4 Cache scaling

  • Local cache
  • Distributed cache
  • CDN cache
  • Cache partitioning
  • Cache replication
  • Cache eviction
  • Cache stampede protection
  • Cache warming
  • Cache invalidation
  • Hot key mitigation
  • TTL tuning
  • Cache consistency
  • Multi-level cache

8.5 Queue scaling

  • Queue partitioning
  • Consumer group
  • Competing consumers
  • Batch consumption
  • Backpressure
  • Retry policy
  • Dead letter queue
  • Message ordering
  • Hot partition
  • Lag monitoring
  • Throughput scaling
  • Worker autoscaling
  • Poison message handling

8.6 Frontend and edge scaling

  • CDN
  • Static assets
  • Edge caching
  • Image optimization
  • Compression
  • HTTP/2
  • HTTP/3
  • Browser caching
  • Service workers
  • Static site generation
  • Server-side rendering
  • Incremental static regeneration
  • Edge rendering

9. Performance Engineering

9.1 Performance fundamentals

  • Latency
  • Throughput
  • Concurrency
  • Utilization
  • Saturation
  • Bottleneck
  • Queueing delay
  • Tail latency
  • Percentiles
  • P50
  • P90
  • P95
  • P99
  • P999
  • Service time
  • Response time

9.2 Latency analysis

  • DNS latency
  • TCP connection latency
  • TLS handshake latency
  • Network round trip
  • Load balancer latency
  • Application latency
  • Database latency
  • Cache latency
  • Queue latency
  • Serialization latency
  • Deserialization latency
  • Garbage collection latency
  • Disk latency
  • Tail latency amplification

9.3 Performance optimization

  • Reduce round trips
  • Batch requests
  • Cache reads
  • Avoid N+1 queries
  • Optimize indexes
  • Use async I/O
  • Compress responses
  • Use CDN
  • Precompute results
  • Use materialized views
  • Reduce payload size
  • Tune connection pools
  • Tune thread pools
  • Profile hot paths

9.4 Load testing

  • Smoke test
  • Load test
  • Stress test
  • Spike test
  • Soak test
  • Breakpoint test
  • Capacity test
  • Concurrent user model
  • Request rate model
  • Think time
  • Ramp-up
  • Test data management
  • Bottleneck identification
  • Result interpretation

9.5 Capacity planning

  • Current traffic
  • Peak traffic
  • Growth rate
  • Traffic seasonality
  • Resource utilization
  • CPU headroom
  • Memory headroom
  • Disk headroom
  • Network headroom
  • Database headroom
  • Cache headroom
  • Queue headroom
  • Cost projection
  • Scaling trigger

9.6 Queueing theory awareness

  • Arrival rate
  • Service rate
  • Queue length
  • Utilization
  • Little’s Law
  • M/M/1 queue awareness
  • M/M/c queue awareness
  • Queue saturation
  • Tail latency
  • Backpressure
  • Load shedding
  • Admission control

10. Reliability and Resilience

10.1 Reliability fundamentals

  • Reliability
  • Availability
  • Durability
  • Fault tolerance
  • Resilience
  • Failure mode
  • Fault domain
  • Blast radius
  • Graceful degradation
  • Recovery
  • Error budget
  • SLO
  • SLI
  • SLA

10.2 Failure handling

  • Timeout
  • Retry
  • Retry with backoff
  • Jitter
  • Circuit breaker
  • Bulkhead
  • Fallback
  • Load shedding
  • Backpressure
  • Graceful degradation
  • Fail-fast
  • Fail-safe
  • Idempotency
  • Deduplication

10.3 High availability

  • Redundancy
  • Active-passive
  • Active-active
  • Failover
  • Health checks
  • Leader election
  • Quorum
  • Multi-zone deployment
  • Multi-region deployment
  • No single point of failure
  • Stateful failover
  • Stateless failover
  • Connection draining
  • Rolling updates

10.4 Disaster recovery

  • Backup
  • Restore
  • RPO
  • RTO
  • Disaster recovery plan
  • Disaster recovery drill
  • Cross-region backup
  • Point-in-time recovery
  • Cold standby
  • Warm standby
  • Hot standby
  • Runbook
  • Data validation after restore
  • Failback

10.5 Chaos engineering

  • Failure injection
  • Latency injection
  • Packet loss injection
  • Dependency failure
  • Instance termination
  • Zone outage simulation
  • Region outage simulation
  • Game day
  • Blast radius control
  • Hypothesis
  • Steady state
  • Rollback plan
  • Learning report

10.6 Incident response

  • Detection
  • Alerting
  • Triage
  • Severity classification
  • Incident commander
  • Communication channel
  • Mitigation
  • Rollback
  • Hotfix
  • Status page
  • Timeline
  • Postmortem
  • Action items
  • Regression prevention

11. Data Architecture

11.1 Data modeling

  • Entity modeling
  • Relationship modeling
  • Normalization
  • Denormalization
  • Aggregate modeling
  • Schema design
  • Index design
  • Partition key design
  • Data lifecycle
  • Data retention
  • Audit data
  • Temporal data
  • Multi-tenant data
  • Data ownership

11.2 Database selection

  • Relational database
  • Document database
  • Key-value store
  • Wide-column database
  • Graph database
  • Search engine
  • Time-series database
  • Data warehouse
  • Object storage
  • Vector database
  • Embedded database
  • NewSQL database
  • Managed database
  • Self-hosted database

11.3 Transactional architecture

  • ACID
  • Transaction boundary
  • Isolation level
  • Optimistic locking
  • Pessimistic locking
  • Idempotent write
  • Compare-and-swap update
  • Unique constraint
  • Conflict detection
  • Deadlock handling
  • Retry strategy
  • Transaction timeout
  • Distributed transaction
  • Saga alternative

11.4 Analytical architecture

  • OLTP
  • OLAP
  • Data warehouse
  • Data lake
  • Lakehouse
  • Star schema
  • Fact table
  • Dimension table
  • ETL
  • ELT
  • Batch pipeline
  • Streaming pipeline
  • Data mart
  • BI dashboard

11.5 Data consistency

  • Strong consistency
  • Eventual consistency
  • Read-your-writes
  • Monotonic reads
  • Bounded staleness
  • Conflict resolution
  • Last write wins
  • Version vector
  • CRDT awareness
  • Compensating action
  • Reconciliation job
  • Idempotent event processing
  • Consistency verification

11.6 Data migration

  • Schema migration
  • Data migration
  • Backfill
  • Dual writes
  • Shadow reads
  • Expand-contract pattern
  • Online migration
  • Zero-downtime migration
  • Change Data Capture
  • Migration rollback
  • Data validation
  • Reconciliation
  • Cutover
  • Cleanup

11.7 Data governance

  • Data ownership
  • Data catalog
  • Data lineage
  • Data quality
  • Data classification
  • Data retention
  • Data access control
  • PII handling
  • Data residency
  • Compliance reporting
  • Audit logging
  • Data deletion
  • Data anonymization
  • Data masking

12. Caching Architecture

12.1 Cache fundamentals

  • Cache
  • Cache key
  • Cache value
  • Cache hit
  • Cache miss
  • Hit ratio
  • TTL
  • Expiration
  • Eviction
  • Invalidation
  • Local cache
  • Distributed cache
  • CDN cache
  • Application cache

12.2 Cache patterns

  • Cache-aside
  • Read-through
  • Write-through
  • Write-behind
  • Refresh-ahead
  • Write-around
  • Negative caching
  • Multi-level cache
  • Near cache
  • Request coalescing
  • Cache warming
  • Cache preloading
  • Soft TTL
  • Hard TTL

12.3 Cache invalidation

  • TTL-based invalidation
  • Event-based invalidation
  • Manual invalidation
  • Versioned cache key
  • Cache tag
  • Surrogate key
  • Write invalidation
  • Delete invalidation
  • Bulk invalidation
  • Distributed invalidation
  • Stale data tolerance
  • Cache consistency
  • Race condition handling

12.4 Cache failure modes

  • Cache stampede
  • Cache penetration
  • Cache avalanche
  • Hot key
  • Large value
  • Eviction storm
  • Stale data
  • Inconsistent data
  • Cache node failure
  • Network partition
  • Memory fragmentation
  • Serialization mismatch
  • Cache poisoning

12.5 Cache technologies

  • In-process cache
  • Redis
  • Memcached
  • Caffeine
  • CDN cache
  • Reverse proxy cache
  • Browser cache
  • Database buffer cache
  • Search index cache
  • Object storage cache
  • Distributed cache cluster
  • Managed cache service

13. Messaging and Event Streaming

13.1 Messaging fundamentals

  • Message
  • Producer
  • Consumer
  • Queue
  • Topic
  • Broker
  • Exchange
  • Routing key
  • Partition
  • Offset
  • Acknowledgement
  • Delivery guarantee
  • Message ordering
  • Backpressure

13.2 Message delivery guarantees

  • At-most-once delivery
  • At-least-once delivery
  • Exactly-once semantics
  • Duplicate messages
  • Lost messages
  • Poison messages
  • Idempotent consumer
  • Transactional producer
  • Consumer offset commit
  • Acknowledgement mode
  • Retry policy
  • Dead letter queue
  • Reprocessing

13.3 Queue-based architecture

  • Task queue
  • Work queue
  • Competing consumers
  • Background jobs
  • Delayed jobs
  • Scheduled jobs
  • Priority queue
  • Retry queue
  • Dead letter queue
  • Worker pool
  • Queue depth monitoring
  • Queue autoscaling
  • Queue draining

13.4 Event streaming architecture

  • Event stream
  • Append-only log
  • Partitioned log
  • Consumer group
  • Offset
  • Retention
  • Replay
  • Compaction
  • Stream processing
  • Windowing
  • Exactly-once processing
  • Schema registry
  • Event versioning
  • Event evolution

13.5 Event design

  • Event name
  • Event payload
  • Event metadata
  • Event ID
  • Correlation ID
  • Causation ID
  • Timestamp
  • Version
  • Producer identity
  • Tenant identity
  • Trace context
  • Schema
  • Backward compatibility
  • Forward compatibility

13.6 Messaging technologies

  • Kafka
  • RabbitMQ
  • NATS
  • Pulsar
  • ActiveMQ
  • Redis Streams
  • AWS SQS
  • AWS SNS
  • Google Pub/Sub
  • Azure Service Bus
  • Azure Event Hubs
  • CloudEvents
  • Kafka Connect
  • Debezium

14. API and Integration Architecture

14.1 API styles

  • REST
  • RPC
  • gRPC
  • GraphQL
  • WebSocket API
  • Server-Sent Events
  • Webhook API
  • Batch API
  • Streaming API
  • Async API
  • Event API
  • File-based integration
  • Database integration
  • Message-based integration

14.2 REST API design

  • Resource modeling
  • URI design
  • HTTP method semantics
  • Status code semantics
  • Request schema
  • Response schema
  • Error schema
  • Pagination
  • Filtering
  • Sorting
  • Sparse fieldsets
  • Idempotency
  • Versioning
  • Caching
  • Rate limiting

14.3 gRPC architecture

  • Protocol Buffers
  • Service definition
  • Unary RPC
  • Server streaming
  • Client streaming
  • Bidirectional streaming
  • Deadline
  • Metadata
  • Interceptors
  • Status codes
  • Load balancing
  • Service discovery
  • gRPC-Web
  • Backward compatibility

14.4 GraphQL architecture

  • Schema
  • Query
  • Mutation
  • Subscription
  • Resolver
  • DataLoader
  • N+1 prevention
  • Federation
  • Persisted queries
  • Query complexity limit
  • Depth limit
  • Caching strategy
  • Authorization
  • Schema evolution

14.5 API gateway architecture

  • Routing
  • Authentication
  • Authorization
  • Rate limiting
  • Quotas
  • Request transformation
  • Response transformation
  • Protocol translation
  • API key management
  • Developer portal
  • Analytics
  • WAF integration
  • Versioning
  • Monetization

14.6 Integration patterns

  • Synchronous integration
  • Asynchronous integration
  • Request-response
  • Publish-subscribe
  • Polling
  • Webhooks
  • File transfer
  • CDC integration
  • API composition
  • Backend for frontend
  • Anti-corruption layer
  • Adapter
  • Translator
  • Canonical data model

15. Security Architecture

15.1 Security principles

  • Least privilege
  • Defense in depth
  • Zero trust
  • Secure by default
  • Fail closed
  • Complete mediation
  • Separation of duties
  • Minimize attack surface
  • Secure configuration
  • Secure communication
  • Secure storage
  • Auditability
  • Privacy by design
  • Threat modeling

15.2 Identity and access

  • Authentication
  • Authorization
  • Identity provider
  • Single sign-on
  • OAuth 2.x
  • OpenID Connect
  • SAML
  • LDAP
  • WebAuthn
  • Passkeys
  • Multi-factor authentication
  • Role-based access control
  • Attribute-based access control
  • Relationship-based access control

15.3 Application security architecture

  • Input validation
  • Output encoding
  • SQL injection prevention
  • XSS prevention
  • CSRF prevention
  • SSRF prevention
  • Deserialization protection
  • File upload protection
  • Rate limiting
  • Bot protection
  • Secure error handling
  • Secure logging
  • Dependency security
  • Supply chain security

15.4 Data security

  • Encryption in transit
  • Encryption at rest
  • Field-level encryption
  • Tokenization
  • Masking
  • Hashing
  • Key management
  • KMS
  • Secret management
  • Key rotation
  • Data classification
  • Data retention
  • Data deletion
  • Access auditing

15.5 Infrastructure security

  • Network segmentation
  • Firewall
  • Security groups
  • WAF
  • DDoS protection
  • Private networking
  • Bastion host
  • VPN
  • mTLS
  • Service mesh security
  • Container security
  • Kubernetes security
  • Host hardening
  • Vulnerability scanning

15.6 Security operations

  • Threat detection
  • Security monitoring
  • SIEM
  • Audit logging
  • Alerting
  • Incident response
  • Forensics
  • Patch management
  • Vulnerability management
  • Penetration testing
  • Red teaming
  • Security review
  • Compliance evidence
  • Risk register

16. Observability Architecture

16.1 Observability fundamentals

  • Logs
  • Metrics
  • Traces
  • Events
  • Profiles
  • Health checks
  • Synthetic monitoring
  • Real user monitoring
  • Service level indicators
  • Service level objectives
  • Error budgets
  • Dashboards
  • Alerts
  • Runbooks

16.2 Logging architecture

  • Structured logs
  • Log levels
  • Correlation ID
  • Request ID
  • Trace ID
  • Span ID
  • Log aggregation
  • Log indexing
  • Log retention
  • Log sampling
  • Sensitive data redaction
  • Audit logs
  • Access logs
  • Error logs

16.3 Metrics architecture

  • Counter
  • Gauge
  • Histogram
  • Summary
  • RED metrics
  • USE metrics
  • Business metrics
  • Infrastructure metrics
  • Application metrics
  • Database metrics
  • Queue metrics
  • Cache metrics
  • Custom metrics
  • Metric cardinality

16.4 Tracing architecture

  • Distributed tracing
  • Trace
  • Span
  • Parent span
  • Trace context propagation
  • Sampling
  • Head-based sampling
  • Tail-based sampling
  • Baggage
  • Service map
  • Critical path
  • Latency breakdown
  • Dependency tracking
  • Error tracing

16.5 Alerting architecture

  • Symptom-based alert
  • Cause-based alert
  • SLO alert
  • Burn-rate alert
  • Availability alert
  • Latency alert
  • Error-rate alert
  • Saturation alert
  • Security alert
  • Alert routing
  • Alert severity
  • Alert suppression
  • Alert correlation
  • Alert fatigue reduction

16.6 Observability tools

  • Prometheus
  • Grafana
  • OpenTelemetry
  • Jaeger
  • Tempo
  • Zipkin
  • Loki
  • Elasticsearch
  • OpenSearch
  • Datadog
  • New Relic
  • Honeycomb
  • CloudWatch
  • Azure Monitor
  • Google Cloud Monitoring

17. Cloud Architecture

17.1 Cloud fundamentals

  • Public cloud
  • Private cloud
  • Hybrid cloud
  • Multi-cloud
  • Region
  • Availability zone
  • Edge location
  • Virtual machine
  • Container
  • Serverless
  • Managed service
  • Shared responsibility model
  • Identity and access management
  • Cloud networking
  • Cloud storage

17.2 Compute architecture

  • Virtual machines
  • Autoscaling groups
  • Containers
  • Kubernetes
  • Serverless functions
  • Batch compute
  • GPU compute
  • Spot instances
  • Reserved capacity
  • Horizontal scaling
  • Vertical scaling
  • Compute isolation
  • Compute cost model
  • Compute scheduling

17.3 Cloud networking

  • VPC
  • Subnet
  • Route table
  • Internet gateway
  • NAT gateway
  • Load balancer
  • Private endpoint
  • VPC peering
  • Transit gateway
  • VPN
  • Direct connect
  • DNS
  • Firewall
  • Security group
  • Network ACL

17.4 Cloud storage

  • Object storage
  • Block storage
  • File storage
  • Archive storage
  • Managed database storage
  • Lifecycle policy
  • Versioning
  • Replication
  • Encryption
  • Access policy
  • Backup
  • Restore
  • Retention
  • Cost optimization

17.5 Cloud-native architecture

  • Containers
  • Microservices
  • Service mesh
  • Declarative APIs
  • Immutable infrastructure
  • Kubernetes
  • Operators
  • GitOps
  • Infrastructure as Code
  • Observability
  • Autoscaling
  • Resilience
  • Managed services
  • Platform engineering

17.6 Cloud cost architecture

  • Cost allocation
  • Tagging strategy
  • Rightsizing
  • Autoscaling
  • Reserved capacity
  • Spot usage
  • Storage lifecycle
  • Network egress cost
  • Managed service cost
  • Observability cost
  • Cost dashboards
  • Budget alerts
  • Unit economics
  • FinOps

18. Microservices Architecture

18.1 Microservice fundamentals

  • Service boundary
  • Business capability
  • Bounded context
  • Independent deployment
  • Independent scaling
  • Database per service
  • API contract
  • Service ownership
  • Team ownership
  • Decentralized governance
  • Polyglot persistence
  • Operational complexity
  • Distributed data
  • Distributed transactions

18.2 Service decomposition

  • Decompose by business capability
  • Decompose by bounded context
  • Decompose by subdomain
  • Decompose by change frequency
  • Decompose by scalability requirement
  • Decompose by team boundary
  • Avoid entity service anti-pattern
  • Avoid distributed monolith
  • Identify aggregate boundaries
  • Identify integration events
  • Identify shared kernel
  • Identify anti-corruption layer

18.3 Inter-service communication

  • Synchronous HTTP
  • gRPC
  • Asynchronous messaging
  • Event streaming
  • Request-response
  • Publish-subscribe
  • Service discovery
  • Load balancing
  • Circuit breaker
  • Timeout
  • Retry
  • Backpressure
  • Versioning
  • Contract testing

18.4 Distributed data management

  • Database per service
  • Shared database anti-pattern
  • Data duplication
  • Eventual consistency
  • Saga
  • Outbox pattern
  • Inbox pattern
  • CDC
  • Read model
  • CQRS
  • Event sourcing
  • Reconciliation
  • Data ownership
  • Cross-service query

18.5 Microservice operations

  • Service registry
  • API gateway
  • Service mesh
  • Centralized logging
  • Distributed tracing
  • Metrics
  • Health checks
  • Configuration management
  • Secret management
  • Deployment automation
  • Rollback strategy
  • Incident response
  • Dependency mapping
  • Version management

18.6 Microservice anti-patterns

  • Distributed monolith
  • Shared database
  • Chatty services
  • Entity services
  • Nano services
  • Synchronous chain
  • No observability
  • No ownership
  • No contract testing
  • Premature decomposition
  • Inconsistent APIs
  • Hidden coupling
  • Cyclic dependencies
  • Shared library coupling

19. Monolith and Modular Architecture

19.1 Monolith fundamentals

  • Monolithic deployment
  • Single process
  • Shared database
  • Shared codebase
  • Internal modules
  • In-process calls
  • Simpler operations
  • Simpler transactions
  • Simpler debugging
  • Scaling limitations
  • Build-time coupling
  • Runtime coupling
  • Team scaling limits

19.2 Modular monolith

  • Module boundary
  • Explicit module API
  • Internal package
  • Dependency rules
  • Architecture tests
  • Domain events
  • Shared deployment
  • Transactional consistency
  • Separate schema per module
  • Separate package per module
  • Module ownership
  • Module documentation
  • Extraction readiness
  • Evolutionary architecture

19.3 Monolith modernization

  • Codebase analysis
  • Dependency mapping
  • Database coupling analysis
  • Module identification
  • Boundary enforcement
  • Strangler fig pattern
  • Anti-corruption layer
  • Facade
  • Feature extraction
  • Data migration
  • Event introduction
  • API introduction
  • Incremental decomposition
  • Risk reduction

19.4 When to choose monolith

  • Small team
  • Early product stage
  • Unclear domain boundaries
  • Low operational maturity
  • Strong transaction needs
  • Cost sensitivity
  • Simple deployment requirement
  • Rapid iteration
  • Limited scale requirement
  • High domain coupling

19.5 When to choose microservices

  • Clear domain boundaries
  • Multiple autonomous teams
  • Independent scaling needs
  • Independent deployment needs
  • High operational maturity
  • Different technology needs
  • Strong ownership boundaries
  • Large codebase complexity
  • Global scale
  • Regulatory isolation needs

20. Frontend and Client Architecture

20.1 Frontend architecture fundamentals

  • Single Page Application
  • Multi Page Application
  • Server-side rendering
  • Static site generation
  • Client-side rendering
  • Hydration
  • Islands architecture
  • Micro-frontends
  • Backend for frontend
  • Design system
  • Component architecture
  • State management
  • Routing
  • API client layer

20.2 Web performance architecture

  • Critical rendering path
  • Core Web Vitals
  • Bundle splitting
  • Lazy loading
  • Image optimization
  • Font optimization
  • CDN delivery
  • Browser caching
  • Service Worker caching
  • HTTP caching
  • Preload
  • Prefetch
  • Compression
  • Edge rendering

20.3 Frontend state architecture

  • Local state
  • Server state
  • Global state
  • URL state
  • Cache state
  • Form state
  • Optimistic updates
  • Offline state
  • State synchronization
  • Conflict resolution
  • Error state
  • Loading state
  • Derived state

20.4 Micro-frontend architecture

  • Module federation
  • Build-time composition
  • Runtime composition
  • Server-side composition
  • Client-side composition
  • Shared dependencies
  • Design system governance
  • Independent deployment
  • Routing coordination
  • State sharing
  • Performance overhead
  • Ownership boundaries
  • Versioning
  • Testing strategy

20.5 Mobile client architecture

  • Native app architecture
  • Cross-platform app architecture
  • Offline-first design
  • Local database
  • Sync engine
  • Push notifications
  • API client
  • Token storage
  • Background work
  • App lifecycle
  • Network retry
  • Data conflict handling
  • Feature flags
  • Analytics

21. Search, Recommendation, and AI System Architecture

21.1 Search architecture

  • Search index
  • Document ingestion
  • Tokenization
  • Analyzer
  • Inverted index
  • Ranking
  • Relevance tuning
  • Faceting
  • Filtering
  • Autocomplete
  • Synonyms
  • Index refresh
  • Reindexing
  • Zero-downtime reindex
  • Search scaling

21.2 Recommendation architecture

  • Candidate generation
  • Ranking
  • Re-ranking
  • User profile
  • Item features
  • Interaction events
  • Feature store
  • Offline training
  • Online inference
  • Real-time features
  • A/B testing
  • Feedback loop
  • Cold start
  • Diversity
  • Exploration

21.3 AI application architecture

  • Model API
  • Prompt layer
  • Tool layer
  • Retrieval layer
  • Vector database
  • Context builder
  • Guardrails
  • Evaluation pipeline
  • Observability
  • Cost tracking
  • Safety monitoring
  • Human review
  • Model fallback
  • Prompt versioning

21.4 RAG architecture

  • Document ingestion
  • Chunking
  • Embeddings
  • Vector index
  • Metadata filtering
  • Hybrid retrieval
  • Reranking
  • Context assembly
  • Answer generation
  • Citation generation
  • Access control filtering
  • Evaluation
  • Re-embedding pipeline
  • Data freshness

21.5 Agentic architecture

  • Agent loop
  • Planner
  • Executor
  • Tool registry
  • Memory
  • State machine
  • Human approval
  • Policy enforcement
  • Tool sandbox
  • Audit logging
  • Task trace
  • Error recovery
  • Kill switch
  • Long-running task monitoring

22. DevOps, Platform, and Deployment Architecture

22.1 CI/CD architecture

  • Source control
  • Build pipeline
  • Test pipeline
  • Security scan
  • Artifact repository
  • Container registry
  • Deployment pipeline
  • Environment promotion
  • Approval gate
  • Rollback
  • Release notes
  • Pipeline observability
  • Pipeline security
  • Supply chain signing

22.2 Deployment strategies

  • Recreate deployment
  • Rolling deployment
  • Blue-green deployment
  • Canary deployment
  • Feature flag deployment
  • Shadow deployment
  • Dark launch
  • A/B testing
  • Progressive delivery
  • Rollback
  • Roll-forward
  • Database migration coordination
  • Traffic splitting
  • Automated analysis

22.3 Infrastructure as Code

  • Terraform
  • OpenTofu
  • Pulumi
  • CloudFormation
  • Bicep
  • Ansible
  • Helm
  • Kustomize
  • GitOps
  • State management
  • Drift detection
  • Policy as code
  • Module design
  • Environment strategy

22.4 Platform engineering

  • Internal developer platform
  • Golden path
  • Self-service deployment
  • Self-service database
  • Self-service observability
  • Developer portal
  • Service catalog
  • Templates
  • Guardrails
  • Platform APIs
  • Paved roads
  • Backstage
  • Crossplane
  • Developer experience

22.5 Kubernetes architecture

  • Cluster architecture
  • Namespace strategy
  • Workload strategy
  • Service strategy
  • Ingress strategy
  • Gateway API strategy
  • Storage strategy
  • RBAC strategy
  • NetworkPolicy strategy
  • Autoscaling strategy
  • Observability strategy
  • GitOps strategy
  • Multi-cluster strategy
  • Upgrade strategy

22.6 Release engineering

  • Versioning
  • Artifact immutability
  • Reproducible builds
  • Dependency pinning
  • Build provenance
  • SBOM
  • Signing
  • Release branching
  • Release train
  • Hotfix process
  • Rollback policy
  • Change freeze
  • Release metrics
  • Deployment frequency

23. Enterprise Architecture and Governance

23.1 Enterprise architecture fundamentals

  • Business architecture
  • Application architecture
  • Data architecture
  • Technology architecture
  • Capability map
  • Value stream
  • Application portfolio
  • Integration landscape
  • Information landscape
  • Technology standards
  • Target architecture
  • Transition architecture
  • Roadmap
  • Governance

23.2 Architecture frameworks

  • TOGAF awareness
  • Architecture Development Method
  • Enterprise continuum
  • Architecture repository
  • Architecture capability
  • ISO/IEC/IEEE 42010 awareness
  • Viewpoint
  • View
  • Stakeholder
  • Concern
  • Model
  • Architecture description
  • Architecture decision
  • Architecture governance

23.3 Architecture governance

  • Architecture principles
  • Standards
  • Reference architectures
  • Architecture review board
  • Design review
  • Exception process
  • Technology radar
  • Technology lifecycle
  • Approved technology list
  • Risk register
  • Compliance checks
  • Architecture metrics
  • Governance automation
  • Lightweight governance

23.4 Architecture documentation

  • Architecture Decision Record
  • Design document
  • C4 model
  • arc42
  • Context diagram
  • Container diagram
  • Component diagram
  • Deployment diagram
  • Sequence diagram
  • Data flow diagram
  • Threat model
  • Runbook
  • Architecture roadmap
  • Trade-off record

23.5 Architecture review

  • Requirements review
  • Quality attribute review
  • Security review
  • Data review
  • Operational review
  • Cost review
  • Scalability review
  • Reliability review
  • Compliance review
  • Migration review
  • Deployment review
  • Observability review
  • Risk review
  • Decision review

24. Architecture Documentation and Diagramming

24.1 Documentation principles

  • Document why
  • Document trade-offs
  • Document constraints
  • Document assumptions
  • Document decisions
  • Document risks
  • Document interfaces
  • Document runtime behavior
  • Document deployment
  • Document operations
  • Keep documentation close to code
  • Keep documentation versioned
  • Keep documentation reviewable
  • Avoid stale documentation

24.2 C4 model

  • System context diagram
  • Container diagram
  • Component diagram
  • Code diagram
  • Person
  • Software system
  • Container
  • Component
  • Relationship
  • Boundary
  • Technology labels
  • External systems
  • Dynamic diagram
  • Deployment diagram

24.3 ADRs

  • Context
  • Decision
  • Status
  • Consequences
  • Alternatives
  • Drivers
  • Constraints
  • Trade-offs
  • Related decisions
  • Superseded decisions
  • Reversal criteria
  • Review date
  • Owners
  • Links

24.4 Diagrams

  • Context diagram
  • Component diagram
  • Deployment diagram
  • Sequence diagram
  • State diagram
  • Flowchart
  • Data flow diagram
  • Entity relationship diagram
  • Network diagram
  • Threat model diagram
  • Dependency graph
  • Event flow diagram
  • Causal loop diagram
  • Architecture roadmap

24.5 Diagramming tools

  • PlantUML
  • Mermaid
  • Structurizr
  • draw.io
  • Lucidchart
  • Miro
  • Excalidraw
  • Graphviz
  • D2
  • C4-PlantUML
  • Architecture as code
  • Diagram linting
  • Diagram review
  • Diagram versioning

25. Cost Architecture and FinOps

25.1 Cost fundamentals

  • Compute cost
  • Storage cost
  • Network cost
  • Database cost
  • Cache cost
  • Queue cost
  • CDN cost
  • Observability cost
  • License cost
  • Support cost
  • Engineering cost
  • Operational cost
  • Unit cost
  • Marginal cost

25.2 Cost modeling

  • Cost per request
  • Cost per user
  • Cost per tenant
  • Cost per transaction
  • Cost per GB stored
  • Cost per GB transferred
  • Cost per job
  • Cost per model inference
  • Fixed cost
  • Variable cost
  • Peak cost
  • Idle cost
  • Forecasting
  • Budgeting

25.3 Cost optimization

  • Rightsizing
  • Autoscaling
  • Reserved capacity
  • Spot instances
  • Storage lifecycle
  • Compression
  • Caching
  • Query optimization
  • CDN optimization
  • Data transfer reduction
  • Log sampling
  • Metric cardinality reduction
  • Resource cleanup
  • Waste detection

25.4 FinOps practices

  • Tagging strategy
  • Cost allocation
  • Showback
  • Chargeback
  • Budget alerts
  • Cost anomaly detection
  • Forecasting
  • Unit economics
  • Cost dashboards
  • Ownership model
  • Optimization backlog
  • Procurement strategy
  • Vendor negotiation
  • Architecture cost review

26. Architecture Migration and Evolution

26.1 Legacy modernization

  • Legacy assessment
  • Dependency mapping
  • Data mapping
  • Risk analysis
  • Business criticality
  • Technical debt inventory
  • Modernization strategy
  • Rehost
  • Replatform
  • Refactor
  • Rewrite
  • Replace
  • Retire
  • Retain

26.2 Migration patterns

  • Strangler fig
  • Branch by abstraction
  • Parallel run
  • Blue-green migration
  • Dual write
  • Shadow read
  • Event interception
  • Anti-corruption layer
  • Facade
  • Adapter
  • Proxy
  • Backfill
  • Data reconciliation
  • Cutover

26.3 Database migration architecture

  • Schema migration
  • Online migration
  • Zero-downtime migration
  • Expand-contract
  • Backfill
  • Dual writes
  • CDC
  • Replication
  • Data validation
  • Consistency checks
  • Rollback plan
  • Cutover plan
  • Cleanup plan
  • Audit trail

26.4 Cloud migration

  • Cloud readiness assessment
  • Landing zone
  • Network design
  • Identity integration
  • Security baseline
  • Data migration
  • Application migration
  • Connectivity
  • Observability migration
  • Cost baseline
  • Cutover
  • Rollback
  • Decommissioning
  • Optimization

26.5 Evolutionary architecture

  • Fitness function
  • Architecture test
  • Incremental change
  • Reversible decision
  • Experimentation
  • Architectural runway
  • Technical debt management
  • Continuous architecture
  • Governance automation
  • Refactoring strategy
  • Deprecation strategy
  • Sunset strategy
  • Roadmap management
  • Feedback loop

27. Architecture Evaluation

27.1 Evaluation methods

  • Architecture review
  • ATAM awareness
  • Lightweight architecture evaluation
  • Scenario-based evaluation
  • Quality attribute workshop
  • Threat modeling
  • Cost review
  • Operational readiness review
  • Performance review
  • Security review
  • Compliance review
  • Disaster recovery review
  • Game day
  • Production readiness review

27.2 Architecture scenarios

  • Availability scenario
  • Performance scenario
  • Scalability scenario
  • Security scenario
  • Modifiability scenario
  • Deployability scenario
  • Testability scenario
  • Operability scenario
  • Data consistency scenario
  • Disaster recovery scenario
  • Cost scenario
  • Compliance scenario
  • Usability scenario
  • Maintainability scenario

27.3 Fitness functions

  • Dependency rule check
  • Layering check
  • Module boundary check
  • API compatibility check
  • Security header check
  • Performance threshold check
  • Availability threshold check
  • Cost threshold check
  • Observability coverage check
  • Test coverage check
  • Policy compliance check
  • Architecture drift check
  • Dependency freshness check
  • Vulnerability threshold check

27.4 Production readiness

  • Health checks
  • Readiness checks
  • Liveness checks
  • Graceful shutdown
  • Metrics
  • Logs
  • Traces
  • Dashboards
  • Alerts
  • Runbooks
  • Load test evidence
  • Security scan evidence
  • Backup evidence
  • Rollback plan
  • Incident owner

28. Common System Design Problems

28.1 Social and content systems

  • Design URL shortener
  • Design news feed
  • Design social graph
  • Design follower system
  • Design like system
  • Design comment system
  • Design notification system
  • Design messaging system
  • Design media upload system
  • Design content moderation system
  • Design recommendation feed
  • Design trending topics

28.2 Data and storage systems

  • Design key-value store
  • Design distributed cache
  • Design object storage
  • Design file storage
  • Design database sharding
  • Design search engine
  • Design log aggregation system
  • Design time-series database
  • Design metrics platform
  • Design data warehouse ingestion
  • Design CDC pipeline
  • Design backup system

28.3 Communication systems

  • Design chat system
  • Design video conferencing
  • Design WebSocket gateway
  • Design email delivery system
  • Design push notification system
  • Design webhook delivery system
  • Design pub/sub system
  • Design message queue
  • Design event streaming platform
  • Design rate limiter
  • Design API gateway
  • Design service discovery

28.4 Commerce and financial systems

  • Design payment system
  • Design wallet system
  • Design order management system
  • Design inventory system
  • Design booking system
  • Design ticketing system
  • Design auction system
  • Design pricing system
  • Design fraud detection system
  • Design ledger system
  • Design reconciliation system
  • Design subscription billing system

28.5 Infrastructure systems

  • Design CDN
  • Design load balancer
  • Design distributed scheduler
  • Design container orchestration system
  • Design CI/CD platform
  • Design feature flag platform
  • Design configuration service
  • Design secrets management system
  • Design monitoring system
  • Design alerting system
  • Design identity provider
  • Design multi-tenant SaaS platform

28.6 AI and search systems

  • Design autocomplete
  • Design semantic search
  • Design RAG assistant
  • Design vector database
  • Design model serving platform
  • Design recommendation system
  • Design fraud ML pipeline
  • Design feature store
  • Design evaluation platform
  • Design AI agent platform
  • Design prompt management system
  • Design LLM observability system

29. Standards, Frameworks, and Current Ecosystem Awareness

29.1 Architecture standards and frameworks

  • ISO/IEC/IEEE 42010:2022 awareness
  • TOGAF Standard 10th Edition awareness
  • C4 model awareness
  • arc42 awareness
  • Architecture Decision Records awareness
  • Domain-Driven Design awareness
  • Event Modeling awareness
  • Wardley Mapping awareness
  • Team Topologies awareness
  • Well-Architected frameworks awareness
  • Cloud Adoption Frameworks awareness
  • Security architecture frameworks awareness

29.2 Cloud architecture frameworks

  • AWS Well-Architected Framework awareness
  • Operational excellence pillar
  • Security pillar
  • Reliability pillar
  • Performance efficiency pillar
  • Cost optimization pillar
  • Sustainability pillar
  • Azure Well-Architected Framework awareness
  • Google Cloud Architecture Framework awareness
  • Multi-cloud architecture awareness
  • Cloud-native architecture awareness
  • Shared responsibility model awareness

29.3 Reliability frameworks

  • Google SRE principles awareness
  • SLI awareness
  • SLO awareness
  • SLA awareness
  • Error budget awareness
  • Toil awareness
  • Release engineering awareness
  • Monitoring distributed systems awareness
  • Incident response awareness
  • Blameless postmortem awareness
  • Chaos engineering awareness
  • Resilience engineering awareness

29.4 Security standards and guidance

  • OWASP Top 10 awareness
  • OWASP ASVS awareness
  • OWASP API Security Top 10 awareness
  • STRIDE threat modeling awareness
  • PASTA threat modeling awareness
  • NIST Cybersecurity Framework awareness
  • Zero Trust Architecture awareness
  • CIS Controls awareness
  • SOC 2 awareness
  • ISO 27001 awareness
  • GDPR awareness
  • PCI DSS awareness

29.5 Cloud-native ecosystem

  • CNCF cloud native definition awareness
  • Kubernetes awareness
  • Envoy awareness
  • Prometheus awareness
  • OpenTelemetry awareness
  • Argo CD awareness
  • Flux awareness
  • Helm awareness
  • Istio awareness
  • Linkerd awareness
  • Cilium awareness
  • Gateway API awareness
  • Open Policy Agent awareness
  • Backstage awareness

29.6 Architecture tooling

  • Structurizr
  • PlantUML
  • Mermaid
  • C4-PlantUML
  • D2
  • Graphviz
  • draw.io
  • Lucidchart
  • Miro
  • Backstage
  • Architecture catalog
  • Service catalog
  • ADR tooling
  • Dependency graph tooling

30. Learning Path

30.1 Phase 1 — Fundamentals

  • Networking fundamentals
  • HTTP fundamentals
  • Database fundamentals
  • Caching fundamentals
  • Queue fundamentals
  • Load balancing fundamentals
  • API design fundamentals
  • Security fundamentals
  • Observability fundamentals
  • Basic cloud fundamentals

30.2 Phase 2 — System design basics

  • Requirements clarification
  • Capacity estimation
  • High-level diagrams
  • Data model design
  • API design
  • Basic scaling
  • Basic caching
  • Basic replication
  • Basic sharding
  • Basic failure handling
  • Trade-off explanation

30.3 Phase 3 — Distributed systems

  • CAP theorem
  • Consistency models
  • Replication
  • Partitioning
  • Consensus
  • Distributed transactions
  • Sagas
  • Eventual consistency
  • Event-driven architecture
  • Message brokers
  • Stream processing
  • Failure modes

30.4 Phase 4 — Software architecture

  • Layered architecture
  • Clean architecture
  • Hexagonal architecture
  • Domain-driven design
  • Modular monolith
  • Microservices
  • Event sourcing
  • CQRS
  • API gateway
  • BFF
  • Service mesh
  • Architecture documentation

30.5 Phase 5 — Production architecture

  • Reliability engineering
  • SLOs
  • Error budgets
  • Observability
  • Incident response
  • Disaster recovery
  • Security architecture
  • Performance engineering
  • Cost optimization
  • CI/CD architecture
  • Kubernetes architecture
  • Cloud architecture

30.6 Phase 6 — Enterprise and governance

  • Enterprise architecture
  • Architecture governance
  • Reference architecture
  • Technology strategy
  • Platform engineering
  • Architecture reviews
  • Architecture decision records
  • Compliance architecture
  • Migration architecture
  • Evolutionary architecture
  • Architecture metrics

30.7 Phase 7 — Advanced architecture

  • Multi-region systems
  • Globally distributed data
  • High-scale event streaming
  • Large-scale search
  • AI system architecture
  • Multi-tenant SaaS architecture
  • Zero-trust architecture
  • Resilience architecture
  • Platform architecture
  • Architecture leadership
  • Technical strategy

31. Practical Projects

31.1 Project 1 — URL Shortener

  • Define requirements
  • Estimate traffic
  • Design API
  • Design database schema
  • Design short code generation
  • Add cache
  • Add analytics
  • Add rate limiting
  • Add abuse prevention
  • Add observability
  • Document trade-offs
  • Create C4 diagrams

31.2 Project 2 — Notification Platform

  • Design notification API
  • Support email
  • Support SMS
  • Support push notifications
  • Add template system
  • Add message queue
  • Add retry policy
  • Add dead letter queue
  • Add user preferences
  • Add delivery tracking
  • Add rate limits
  • Add provider failover

31.3 Project 3 — Chat System

  • Design realtime protocol
  • Design WebSocket gateway
  • Design message storage
  • Design conversation model
  • Add message ordering
  • Add delivery receipts
  • Add presence
  • Add push notifications
  • Add media storage
  • Add horizontal scaling
  • Add multi-device sync
  • Add moderation

31.4 Project 4 — E-Commerce Platform

  • Design catalog service
  • Design cart service
  • Design order service
  • Design payment service
  • Design inventory service
  • Design pricing service
  • Add checkout saga
  • Add outbox pattern
  • Add search
  • Add recommendation
  • Add fraud checks
  • Add observability

31.5 Project 5 — Event Streaming Platform

  • Design event schema
  • Design topic strategy
  • Design partition strategy
  • Design producer contract
  • Design consumer contract
  • Add schema registry
  • Add dead letter handling
  • Add replay workflow
  • Add monitoring
  • Add access control
  • Add retention policy
  • Add governance

31.6 Project 6 — Multi-Tenant SaaS Platform

  • Define tenant model
  • Design tenant isolation
  • Design authentication
  • Design authorization
  • Design database strategy
  • Design billing
  • Design quotas
  • Design feature flags
  • Design audit logging
  • Design tenant backup
  • Design tenant deletion
  • Design cost allocation

31.7 Project 7 — Observability Platform

  • Design metrics ingestion
  • Design log ingestion
  • Design trace ingestion
  • Design storage
  • Design indexing
  • Design dashboards
  • Design alerting
  • Design retention
  • Design sampling
  • Design multi-tenancy
  • Design cost controls
  • Design incident workflow

31.8 Project 8 — RAG AI Assistant Architecture

  • Design ingestion pipeline
  • Design chunking strategy
  • Design embedding pipeline
  • Design vector database
  • Design retrieval strategy
  • Design reranking
  • Design answer generation
  • Design citations
  • Design access control
  • Design evaluation
  • Design observability
  • Design cost controls

31.9 Project 9 — Kubernetes Platform

  • Design cluster topology
  • Design namespace strategy
  • Design ingress strategy
  • Design RBAC
  • Design NetworkPolicy
  • Design GitOps flow
  • Design observability
  • Design secrets management
  • Design autoscaling
  • Design upgrade strategy
  • Design tenant onboarding
  • Design platform golden paths

31.10 Project 10 — Legacy Modernization Plan

  • Assess current architecture
  • Map dependencies
  • Map data flows
  • Identify bounded contexts
  • Identify risk areas
  • Define target architecture
  • Define migration phases
  • Add anti-corruption layer
  • Add strangler facade
  • Plan data migration
  • Plan rollout
  • Plan rollback
  • Write ADRs

31.11 Project 11 — High-Scale Rate Limiter

  • Define rate limit model
  • Design token bucket
  • Design sliding window
  • Design distributed counter
  • Design Redis-backed limiter
  • Design local fallback
  • Design quota hierarchy
  • Design bypass rules
  • Design observability
  • Design abuse prevention
  • Test under load
  • Document trade-offs

31.12 Project 12 — Global File Storage System

  • Design upload API
  • Design metadata storage
  • Design object storage
  • Design multipart upload
  • Design CDN delivery
  • Design deduplication
  • Design virus scanning
  • Design access control
  • Design lifecycle policy
  • Design replication
  • Design backup
  • Design disaster recovery

32. Competency Checklist

32.1 Junior system design competency

  • Explain client-server architecture
  • Explain DNS, HTTP, and TLS basics
  • Design simple REST APIs
  • Design simple database schemas
  • Explain caching basics
  • Explain load balancing basics
  • Explain queues basics
  • Draw basic architecture diagrams
  • Estimate simple traffic
  • Identify basic bottlenecks
  • Explain basic trade-offs
  • Document simple design decisions

32.2 Mid-level system design competency

  • Design scalable CRUD systems
  • Design cache strategies
  • Design async processing
  • Design database indexing
  • Design read replicas
  • Design sharding basics
  • Design service boundaries
  • Design API gateway usage
  • Design basic observability
  • Design basic security controls
  • Design failure handling
  • Write design documents
  • Write ADRs
  • Defend architecture trade-offs

32.3 Senior architecture competency

  • Design distributed systems
  • Define architectural drivers
  • Select architecture style
  • Design microservice boundaries
  • Design modular monolith boundaries
  • Design event-driven systems
  • Design data consistency strategy
  • Design disaster recovery
  • Design security architecture
  • Design observability architecture
  • Design cloud architecture
  • Lead architecture reviews
  • Plan migrations
  • Manage technical debt

32.4 Staff/principal architecture competency

  • Define technical strategy
  • Define reference architectures
  • Govern architecture standards
  • Align architecture with business strategy
  • Design multi-region platforms
  • Design multi-tenant platforms
  • Design internal developer platforms
  • Design architecture fitness functions
  • Lead cross-team architecture
  • Make high-impact trade-off decisions
  • Handle organizational constraints
  • Reduce systemic risk
  • Mentor architects and engineers
  • Evolve architecture over years

32.5 Production readiness competency

  • Define SLOs
  • Define SLIs
  • Define error budgets
  • Design alerts
  • Design runbooks
  • Design dashboards
  • Conduct load tests
  • Conduct failure tests
  • Conduct security reviews
  • Conduct cost reviews
  • Conduct disaster recovery drills
  • Conduct postmortems
  • Track action items
  • Prevent regressions