Get in Touch

Course Outline

Part I: Domain Modelling and Design

  • Principles of Domain Driven Design

  • Utilizing event storming for domain discovery

  • Defining bounded contexts and performing context mapping

  • Data ownership and the database-per-service principle

Part II: Contracts and Communication

  • Designing effective contracts

  • API versioning and evolution strategies

  • Synchronous communication patterns

  • Asynchronous communication patterns

Part III: Building Microservices

  • Structuring applications with clean architecture

  • Dependency management and security considerations

  • Introduction to Dapr (Distributed Application Runtime)

  • Service-to-service communication

  • Managing application state

  • Pub/Sub messaging patterns

  • Managing secrets and configuration

  • Leveraging built-in telemetry for observability

Part IV: Testing Strategies

  • Implementing heartbeat tests

  • Conducting end-to-end testing

  • Performing service-level testing

Part V: Infrastructure

  • Infrastructure as Code (using Bicep)

  • Containers and orchestration (Kubernetes / Azure Container Apps)

  • Infrastructure pipelines and deployment processes

  • Storage and database services

Part VI: Deployment

  • Establishing CI/CD pipelines

  • Implementing deployment rings

  • Utilizing feature flags

Part VII: Observability

  • Centralized logging

  • Distributed tracing

  • Metrics and dashboard creation

  • System monitoring and alerting

Part VIII: Resilience and Disaster Recovery

  • Configuring health probes and readiness checks

  • Handling compute resource failures

  • Strategies for infrastructure failure

  • Service-level failure handling

Requirements

  • Proficient programming experience in at least one backend language (such as C#, Java, Python, or similar)
  • Fundamental understanding of REST APIs and HTTP protocols
  • Working knowledge of Git and version control workflows
  • Basic experience with a cloud platform (e.g., Azure, AWS, or GCP), including deploying an application or navigating the management portal

Target Audience

  • Development teams in the process of migrating from monolithic architectures to microservices

  • Software architects tasked with designing distributed systems

  • Teams already utilizing microservices who seek to enhance their design, scalability, and reliability

  • Technical professionals seeking a practical, hands-on approach to cloud-native architecture

 21 Hours

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories