Microservices Fundamentals
I'm really pleased to announce that my latest Pluralsight course "Microservices Fundamentals" has been released. This course takes you on a journey through some of the key decisions you'll need to consider when adopting a microservices approach, starting with architecting microservices, then onto building, securing and delivering microservices, as well as looking at options for communication between microservices.
Of course, that's a lot of ground to cover in just over two hours, so I can't go into great depth on any one topic in particular, but I hope it will prove helpful for teams considering microservices to make decisions on which principles and practices are a good fit in their context.
To be honest, it is quite a daunting task to produce training course on a topic as broad-ranging as microservices. There isn't one tech stack or even one set of architectural patterns that microservices require you to adopt. I'm also well aware that there are many tools and techniques for building microservices that I've never used, so my focus in this course is sharing some of my experience (both good and bad) of attempting to adopt microservices. I've learned a lot over the last few years, but there's a lot more to learn, and the whole area of microservices is experiencing rapid change with lots of innovation like the recently announced dapr project.
I wanted to illustrate what I was teaching in the course by referring to a sample microservices application, and I settled on the idea of using the eShopOnContainers reference microservices application from Microsoft. This is an open source project that illustrates a wide variety of the techniques and approaches that I wanted to discuss in the course. The sample application uses ASP.NET Core and Docker, but of course neither are requirements for microservices, so my focus is less on the specifics of the code and more on the architectural choices and patterns. It does however serve as a great illustration of how containerizing your microservices greatly simplifies the task of getting things running locally.
Anyway, I hope you find the Microservices Fundamentals course helpful if you're considering adopting microservices. I'd love to hear your stories of the challenges and successes you're having with microservices, and what your feedback about the course. I'm also hoping to contribute a follow-up course in the Pluralsight microservices learning path, so watch this space for further updates.
Comments
Yes, we do need more courses on the microservices, especially using .Net Core.
Luis A.One thing I've found from working on a bunch of different systems built around microservices is that the boundaries are never quite as clear cut as they start out being. I've thought about writing about it a bit myself, but found that the advice was very specific to certain situations, and wasn't applicable at large. I'd be interested to see you explore that some more.
Marc RoussyYou're right, getting service boundaries right is hard. To get it right you need (1) lots of experience in applying principles of DDD, (2) really great knowledge of the business domain (3) knowledge of what future direction the system is likely to evolve in.
Mark HeathSo the reality is that for many systems, the boundaries will need some adjustment as the system evolves.