System Design
Microservices Interview
A production-grade microservices course - decomposition, inter-service communication, data management, resilience, observability, security, and operating services at scale. 15 modules with real case studies.
Microservices Interview
A senior-level course on designing, building, and operating microservices in production. Across 15 modules you cover the full lifecycle: the foundations and when microservices are (and are not) the right call, domain-driven decomposition, migrating from a monolith, inter-service communication (sync, async, and events), data management across service boundaries, resilience and fault tolerance, service discovery and gateways, observability, security, deployment and operations, testing strategies, running at scale, real interview case studies, and the anti-patterns that sink real systems.
This is the depth an engineer needs to make architecture decisions and defend them in a senior system-design interview - saga and outbox patterns, circuit breakers, API gateways, distributed tracing, zero-trust service security, and the operational reality of dozens of services in production.
What you will learn
- When microservices are the right call - and the real cost when they are not
- Domain-driven decomposition and migrating from a monolith safely
- Inter-service communication: REST, gRPC, messaging, and event-driven patterns
- Data management across services: sagas, the outbox pattern, and eventual consistency
- Resilience: circuit breakers, retries, bulkheads, and graceful degradation
- Service discovery, API gateways, and request routing
- Observability (metrics, logs, distributed tracing) and microservices security
- Deployment, operations, and testing strategies for distributed systems
- Running at scale, real-world case studies, and the anti-patterns to avoid
Prerequisites
- Solid backend engineering experience
- Familiarity with HTTP APIs, databases, and basic system-design concepts
Course outline
Module 1: Welcome and Course Overview
Welcome and Course Overview - 4 topics.
- Welcome - Why We Built This Course 5 min read
- What This Course Covers (And What It Doesn't) 5 min read
- How This Course Is Structured - A Roadmap 6 min read
- How Microservices Get Asked in Interviews - What Interviewers Actually Evaluate 10 min read
Module 2: Microservices Foundations
Microservices Foundations - 6 topics.
- What Microservices Actually Are (And What They Are Not) 10 min read
- Monolith vs Microservices - The Real Tradeoffs 11 min read
- When to Adopt Microservices (And When to Stay Monolithic) 10 min read
- SOA vs Microservices vs Service-Based Architecture 10 min read
- Conway's Law and Organisational Readiness 10 min read Pro lesson
- The Cost of Microservices - An Honest Assessment 10 min read Pro lesson
Module 3: Domain-Driven Design for Service Decomposition
Domain-Driven Design for Service Decomposition - 7 topics.
- Domain-Driven Design Essentials for Microservices 10 min read
- Identifying Service Boundaries 11 min read Pro lesson
- Business Capability vs Subdomain Decomposition 10 min read Pro lesson
- Service Granularity - How Small Is Too Small? 10 min read Pro lesson
- Bounded Contexts and Context Mapping 10 min read Pro lesson
- Decomposition Anti-Patterns 10 min read Pro lesson
- Exercise: Decompose an E-Commerce Platform 10 min read Pro lesson
Module 4: Migrating from Monolith to Microservices
Migrating from Monolith to Microservices - 7 topics.
- Migration Strategies Overview - Strangler Fig, Branch by Abstraction, Parallel Run 10 min read
- The Strangler Fig Pattern in Depth 10 min read Pro lesson
- Data Migration During Decomposition 10 min read Pro lesson
- Sequencing the Migration - What to Extract First 10 min read Pro lesson
- Organisational Change Management During Migration 10 min read Pro lesson
- Migration Anti-Patterns and Failure Modes 10 min read Pro lesson
- Exercise: Plan a Migration for a Legacy Billing System 12 min read Pro lesson
Module 5: Inter-Service Communication
Inter-Service Communication - 11 topics.
- Synchronous vs Asynchronous Communication - When to Use Which 10 min read
- REST in Microservices - Design Principles and Pitfalls 10 min read Pro lesson
- gRPC and Protocol Buffers 10 min read Pro lesson
- GraphQL and Schema Federation in Microservices 10 min read Pro lesson
- API Versioning and Contract Evolution 10 min read Pro lesson
- Idempotency in Distributed Communication 10 min read Pro lesson
- Message Queues - RabbitMQ, SQS, and When to Use Them 10 min read Pro lesson
- Event Streaming with Kafka 10 min read Pro lesson
- Event-Driven Architecture Patterns 10 min read Pro lesson
- Choreography vs Orchestration 10 min read Pro lesson
- Exercise: Design Communication for an Order Processing System 11 min read Pro lesson
Module 6: Data Management in Microservices
Data Management in Microservices - 14 topics.
- Database-Per-Service - Why and How 10 min read
- Polyglot Persistence - Choosing the Right Database Per Service 10 min read Pro lesson
- The Distributed Transaction Problem 10 min read Pro lesson
- Saga Pattern - Choreography and Orchestration 11 min read Pro lesson
- Exercise: Design a Saga for Travel Booking 10 min read Pro lesson
- Event Sourcing 10 min read Pro lesson
- Exercise: Event Sourcing for an Inventory System 10 min read Pro lesson
- CQRS - Command Query Responsibility Segregation 10 min read Pro lesson
- Exercise: CQRS for a Product Catalog 10 min read Pro lesson
- The Outbox Pattern and Change Data Capture 11 min read Pro lesson
- Exercise: Implement the Outbox Pattern 10 min read Pro lesson
- Handling Eventual Consistency - Strategies and User Experience 11 min read Pro lesson
- Exercise: Eventual Consistency in a Social Feed 11 min read Pro lesson
- Distributed Caching in Microservices 12 min read Pro lesson
Module 7: Resilience and Fault Tolerance
Resilience and Fault Tolerance - 11 topics.
- Failure Modes in Distributed Systems 10 min read Pro lesson
- Timeouts, Retries, and Exponential Backoff 11 min read Pro lesson
- Exercise: Configure Retry Policies for a Payment Service 10 min read Pro lesson
- Circuit Breaker Pattern 10 min read Pro lesson
- Exercise: Circuit Breaker for a Recommendation Service 11 min read Pro lesson
- Bulkhead Pattern 10 min read Pro lesson
- Exercise: Bulkhead Design for a Multi-Tenant Platform 10 min read Pro lesson
- Cascading Failures - Anatomy and Prevention 10 min read Pro lesson
- Graceful Degradation and Fallback Strategies 11 min read Pro lesson
- Rate Limiting and Backpressure 10 min read Pro lesson
- Chaos Engineering Principles 10 min read Pro lesson
Module 8: Service Discovery, Gateways, and Routing
Service Discovery, Gateways, and Routing - 8 topics.
- Service Discovery - Client-Side vs Server-Side 11 min read
- Exercise: Service Discovery with Health Checks 10 min read Pro lesson
- API Gateway Pattern 10 min read Pro lesson
- Exercise: API Gateway Design with Rate Limiting 10 min read Pro lesson
- Backend for Frontend (BFF) 10 min read Pro lesson
- Service Mesh - Istio, Linkerd, and the Sidecar Pattern 10 min read Pro lesson
- Load Balancing in Microservices 10 min read Pro lesson
- Exercise: Design Routing for a Blue-Green Deployment 10 min read Pro lesson
Module 9: Observability
Observability - 8 topics.
- The Three Pillars - Logs, Metrics, Traces 10 min read Pro lesson
- Distributed Tracing - OpenTelemetry, Jaeger, Zipkin 10 min read Pro lesson
- Exercise: Trace a Request Across Five Services 10 min read Pro lesson
- Centralised Logging at Scale 10 min read
- Metrics, SLOs, and Alerting 10 min read Pro lesson
- Exercise: Define SLOs for an E-Commerce Checkout 10 min read Pro lesson
- Health Checks and Readiness Probes 10 min read Pro lesson
- Debugging Production Issues in Microservices 10 min read Pro lesson
Module 10: Security in Microservices
Security in Microservices - 6 topics.
- The Expanded Attack Surface - Why Microservices Security Is Different 11 min read Pro lesson
- Service-to-Service Authentication - mTLS, JWT, OAuth2 10 min read Pro lesson
- Authorisation Patterns - Centralised vs Distributed 10 min read Pro lesson
- Secrets Management Across Services 10 min read Pro lesson
- Zero Trust Networking in Microservices 10 min read Pro lesson
- Exercise: Design a Security Architecture for a Financial Platform 10 min read Pro lesson
Module 11: Deployment and Operations
Deployment and Operations - 6 topics.
- Deployment Strategies - Blue-Green, Canary, Rolling 10 min read
- Containerisation and Orchestration - Docker and Kubernetes 10 min read Pro lesson
- CI/CD for Microservices - Independent Deployability 10 min read Pro lesson
- Configuration Management and Feature Flags 10 min read Pro lesson
- Exercise: Feature Flag Rollout Strategy 10 min read Pro lesson
- Multi-Region Microservices 10 min read Pro lesson
Module 12: Testing Microservices
Testing Microservices - 6 topics.
- The Testing Pyramid for Microservices 10 min read Pro lesson
- Contract Testing and Consumer-Driven Contracts 10 min read Pro lesson
- Integration Testing with Test Containers 10 min read Pro lesson
- End-to-End Testing - Strategies and Limitations 10 min read Pro lesson
- Testing in Production - Shadowing, Canary Analysis, and Observability-Driven Testing 10 min read Pro lesson
- Exercise: Design a Testing Strategy for a Checkout Service 11 min read Pro lesson
Module 13: Microservices at Scale
Microservices at Scale - 6 topics.
- What Changes at Scale - 10 vs 100 vs 1,000 Services 10 min read Pro lesson
- Platform Engineering and Internal Developer Platforms 10 min read Pro lesson
- Service Ownership and Team Topologies at Scale 10 min read Pro lesson
- API Governance and Standards at Scale 10 min read Pro lesson
- Multi-Tenancy in Microservices 10 min read Pro lesson
- Exercise: Design a Platform for 200 Microservices 10 min read Pro lesson
Module 14: Interview Case Studies
Interview Case Studies - 6 topics.
- Case Study: Design a Food Delivery Platform 11 min read Pro lesson
- Case Study: E-Commerce Platform - From Monolith to Microservices 10 min read Pro lesson
- Case Study: Real-Time Event Processing Platform 10 min read Pro lesson
- Case Study: Multi-Region Social Media Backend 10 min read Pro lesson
- Case Study: Payment Infrastructure - Microservices for Financial Systems 10 min read Pro lesson
- Case Study: Ride-Sharing Platform - Real-Time Microservices 10 min read Pro lesson
Module 15: Microservices Anti-Patterns and Pitfalls
Microservices Anti-Patterns and Pitfalls - 6 topics.
- The Distributed Monolith - When Microservices Make Everything Worse 10 min read Pro lesson
- Nano-Services, God Services, and Other Decomposition Failures 10 min read Pro lesson
- Operational Anti-Patterns - Running Microservices Wrong 10 min read Pro lesson
- Data Management and Communication Anti-Patterns 10 min read Pro lesson
- Migration and Organisational Anti-Patterns 10 min read Pro lesson
- Exercise: Identify and Fix Anti-Patterns in a Given Architecture 10 min read Pro lesson