Domain Driven Design & Microservices for Architects

Learn how to build Microservices applications starting with business analysis and domain driven design

4.45 (2261 reviews)
Udemy
platform
English
language
Software Engineering
category
instructor
Domain Driven Design & Microservices for Architects
19,001
students
12.5 hours
content
Mar 2023
last update
$74.99
regular price

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

Why take this course?

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.

Screenshots

Domain Driven Design & Microservices for Architects - Screenshot_01Domain Driven Design & Microservices for Architects - Screenshot_02Domain Driven Design & Microservices for Architects - Screenshot_03Domain Driven Design & Microservices for Architects - Screenshot_04

Reviews

Serafim
October 3, 2023
Rajeev delivers a complex subject in a simple manner that makes the whole course very interesting. The lectures are presented in a no-way boring manner. I appreciate the way Rajeev teaches this subject. Thank you Rajeev!
Deepak
September 28, 2023
So far, it seems to be exactly what I was looking for. The tutor's communication and language is excellent. Thanks.
Felix
September 20, 2023
I expected the course to be mainly about Microservices but these are only a small part of the much bigger topic of Domain Driven Design, so I find the title very misleading. The pacing of the course is almost sleep inducing and very dragging
Rainer
September 12, 2023
Some interconnections in content between Business Model canvas and DDD and also Event Storming and DDD are missing. The modules are more or less standalone.
Eric-marie
July 24, 2023
They are errors on transcription. Then with the accent it is not easy to understand all words. Transcription Section 4 - 15 is in chinese language...
Bapy
July 20, 2023
Excellent course - this course provided me a pretty good understanding on how to implement DDD on Microservices based applications. I liked the way various design patterns were discussed and compared with respect to DDD in this course. Sample Code and the relevant use cases were helpful to understand the complexity of designing a distributed application. I highly recommend this course to someone who is new to DDD and has some exposure to microservices.
Eric
July 6, 2023
Es un curso muy interesante... La parte teórica del DDD se me hizo muy fácil de entender como Business Analyst que soy. La parte técnica de los microservicios y el código se me está complicando un poco más pero igual estoy aprendiendo muchísimo.
Neil
June 26, 2023
This is a very comprehensive course that covers all the required material, however, the pace is very slow and hard to maintain focus on. Many points are overly explained and then others are glossed over quite quickly. The tutor speaks at an irregular pace, which makes it hard to concentrate on what is being said and also makes it difficult to set the playback speed to a suitable pace. Overall I got value from the course, but it was very boring and frustrating to get through.
Marco
June 7, 2023
I think I had a prejudice when I took this course. I've already read some books about DDD and microservice architectures. I think the lecturer makes a good job explaining the topics, but I learned the same reading a book by two hours. I think the course could have been shorter and having a better quality. But, maybe, it is because I had the understanding of most of the topics, so it was really slow to me. If you are new to DDD and microservices this could be a good course, but if you have a good background of the topics the course could turn to be tedious as you progress, if you want a more straightforward approach read the book Domain Driven Design Quickly and if you want to have a deep understanding of course the Book by Eric Evans. Nevertheless I recommend heavily this course if you now nothing Jon Snow.
Domenic
June 1, 2023
I enjoyed the course as it goes through a lot of important topics on designing microservices. It also provides additional materials and references for further studies.
Marcio
May 16, 2023
I'm a Python developer and this course so far has is Java centric. It will limited my interaction in the course. I will try to adapt the examples, but I don´t know if I will succeed
Alex
May 15, 2023
C'est le meilleur cours pour comprendre les notions du DDD, avec un exemple bien pratique qui m'a aidé dans mon expérience
Marcelo
May 7, 2023
I am excited to share that I have recently completed the course "Domain Driven Design & Microservices for Architects"! Throughout the course, I gained valuable insights into various concepts related to designing and developing microservices-based applications. I learned about the importance of Domain Driven Design and its impact on architecting Microservices applications. I also gained knowledge about various design patterns that are essential for building robust and scalable Microservices and distributed systems. The course also covered Event Driven Architecture and how it can be leveraged to build reactive and responsive Microservices applications. I got hands-on experience in developing APIs for Microservices and learned about Event Storming, which is a powerful technique for modeling complex business processes. Finally, the course helped me to develop a Business case for Microservices, which is a critical skill for any architect or developer working on Microservices-based applications. Overall, the course was an enriching experience that equipped me with practical skills and knowledge to design and develop Microservices-based applications using best practices and industry-standard tools and techniques.
Rafal
May 1, 2023
Course is well prepared and thorough although it might be a bit more engaging. But in overall it's a good course, I can recommend it.
Viju
April 3, 2023
It's really very thorough and engaging course. Every aspect of DDD has been explained very neatly and with usage of examples in very detailed

Charts

Price

Domain Driven Design & Microservices for Architects - Price chart

Rating

Domain Driven Design & Microservices for Architects - Ratings chart

Enrollment distribution

Domain Driven Design & Microservices for Architects - Distribution chart
3990068
udemy ID
4/18/2021
course created date
5/7/2021
course indexed date
Bot
course submited by