- Basic understanding of software and system engineering required.
- Good understanding of system development and integration recommended.
- Some exposure to problems encountered during building complex enterprise solutions recommended.
This course offers experience-driven advice to help you design, implement, test, and deploy your microservices-based application.
This course covers popular application frameworks such Spring Boot and MicroProfile to deploy and manage microservices at scale with Linux containers.
This course explains invaluable set of design patterns for writing services and composing them into systems that scale and perform reliably under real-world conditions.
Microservices Architecture Overview
Spring Boot for Microservices
Monolithic architecture decomposition strategies
Interprocess communication in a microservice architecture
- Remote procedure invocation, Circuit breaker, Client-side discovery, Self-registration, Server-side discovery, Third party registration, Asynchronous messaging, Transactional outbox, Transaction log tailing, Polling publisher
Managing transactions with sagas
- Maintain data consistency
- Choreography and Orchestration
Designing business logic in a microservice architecture
- Transaction script pattern and Domain model pattern
- Domain-driven design (DDD) aggregate pattern
- Domain event pattern
Developing business logic with event sourcing
- Event store
- Integrating sagas
Implementing queries in a microservice architecture
- API composition pattern
- Command query responsibility segregation (CQRS) pattern
External API patterns
- API gateway
- Reactive programming
- GraphQL
Testing microservices
Building a reusable microservice framework
- Health check API
- Log aggregation
- Distributed tracing
- Exception tracking
- Application metrics
- Audit logging
Building a delivery pipeline for microservices
Deploying Microservices at Scale with Docker and Kubernetes
- Language-specific packaging format
- Deploying a service as a VM
- Deploying a service as a container
- Serverless deployment
Recommended practices for microservice teams