joebew42/study-path

Session 9 about DDD and Microservices

Closed this issue ยท 14 comments

I would like to create a the 9th session that will cover the part about Domain-Driven Design and Microservices.

I think I'll go to use these references for the main theory section:

Then, I would like to add some videos, also, in order to give a more comprehensive description and explanation of the theory.

I want to keep focus about the practice, too. So, I'm going to think about some exercises to suggest during the study.

I am a bit confused and right now I have no idea if topics regarding DDD (domain driven design) can be added in this session. Microservices inherits concepts from DDD, like Bounded Context and others. What do you think? Can we use the session about Microservices to give some insights on DDD also?

Any ideas about the organization of this week are welcome! Thank you all ๐Ÿ˜„

DDD would deserve decent amount of time to grasp certainly not a single week.

Also, I may want to change verbiage from "Week" to "Month" because there it's impossible for somebody to really learn/read all of these materials in a week.

I think the best word is "session", because time needed for each part may vary and depend on people who follow the study path. Some may need only one week for a part, while others may need 2 weeks or a month as you say, svlada.

Thanks to all for the observations, I agree with you all about the "wrong" term: week. Maybe the term "session" makes better the idea (I've created a separate issue to keep track of it).

@svlada The idea is to extract the main concepts behind each topics (e.g. DDD or Microservices) and then let the person decide if or not to go in depth with. The good part here is that he or she can easily access to the references: books, blog posts, articles or videos, etc.

@joebew42 what about this video? I think it could work as a light introduction to the topic. InfoQ link here. There are also a couple of good videos by Sam Newman on vimeo.

@pdincau Absolutely! If you have more videos about the topic, please post them here ๐Ÿ‘

In the meanwhile I found and started to read this book: Domain-Driven Design Quickly. I think it can be used as introduction material for Domain-Driven Design topics, just to give the person who follows the study path a well and organized overview about domain-driven design. In this book there also a lot of references for the main two books:

There are a lot of topics in DDD which are needed to better understand Microservices, so I think that the session could be renamed in "Domain-Driven Design and Microservices"

New interesting material about Microservices Architecture:

  • The Reactive Manifesto to put in the Getting Started section
  • Reactive Microservices Architecture: it is a free mini book regarding the The Reactive Manifesto principles applied to the world of Microservices
  • Lagom: it is a framework for reactive microservices, it can be used to do some exercises (we could mention other similar microframework, like Dropwizard.io et similia).

There are a bunch of videos available on youtube with Fred George on (mostly) asynchronous microservices: https://www.youtube.com/results?search_query=fred+george+micro+services

This one in particular I have watched and can recommend: https://www.youtube.com/watch?v=yPf5MfOZPY0

Currently watching this one: https://www.youtube.com/watch?v=YRyXyn-DVjU (haven't done that yet) and will give a feedback on it later, so far looks very promising.

Currently watching this one: https://www.youtube.com/watch?v=YRyXyn-DVjU (haven't done that yet) and will give a feedback on it later, so far looks very promising.

This is really really good. Not necessary for this session though, since it talks about higher-level topics on the bridge between development and business.

@joebew42 also this one is good!

@joebew42 maybe also this one about BFF is a good resource.

At the end, guys, I've decided to put a new session (the session 8) about Domain-Driven Design, without considering the world of microservices* at the moment. The current session 8 will be renamend in session 9. I think in the next hours I'll make public the new session.

  • TL;DR; Although Microservices and DDD have different topics in common, and we can say that DDD gives us a better approach to microservices (a better expression of the domain through the code), DDD and Microservices are not strictly related. I would like to dedicate a session to microservices, with greater focus on the culture rather than the technicalities. We'll discuss about that in other issue.

@joebew42 seems reasonable! ๐Ÿ‘