Complete Reference of Microservices

Hi Guys,

I am delighted to share with you the launch of my Microservices series, “Complete Reference of Microservices” which covers all the essential details of Microservices, from learning to implementation. The series is comprised of six courses, each focusing on a specific aspect of Microservices, along with a free course on clean architecture, which provides a brief introduction to clean architecture in practice. Here is the link to the free course, “Getting started with Clean Architecture using .Net Core” which teaches the fundamentals of Clean Architecture at a high level. After mastering the basics, you can delve into the following topics from scratch. I am offering the first 100 licenses for all six courses for free on a first-come, first-served basis. Please find the links to each course below.

1. Creating .Net Core Microservices using Clean Architecture

2. Securing Microservices using Identity Server 4

3. Implementing Cross Cutting Concerns

4. Versioning Microservices

5. Building Angular Application for MicroServices

6. Deploying Microservices to Kubernetes and AKS

Microservices refer to a design approach where an application is built as a collection of separate, autonomous modules that communicate with one another through clearly defined interfaces. This methodology simplifies the development, testing, and deployment of individual components of the application, allowing for greater flexibility and isolation.

Here, in the entire course you will be implementing below architecture from blank slate.

The diagram illustrates the interconnectedness of various technologies that you will be exploring in this course. In the first edition, you will start by creating all the necessary Microservices using Clean Architecture. These services will be backed by different databases, resulting in a polyglot system. Each service will be containerized, enabling independent hosting. Once the Microservices are implemented, you will move on to the implementation of a Message Queue, in this case, Rabbit MQ. During the checkout process, the basket API will put a message in the queue, which will then be consumed by the ordering API. All of these services will be situated behind the Ocelot API Gateway, which will be responsible for receiving traffic from the UI and routing requests to the downstream services accordingly.

In the second edition, we will be securing the Microservices using Identity Server 4 via open Id flow. Here, you will be learning all different concepts like how

  • Open Id flow works,
  • How JWT authentication works
  • How token exchange happens
  • How to create multiple clients for different scenarios
  • How to secure services at scope level
  • How machine to machine flow happens and many more things

In the third edition, you will be implementing Cross Cutting Concerns where in you will be doing following things say

  • Implementing Default Logging
  • Implementing Seriloging
  • Implementing Logging to Console
  • Logging Application Messages
  • Logging Exception Messages
  • Structuring Logging Messages
  • Implementing ELK stack
  • Implementing Custom Correlation Id Generator and many more things

Then in the fourth edition, you will be implementing API Versioning, where in you will be implementing variety of things say

  • Understanding different Versioning Strategy
  • Implementing Header API Versioning Strategy
  • Implementing Routing Strategy
  • Implementing Query string strategy
  • Implementing Media Query strategy
  • Combining all these strategies
  • Creating a V2 version of Checkout Method
  • Supporting multiple clients with different versions
  • And many more things

Then in the 5th edition, you will be implementing angular edition of this course where in you will be first creating the angular structure of the code based on feature modules. Then you will be implementing below things

  • Creating feature modules
  • Creating shared modules
  • Creating core modules
  • Implementing lazy loding
  • Implementing Home component
  • Implementing Basket component
  • Implementing Product component
  • Implementing Error Interceptors
  • Integrating Identity Server
  • And many more things

Finally, the sixth edition of the course focuses on deploying all Microservices into their respective Kubernetes clusters. Initially, the Microservices will be deployed into a local Kubernetes cluster, and then into the Azure Kubernetes Service. Additionally, all custom images will be stored in the Azure Container Registry. Throughout this process, the following actions will be performed.

  • Implementing Deployment for Catalog
  • Implementing Service for Catalog
  • Implementing ConfigMap for Catalog
  • Creating Secret for Catalog.

Initially, we will demonstrate how to accomplish basic tasks, such as those mentioned above, using the traditional YAML file approach. Afterwards, we will transition to deploying all assets to the AKS using Helm Chart. During this process, we will perform the following tasks.

  • Implementing Catalog Helm template
  • Implementing Basket Helm template
  • Implementing Discount Helm template
  • Implementing Ordering Helm template
  • Implementing Infrastructure Helm template
  • Enabling Azure Login locally
  • Merging AKS credentials with local kube config

Once we have completed the above tasks, we will proceed with enabling Service Mesh using Istio. To assist with the various activities involved in this process, we will utilize a tool called Kubernetes Lens throughout the course. By using this service mesh, Sidecar will be injected into your Pods to enable cross-cutting concerns without any coding effort. Additionally, you will be able to visualize real-time monitoring using Kiali, Grafana, and Prometheus dashboards. This is just a glimpse of the entire Microservices journey, and you will learn many other concepts, including the implementation of different design patterns and applying best coding practices.

Below, I have pasted one image, which gives the glimpse of different technologies which you guys are going to bring under one umbrella during this journey.

Code Structure – Server Side

Code Structure –  Client Side

Deployment Structure


Clean Architecture:-

I hope you all will enjoy the entire series. I kindly ask for your support in the form of a high rating, which would inspire me to create similar courses in the future. Positive ratings serve as an encouragement for me to produce more valuable content for you in the future. I will also keep updating these courses as and when new and stable framework announces. Plus these courses will receive additional modules as well in coming days. Hence, stay tuned for that.

For those who are having, Udemy for Business License, this course may take some time to become available there. However, in the meantime, you can request your admin to import these courses into your learning plan. They will be able to assist you with this process.

Happy Learning

Also published on Medium.

Thanks, Rahul Happy Coding