Course Outline
Part I: Domain Modelling and Design
-
Domain Driven Design principles
-
Event storming for domain discovery
-
Bounded contexts and context mapping
-
Data ownership and database-per-service principle
Part II: Contracts and Communication
-
Contract design
-
API versioning and evolution strategies
-
Synchronous communication patterns
-
Asynchronous communication patterns
Part III: Building Microservices
-
Clean architecture structure
-
Dependency management and security considerations
-
Introduction to Dapr (Distributed Application Runtime)
-
Service-to-service communication
-
State management
-
Pub/sub messaging
-
Secrets and configuration management
-
Observability using built-in telemetry
Part IV: Testing Strategies
-
Heartbeat tests
-
End-to-end testing
-
Service-level testing
Part V: Infrastructure
-
Infrastructure as Code (Bicep)
-
Containers and orchestration (Kubernetes / Azure Container Apps)
-
Infrastructure pipelines and deployment
-
Storage and database services
Part VI: Deployment
-
CI/CD pipelines
-
Deployment rings
-
Feature flags
Part VII: Observability
-
Centralised logging
-
Distributed tracing
-
Metrics and dashboards
-
Monitoring and alerting
Part VIII: Resilience and Disaster Recovery
-
Health probes and readiness checks
-
Handling compute failures
-
Infrastructure failure strategies
-
Service-level failure handling
Requirements
- Solid programming experience in at least one backend language (C#, Java, Python, or similar)
- Basic understanding of REST APIs and HTTP
- Familiarity with Git and version control workflows
-
Basic experience with a cloud platform (e.g., Azure, AWS, or GCP, deploying an app or navigating the
portal)
Audience
-
Development teams transitioning from monolithic systems to microservices
-
Software architects designing distributed systems
-
Teams already working with microservices who want to improve design, scalability and reliability
-
Technical professionals looking for a practical, hands-on approach to cloud-native architecture
Testimonials (4)
During my training, the most appreciated aspect was the accessibility of Augustin, who knows how to adapt to the level of the participants while being careful not to slow down the group. A top-notch trainer!!!
Rodrigue - Cegid
Course - Managing APIs with Apigee
Machine Translated
the technical preparation of teachers
Giorgio - Asystel-BDF S.p.A.
Course - Creating a Service Mesh with Istio and Kubernetes
The trainer's attentiveness. He took into account the questions asked and answered them the next day.
Erwan - SNCF Connect & Tech
Course - Axon Framework
Machine Translated
The practices