All Courses

Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka

Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka
Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka

Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka

Learn Spring boot microservices with Clean & Hexagonal architectures, DDD, SAGA, Outbox, CQRS, Kafka, Kubernetes & GKE

Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka

What you’ll learn

  • Develop Microservices Architecture using Spring Boot and Kafka
  • Understand and Apply Clean Architecture
  • Understand and Apply Hexagonal Architecture
  • Understand and Apply Domain Driven Design(DDD)
  • Implement SAGA Architecture Pattern
  • Implement Outbox Architecture Pattern
  • Implement CQRS Architecture Pattern
  • Learn Kafka Architecture and Programming on Kafka
  • Learn using Kafka as the Event Store for Event-Driven Services
  • Learn Kubernetes basics & Run a local cluster using Docker Desktop
  • Deploy microservices to the local Kubernetes Cluster
  • Run Confluent Kafka on Kubernetes using cp-helm-charts
  • Run Postgres on Kubernetes
  • Learn Google Cloud and Google Kubernetes Engine(GKE)
  • Deploy microservices to Google Kubernetes Engine


  • Knowledge of Java
  • Knowledge of Spring Boot
  • Back-end development experience


Hi there! My name is AliĀ Gelenler. I’m here to help you learn microservices architecture while applying Clean and Hexagonal Architectures and using Domain Driven Design.

In this course, you will focus on architectural aspects of microservices architecture and use Clean Architecture principles while developing each service. In the implementation of the domain layer, you will also apply Domain Driven Design principles.

You can always use the latest versions for spring boot, and other dependencies in this course. I will be constantly updating the dependency version in the last section’s lectures. You may check that to see the required code and configuration changes for updated versions. Also if you would like to use subtitles during the course, you can turn on the captions on videos as all lectures are updated with hand-written subtitles by choosing from over 20 different languages. I suggest using subtitles to make it easier to follow the lectures.

The concepts that you will be learning and implementing are:

  • Spring boot microservices
  • Clean Architecture
  • Hexagonal Architecture
  • Domain Driven Design
  • Event-driven services using Apache Kafka
  • SAGA Architecture Pattern
  • Outbox Architecture Pattern
  • CQRS Architecture Pattern
  • Kubernetes on local using Docker Desktop
  • Kubernetes on Google Cloud using Google Kubernetes Engine(GKE)

I have followed the same clean & hexagonal architectures and domain-driven design principles in the implementation of each microservice. If you feel like you want to skip some repeating parts, you may download the source code that I provide in the first lecture of each section starting from section-3. You can then use the provided source code to continue with the section.

Who this course is for:

  • Developers and Architects want to see a practical approach to Clean and Hexagonal Architecture with Domain Driven Design
  • Developers and Architects want to learn architectural patterns, such as SAGA, Outbox, and CQRS
  • Developers want to learn deploying a microservices architecture to Cloud using Google Kubernetes Engine
  • One that likes to learn with a hands-on approach

Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka

Get Course Now