Introducing Microservices
- What microservices are
- Technology
- Advantages of microservices
- Disadvantages of microservices
- When should you use them, and when shouldn’t you use them?
Service Modelling
- Characteristics of “good†services
- Introduction to domain driven design
- Usefulness of Bounded Contexts when defining service boundaries
- Event Storming and Capability Modelling
Splitting out services
- Planning a transition
- Incremental decomposition patterns
- Splitting the schema
- Discussion of CAP theory, distributed transactions and eventual consistency
Service Collaboration
- Synchronous vs asynchronous
- Event-based collaboration vs
- Request/Response
- Coverage of technology options
- including REST, RPC, Actor
- frameworks, Message Brokers including Kafka
- Choreography vs Orchestration
Testing
- End-to-end testing in a microservice world
- Test types and feedback
- Consumer-driven contracts
Observability
- Log aggregation
- Correlation IDs
- Metrics collection
- Semantic monitoring
- Real-user monitoring
- Synthetic Transactions
Resiliency & Scaling
- Types of scaling (scaling cube + more)
- Scaling for load vs scaling for resiliency
- Circuit Breakers and connection pooling
- Bulkheads & timeouts
- Service Meshes & Message Brokers
Sent from my iPhone