"The structure, the practice exams, the instructor — all top tier. Passed first try."
Course Outline
What the programme covers, module by module.
Module 1: Introduction to Microservices
- Microservices concepts
- Architecture evolution
- Service-based systems
- Distributed applications
- Key characteristics
- Common use cases
Module 2: Monolithic vs Microservices Architecture
- Monolithic architecture
- Microservices architecture
- Architecture comparison
- Scalability differences
- Deployment considerations
- Selecting an architecture
Module 3: Microservices Design Principles
- Loose coupling
- High cohesion
- Service autonomy
- Independent deployment
- Decentralisation
- Business capability alignment
Module 4: Service Decomposition
- Identifying services
- Business capabilities
- Service boundaries
- Decomposition strategies
- Granularity
- Avoiding distributed monoliths
Module 5: Domain-Driven Design
- Domain modelling
- Bounded contexts
- Entities
- Value objects
- Aggregates
- Domain services
Module 6: Microservice API Design
- Service interfaces
- RESTful APIs
- Resource modelling
- API contracts
- Request and response design
- API versioning
Module 7: Inter-Service Communication
- Synchronous communication
- Asynchronous communication
- HTTP communication
- Messaging
- Communication patterns
- Selecting communication methods
Module 8: Service Discovery
- Service registration
- Service registry
- Dynamic discovery
- Client-side discovery
- Server-side discovery
- Health awareness
Module 9: API Gateway Pattern
- API gateway concepts
- Request routing
- Request aggregation
- Authentication integration
- Traffic management
- Gateway responsibilities
Module 10: Load Balancing & Traffic Routing
- Load balancing concepts
- Client-side balancing
- Server-side balancing
- Traffic distribution
- Routing strategies
- Service availability
Module 11: Data Management in Microservices
- Database per service
- Data ownership
- Shared database challenges
- Data isolation
- Persistence strategies
- Distributed data management
Module 12: Distributed Transactions
- Transaction challenges
- Data consistency
- Eventual consistency
- Distributed workflows
- Compensation
- Transaction boundaries
Module 13: Saga Pattern
- Saga concepts
- Choreography
- Orchestration
- Compensating transactions
- Failure handling
- Saga design
Module 14: Event-Driven Architecture
- Events
- Event producers
- Event consumers
- Event channels
- Event-driven communication
- Event processing
Module 15: Messaging & Message Brokers
- Message queues
- Publish-subscribe
- Message brokers
- Delivery concepts
- Message ordering
- Reliable messaging
Module 16: CQRS Pattern
- Command Query Responsibility Segregation
- Commands
- Queries
- Read models
- Write models
- CQRS considerations
Module 17: Event Sourcing
- Event sourcing concepts
- Event stores
- State reconstruction
- Event history
- Event replay
- Event sourcing considerations
Module 18: Resilience Patterns
- Distributed failures
- Retry pattern
- Timeout pattern
- Circuit breaker
- Fallback mechanisms
- Bulkhead pattern
Module 19: Fault Tolerance
- Failure isolation
- Graceful degradation
- Dependency failures
- Redundancy
- Recovery strategies
- Availability considerations
Module 20: Microservices Security
- Service authentication
- Authorisation
- Token-based security
- API security
- Service-to-service security
- Secrets management
Module 21: Configuration Management
- External configuration
- Environment-specific settings
- Centralised configuration
- Configuration updates
- Secrets
- Configuration practices
Module 22: Logging in Distributed Systems
- Centralised logging
- Structured logs
- Correlation IDs
- Request tracing
- Log aggregation
- Troubleshooting
Module 23: Monitoring & Observability
- Metrics
- Health checks
- Application monitoring
- Distributed tracing
- Observability principles
- Service-level indicators
Module 24: Containerisation
- Container concepts
- Docker fundamentals
- Container images
- Service packaging
- Container networking
- Containerised microservices
Module 25: Container Orchestration
- Orchestration concepts
- Kubernetes fundamentals
- Pods and services
- Scaling
- Service management
- Deployment concepts
Module 26: Testing Microservices
- Unit testing
- Integration testing
- API testing
- Contract testing
- Component testing
- End-to-end testing
Module 27: CI/CD for Microservices
- Continuous integration
- Continuous delivery
- Independent pipelines
- Automated testing
- Deployment automation
- Release management
Module 28: Deployment Strategies
- Rolling deployments
- Blue-green deployments
- Canary releases
- Version management
- Rollback strategies
- Zero-downtime concepts
Module 29: Performance & Scalability
- Horizontal scaling
- Service scaling
- Caching
- Performance bottlenecks
- Resource optimisation
- Capacity planning
Module 30: Migrating from Monolith to Microservices
- Monolith assessment
- Migration planning
- Strangler pattern
- Incremental decomposition
- Dependency management
- Migration risks
Who it's for & what's included
Pick a delivery method to see exactly who it suits and everything you receive.
Classroom
Best for learners who want face-to-face tuition and to network with peers in person.
Everything you get
- ✓ Live instructor on-site
- ✓ Printed workbook & materials
- ✓ Group exercises & case studies
Online Instructor-Led
Best for learners who want a live instructor and a fixed schedule, without the travel.
Everything you get
- ✓ Live instructor via video call
- ✓ Digital workbook & resources
- ✓ Session recordings
Self-Paced
Best for self-motivated learners who need maximum flexibility around work and life.
Everything you get
- ✓ On-demand video lessons
- ✓ Interactive quizzes
- ✓ 24/7 access on any device
Course Overview
The Microservices Architecture program equips working professionals with advanced skills for designing distributed software systems. Participants learn service decomposition, domain-driven design, API communication, service discovery, API gateways, data management, messaging, event-driven architecture, resilience, security, observability, containerisation, orchestration, testing, deployment, scalability, and migration from monolithic applications.