Skip to content
UdemyJava Spring FrameworkPaid courseAll LevelsCertificate

Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka (Udemy.com)

Learn Spring boot microservices: Clean & Hexagonal architectures, DDD, SAGA, Outbox, CQRS, Kafka, Kubernetes, Spring AI

Created by: Ali Gelenler

Last updated June 2026

icon
What you will 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 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
  • Learn Change Data Capture(CDC) with Debezium and Kafka

icon
Course Description

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 & Hexagonal Architecture principles while developing each service. In the implementation of the domain layer you will also apply Domain Driven Design principles.

The course also includes a new section on adding AI functionality into the existing Order Service while still following Clean Architecture and Domain Driven Design principles. In this section, you will implement an AI-powered Order Note Interpreter that transforms raw customer order notes into structured order preferences. You will use Spring AI with both OpenAI and Ollama, apply system prompts as guardrails, use prompt templates for controlled and repeatable LLM calls, and connect LLM responses to business logic more safely using structured output.

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. You may choose among over 20 different languages. I suggest using subtitles to make it easier to follow the lectures.


  • Scott Knox: "As a working professional, I can already tell this is the holy grail of understanding modern architectures. If your company is struggling to grasp certain concepts, this course will help you help them. Thanks Ali for the excellent explanations!"

You will implement SAGA, Outbox and CQRS patterns using the 4 Spring boot Java microservices that you will develop using Clean and Hexagonal architecture principles.


  • Nick Goupinets: "Great course - gives a deep-dive into microservice development experience with Spring Boot. As an added bonus shows how to deploy it with Kubernetes. At times it felt too detailed, sort of making it hard to see the forest behind the trees. Also Hex. architecture resulted in what looked like an over-engineered overall solution. With that said, Ali did a fantastic job explaining all of the design decisions with clear architecture diagrams that offset that complexity!"

You will also learn and use Apache Kafka as the event store, and use events to communicate between services, and to implement the architectural patterns.


  • Nischal Jadhav: "If u are looking to become an high level developer or an architect, then this is the best course.!"

The concepts that you will be learning and implementing are:

  • Spring boot microservices

  • Clean Architecture

  • Hexagonal Architecture

  • Domain Driven Design

  • AI integration using Clean Architecture, Ports and Adapters, and Domain Driven Design principles

  • Order Note Interpreter AI assistant using Spring AI, OpenAI, Ollama, LLMs, prompt templates, system prompts, guardrails, and structured output

  • 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)


  • Ali Aminian: "I really like this course. Thanks Ali for complete description and professional coding. I really enjoy to participate this course."

To communicate with the data stores in microservices you will use Spring Data JPA for PostgreSQL, and Spring Kafka for Kafka.

You will be following a hands-on approach and  developing a project from scratch. You will have 4 microservices that communicate using events with Kafka as the event store.


  • r j: "This is an amazing course. An architect from my team recommended this to me and he's implemented something similar but bigger in our company, the biggest retailer on the planet."

You will also have multiple choice quizzes in each section to check your progress throughout the course.


  • Arindam Majumdar: "This course helped me immensely to understand the Domain Driven Design approach on Microservices. Its so far the best hands on course I have come across in Udemy so far. Many thanks to Ali. Great job!! :)"

At the end of the course you will understand how to run an event-driven microservices architecture with Clean and Hexagonal Architecture principles and with Domain Driven Design concepts. You will use Spring boot and Java to develop the microservices. You will also learn implementing architectural microservices patterns such as SAGA, Outbox and CQRS. In the end you will be able to deploy your application to Kubernetes on Google Cloud using Google Kubernetes Engine.  You will also learn how to add AI functionality effectively into an existing microservice using Ports and Adapters architecture. You will use Spring AI with OpenAI and Ollama and implement an AI assistant as a secondary adapter in Clean Architecture while using modern techniques such as prompt templates, system prompts, guardrails, and structured output.


  • Anurag tiwari: "Just started the course but i can already tell that this a good one Ali explains all the concepts like out box ,saga pattern so well. I would highly recommend this course for anyone who wants to take their knowledge about microservices to the next level using different patterns like hexagonal ,saga pattern. I would also recommend this course for beginners as youll learn a ton of stuff regarding microservices and patterns to create agile services as this course is very hands on"

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 or using the github links that I provided in the course resources. You can then use the provided source code to continue with the section.


  • Narendra Kumar A: "Its awesome course, I have ever come across in Udemy explaining the DDD, Clean architecture and usage of patterns concepts so cleanly."

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Ali Gelenler

