Get in Touch

Course Outline

Part I: Domain Modeling and System Design

  • Core principles of Domain-Driven Design (DDD)

  • Utilizing event storming for domain identification

  • Defining bounded contexts and establishing context maps

  • Establishing data ownership and adhering to the database-per-service principle

Part II: Service Contracts and Communication Protocols

  • Architecting service contracts

  • Strategies for API versioning and evolutionary management

  • Implementation of synchronous communication patterns

  • Implementation of asynchronous communication patterns

Part III: Microservice Implementation

  • Adopting a clean architecture structure

  • Managing dependencies and addressing security requirements

  • Overview of Dapr (Distributed Application Runtime)

  • Facilitating inter-service communication

  • Managing state persistence and handling

  • Implementing publish/subscribe messaging models

  • Managing secrets and configuration settings

  • Leveraging built-in telemetry for observability

Part IV: Testing Methodologies

  • Implementing heartbeat verification tests

  • Conducting end-to-end system testing

  • Performing service-level isolation testing

Part V: Infrastructure Management

  • Implementing Infrastructure as Code (IaC) using Bicep

  • Utilizing containers and orchestration platforms (Kubernetes / Azure Container Apps)

  • Configuring infrastructure pipelines and deployment workflows

  • Managing storage and database services

Part VI: Deployment Strategies

  • Establishing CI/CD automation pipelines

  • Implementing deployment rings for controlled rollouts

  • Utilizing feature flags for release management

Part VII: Observability Frameworks

  • Implementing centralized logging capabilities

  • Adopting distributed tracing mechanisms

  • Generating metrics and developing monitoring dashboards

  • Configuring continuous monitoring and alerting systems

Part VIII: Resilience and Disaster Recovery

  • Configuring health probes and readiness assessments

  • Addressing compute resource failures

  • Formulating strategies for infrastructure-level failures

  • Managing service-level failure scenarios

Requirements

  • Demonstrated proficiency in at least one backend programming language (C#, Java, Python, or equivalent)
  • Fundamental understanding of RESTful APIs and HTTP protocols
  • Experience with Git and version control workflows
  • Basic familiarity with a public cloud platform (e.g., Azure, AWS, or GCP), including application deployment or portal navigation

Audience

  • Development teams migrating from monolithic systems to microservice architectures

  • Software architects designing distributed system structures

  • Teams currently utilizing microservices seeking to enhance design, scalability, and reliability

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

 21 Hours

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories