Domain Driven Design & Microservices for Architects (Udemy.com)
Learn how to build Microservices applications starting with business analysis and domain driven design
Created by: Rajeev Sakhuja
Last updated March 2023
What you will learn
- Domain Driven Design
- Architecting Microservices Application
- Design Patterns for building Microservices & Distributed systems
- Event Driven Architecture
- Developing API for Microservices
- Event Storming
- Develop a Business case for Microservices
Course Description
PS: Focus is on designing Microservices not coding
No specific Microservices framework in use
All sample code is in plain JAVA to demonstrate/clarify understanding of DDD patterns, etc.
Models are developed in UML - using the PlantUML tool
PostgreSQL/MongDB/RabbitMQ/Kafka - free instances created on the cloud for demos & walkthroughs
PLEASE Do NOT join the course if you are looking for tutorials on Microservices Coding or specific framework!!!
What is this course about?
Microservices is a new way of building software in which an application is composed of an independent set of services. The biggest benefit of Microservices is that it enables an organization to transform at a very rapid pace. This speed to market is achieved due to the independent nature of the services that make up a Microservices application. Companies like Amazon, Netflix and Etsy have proven the value of Microservices beyond doubt.
Many organizations today are looking to adopt Microservices. These organizations are investing in technologies, tools, skills and are changing their software development and delivery processes as well. But still many organizations are failing to achieve the full benefits of Microservices; in fact many organizations feel that they have created technical debt by adopting Microservices.
So why is it that some organizations have been successful in adopting Microservices while others are not. One common aspect I have observed in companies that fail to adopt Microservices is that they treat Microservices as a purely technology initiative. They do not spend time in understanding the business aspects of their Microservices applications !!!
Microservices is NOT just about technology
The key element of the Microservices architecture is that services are Independent. This independent aspect of the service is what makes it possible for Microservices to change independently of other services. If scope of the microservices is leading to inter-dependencies between services then it would lead to a need for change coordination between teams which in turn will lead to the same problems we have with Monolithic applications !!! Release cycles will be longer and there will be no benefit of the adoption of Microservices.
To ensure that these is no interdependencies between Microservices, a Microservices architect needs to understand the domain and then decide on the boundary and scope of the Microservices. This is where Domain Driven Design comes into picture. Once the Microservices business boundaries are defined the services should be built using appropriate Microservices design patterns and technologies.
Teams working on Microservices should not just look at the technical aspects of the service but MUST keep in mind that there are other considerations that play a critical part in the success of Microservices initiative. In order to
Role of a Microservices Architect
An IT professional working in the role of Microservices architect is responsible for may aspects depending on the maturity of Microservices adoption in their organization. Here are the list of activities that the architects is responsible for:
Evaluate the business benefits of Microservices for their specific organization
Build a Business case for Microservices
Educate the Business & IT stakeholders on pros/cons of Microservices
Apply Domain Driven Design to demarcate the boundaries of Microservices
Define the domain model for the Microservices
Do the technical design of Microservices
Guide and Mentor the Microservices teams
Evaluate the technologies | frameworks for the realization of Microservices
Build proof of concepts to show how things work
How will this course help?
This course will help developers & architects in building skills needed for successful implementation of Microservices applications. It consists of a combination of concepts, UML modelling and working code to demonstrate the implementation of Microservices. Students will learn the concepts of Domain driven design by way of common industry examples and a case study (ACME travels).
Focus is on Architecture, Design and Development of Microservices.
1. Transformation & Microservices
2. Domain Driven Design
3. Applying the DDD strategic & tactical pattern
4. Event Driven Architecture
5. Event Storming
6. Data Management
7. Messaging
8. Distributed Transactions
9. API
IMPORTANT:
Code Samples
Focus is on the Microservices design not coding.
All of the sample code is in plain JAVA
Course does NOT cover any specific framework
SpringBoot is used in samples for API/GraphQL section
Please check out the course preview lectures before enrolling the course.
Review the topics covered
Make sure you understand instructor's accent
Pre-Requisites
Basic understanding of JAVA or any other programming language
Some experience with software development practices
PS:
Hand on part is optional but students are encouraged to do hands on tasks to get a better feel of the design patterns.
Instructor Details
- 4.7 Rating
3,982 Reviews
Rajeev Sakhuja
I am a hands-on Information Technology consultant experienced in large scale applications development, infrastructure management & Strategy development in Fortune 500 companies. I have 20+ years of experience in IT industry; a passionate technologist who loves to learn and teach technologies.
(My day job) I partner with large enterprises to adopt AWS Cloud, Microservices, Databases, API, AI, Machine Learning & Blockchain. I hold all 11 AWS certifications.
In 2024, I have switched role to become a Generative AI specialist. In this new role I work closely with a number of startups that are working on cool solutions using Generative AI.
Since 2016, I have published 12+ courses on Udemy and other learning portals. Thanks to over 100K students worldwide for their continuous support and encouragement.
More courses by Rajeev Sakhuja
REST API Design, Development & Management (2020)
4.4 (13,767 Reviews)
Provider: Udemy
Time: 7.6h
$17.99
Ethereum : Decentralized Application Design & Development (2021)
3.7 (2,908 Reviews)
Provider: Udemy
Time: 11.7h
$74.99
Blockchain Development on Hyperledger Fabric using Composer (2020)
4.3 (2,278 Reviews)
Provider: Udemy
Time: 8.7h
$84.99
Generative AI Engineering: LLMs, RAG, and Agentic Systems (2026)
4.5 (1,568 Reviews)
Provider: Udemy
Time: 28.2h
$10.99
Hyperledger Fabric 2.x Network Design & Setup (2024)
4.4 (1,043 Reviews)
Provider: Udemy
Time: 13h
$79.99
More Java Spring Framework courses
Spring Boot Unit Testing with JUnit, Mockito and MockMvc (2026)
4.8 (4,042 Reviews)
Provider: Udemy
Time: 9.9h
$84.99
Spring WebFlux Masterclass: High-Performance Reactive APIs (2026)
4.8 (1,920 Reviews)
Provider: Udemy
Time: 13.3h
$84.99
Kafka MicroServices with Spring Boot, Docker, Kubernetes, AI (2026)
4.7 (6,864 Reviews)
Provider: Udemy
Time: 27.2h
$11.99
Microservices with Spring Boot, Spring Cloud, Docker & Kafka (2026)
4.7 (3,777 Reviews)
Provider: Udemy
Time: 42.1h
$94.99
Spring Boot Course: Learn Spring Boot & Build Web APIs (2025)
4.7 (3,377 Reviews)
Provider: Udemy
Time: 11.9h
$109.99
Spring Professional Certification Exam Tutorial - Module 04 (2019)
4.7 (1,018 Reviews)
Provider: Udemy
Time: 4.6h
$79.99
Reviews
By Exel Caraballo on 6/25/2026
The course links the requirements analysis, design, architecture, implementation and methods for testing. It also includes architectural thinking concepts for decisions on performance, tool selection and reliability. Lastly, it presents newer technologies that support the realization of microservices architectures with code examples and the how to explanations.
By Michał Srokowski on 12/23/2025
For someone with 10 years of experience, the knowledge imparted is very superficial. Furthermore, the references to Wikipedia instead of scientific sources seriously question the substantive value of this course.
By Pedro de Cos on 11/4/2025
Excellent course that provided invaluable insights into architectural design principles. I gained a comprehensive understanding of how Domain-Driven Design serves as the foundational element when designing an application architecture. This course has genuinely elevated my approach to software design and taken my skills to the next level. Thanks, Mr. Sakhuja.
By Anonymized User on 9/1/2025
This course is a fantastic and complete guide to Domain-Driven Design (DDD) and microservices. It covers pretty much everything you need to know in a way that’s easy to follow. The instructor talks clearly and makes the concepts simple to understand. The real-world examples really help bring the ideas to life. If you’re looking for a one-stop course on DDD, microservices, and event-driven design, this is definitely the one to go for!
By Júlio Augusto Groth on 10/7/2023
Good overview. The approach is not too deep, making it possible to have a first contact with the content without it being overwhelming or tedious.
By Raj Kumar on 9/11/2022
This is a great insight on the use of strategic and tactical DDD patterns as well as insights into various microservices patterns. All in all the course is good, if you really listen it carefully and prepare notes..
By Anonymized User on 6/10/2022
Comprehensive overview of DDD/microservices concepts & patterns for system analysts in the DDD project. Strategic and tactical patterns that analyst should be aware of to provide the best support for other project teammates. Obviously code samples might be out of the scope of interest for most analysts.
By Ky Pham on 4/25/2022
Very good walkthru on DDD and microservices design from the architectural design and expectation. The course was packed with a lot of information. In order to fully understand, I spent 2 weeks digging the code. I recommend it is a good start to get your hands dirty
By Oussama H. Zarif on 12/4/2021
Great! The course is very detailed. Instructor explained every aspect in depth with examples. Very recommended course.
By Anonymized User on 10/18/2021
This course showed me that there is still much knowledge I am unknown to. I felt that this course was a great way of getting intel on a variety of aspects within DDD & Microservices. I've written out a whole heap of notes where I can look back at and revise to check on where I need to do further research in to. This course was a great balance of giving the right amount of information out where you then provided us with links to dig deeper in to what it is about in our own time. Thank you.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 94 / 100