Ali Gelenler, the founder of EA Algorithm, has been in the IT industry for 20 years, with hands-on experience in Software Engineer, Software Architect and Tech Lead positions. He holds a Master's degree in Computer Engineering and is highly experienced in Backend technologies in distributed environments, Performance optimizations, Java, Spring, Spring boot, Microservices, Architectural patterns, Web security, Database technologies, Cloud-based solutions, Kafka, Elasticsearch, AI engineering with Java and Spring AI.

He is currently working actively as a Senior Engineer and Technical Leader and has experience in the financial technology sector, content management sector, defense industry and government projects.

Ali also has a passion for teaching and mentoring and worked as an instructor in individual and group classes in various IT fields.

icon
More courses by Ali Gelenler

$84.99

$74.99

icon
More Java Spring Framework courses

$84.99

$84.99

$11.99

$10.99

$94.99

$109.99

icon
Reviews

4.6

3,476 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Daniel Martínez Salvador on 7/19/2026

Highly recommended course, I've learned a lot and you can tell there's real effort put into the content and how the concepts are explained. Two suggestions to make it even better: In the live coding sessions, I don't think it's always necessary to explain the full implementation in detail. Sometimes explaining just the essentials would be enough, and it would help keep a better pace. In the SAGA and Outbox Pattern chapters, I felt the design justifications were all explained at once at the beginning. I think it would be easier to follow if they were explained progressively, as each part gets implemented. Overall, very happy with the course and looking forward to future content. Thanks for the great work!

By Mae Xie on 5/21/2026

I would like to share my experience with this course because it has been one of the most valuable learning resources I have used for understanding microservices architecture and distributed systems. To be honest, I initially chose this course because of the open-source project behind it. When I reviewed the codebase, I was impressed by how well the business logic was separated from the technical concerns. The project is not overloaded with unnecessary business complexity, but at the same time, it successfully demonstrates the core ideas behind event-driven architecture in a distributed system. The way the project is decomposed requires a strong understanding of architectural boundaries and engineering trade-offs. It is a great example of how to design service boundaries, define responsibilities between different components, and build communication flows between microservices. Throughout the course, concepts such as CQRS, Saga, Distributed Transactions, Transactional Outbox, Kafka, and Spring-based microservices implementation are explained and demonstrated in a very practical way. Although the scale of the project is intentionally manageable for learning purposes, the quality of the implementation and the architectural principles applied are very close to production-level thinking. One thing I especially appreciate is that the course is not only about watching videos and following code. The Role Play approach, where we interact with AI to review and discuss fundamental concepts, provides another way to test whether we truly understand the architecture decisions behind the implementation. The complete project source code is publicly available, and Ali is continuously improving, updating, and refining the course content and codebase. Whenever questions appear, the response and feedback are provided very quickly, which makes the learning experience much better. This course has also had a very positive impact on my current System Design preparation. The knowledge from event-driven architecture, service communication patterns, and distributed consistency models has helped me think more clearly when designing large-scale systems. I would say this course is not simply a project-following tutorial. If your future career involves software architecture, backend engineering, or designing distributed systems, the architectural knowledge covered here is significantly deeper and more valuable than many similar courses available on the market. Thank you, Ali, for creating and continuously improving such a high-quality course. It has been a great learning experience and a very worthwhile investment of time.

By Ergin Gökkaya on 12/14/2025

I claim the project in the course is much better than some of the real world projects. And I am sure you won't hesitate to enroll the other course as just I did. One humble request from instructor: if possible, could you share requirement and design documents of the project so that we can follow up the coding parts more engaged.

By Anteneh Zebene on 9/13/2024

it was a bit complex and over my head sometime but still good to encounter these kind of patterns and approaches. the code structure also was my big takeaway from this course and totally transformed my programming view as well. Amazing Course!! looking forward to learn more from Ali!!!

By Marko Ilic on 2/17/2024

I finished the whole course and I must say that Ali did a great job explaining all the challenges that a developer faces with Microservice Event-driven architecture. This was also a great introduction to Clean Architecture and DDD, I will look these concepts up and try to implement them in my day-to-day work. One thing that I would recommend for future courses is to have a GitHub repository with the source code with commits and branches representing different sections and lectures withing those sections.

By Leonardo Leon on 9/3/2023

it has to much code and explain only with code, there are quite few images and debugging. The functionability is explained by the result of logs, I think that it would be better if he shows some debugging and see how the process flow. But it is good to have an idea of state of the art in Microservices

By L L on 8/7/2023

I am a beginner to microservices and searched extensively for the best Course for Microservices in Udemy and internet and my search ended at this course. I have successfully developed my first Micro Services application by practicing with Ali Sir. This is an amazing course on Microservices, various design patterns to handle transactions in microservices, microservices architecture, deployment of Microservices application and what not. Its an in depth course with tons of learning!! Teaching microservices in depth is not an easy task and Ali Sir had done that Great task !! Just enroll to this course without a second thought if you wanna learn microservices. Prerequisites to learn this course is "Focus" because you should listen to each and every word that he teaches. You cannot afford to loose even a single word. He teaches that informative. You can get hands on by practicing with Ali Sir. As a beginner to microservices, initially I faced bit difficulty to understand but I could understand by listening carefully to the things which I didnt understand. Focus is the Key to this course!! I am amazed for his patience to explain each and every thing in detailed. You can ask Ali sir any questions you may have and he clears each and every question!! In India we treat teacher as God - Guru Devo Bhava !!! Guru -is one who is heavy with knowledge and imparts that knowledge to people Devo - is God Bhava- is equal. Guru is equal to God!!! I dont know how to Thank Ali sir better than this. Thank you a million ton to Ali Sir for such a wonderful course!!

By Programming BuiTruyen on 7/14/2023

The "Develop Microservices Architecture using Spring Boot and Kafka" course is highly valuable to participate in because it provides essential knowledge about building microservices architecture. You will learn about concepts such as Clean Architecture, Hexagonal Architecture, and Domain-Driven Design (DDD), which help you understand how to design high-quality software. In addition, the course focuses on Apache Kafka, a distributed and real-time data streaming system. You will gain a solid understanding of Kafka's architecture and programming, utilizing it as an Event Store for event-driven services. The course introduces important architectural patterns such as SAGA, Outbox, and CQRS, expanding your knowledge and enabling you to apply them in building distributed systems. Furthermore, the course provides knowledge about Kubernetes and Google Kubernetes Engine (GKE), allowing you to deploy microservices on a cloud-native platform. However, to become a comprehensive course, it needs to supplement content on other important aspects of microservices architecture and deployment, such as version control management, logging, and monitoring. Adding information about integrating CI/CD tools like Jenkins for microservices deployment and management would be a significant advantage for this course. This will help students understand how to automate the build, testing, and deployment processes for microservices. The inclusion of content on read-write database for microservices would also be beneficial. Students can gain a solid understanding of database models like Database per Service, Shared Database, and Event Sourcing, as well as important decisions related to databases in microservices architecture. Overall, the course provides a solid foundation for building microservices architecture using Spring Boot and Kafka. However, supplementing content on Jenkins, database management, and other aspects will enhance the course and better meet the requirements of the students.

By Akanksha Joshi on 3/31/2023

I am amazed with learning this course provides on microservices. A big shout out and thank you to Ali for creating this course. I learned a lot while going through this course, be it design patterns, best practices or new features of java e.g. lambda, functional programming, streams.

By Mehmet Kaldirim on 12/11/2022

It was not easy for me to follow this course after less than a year programming experience. But at the end i understood the logic and patterns coz of the easy and clear explanation...A small tip for Ali , if you could share the code step by step with your commits in your Github instead as a zip file, It will be easier to follow you for us :)) . Especially people who try to follow your logic with difference project...Thank you for your efforts...

Showing all 10 reviews on CourseDuck

Read all 3,476 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100