Skip to content
Felipe edited this page Nov 24, 2021 · 2 revisions

Whats Included In This Repository#

This is a complete example of implementation of a microservices-based architecture made available for study. This source code was forked and adapted from the Repository course https://www.udemy.com/course/microservices-architecture-and-implementation-on-dotnet/?couponCode=AUGUST2021.

For more details about the application, please see https://github.com/aspnetrun/run-aspnetcore-microservices

In this version of fork, you will find the following features:

Deployment

I created the deployment code using:

  • Deployment to a local Kubernetes instance (Minikube), using Helm charts.
  • Installation of Istio as a service Mesh solution.
  • Using Lens for cluster management.

Observability

The following tools are availble using this deployment code:

  • Kiali : observability console for Istio with service mesh configuration and validation capabilities. It helps you understand the structure and health of your service mesh by monitoring traffic flow to infer the topology and report errors.
  • Jaeger : open source software for tracing transactions between distributed services. It's used for monitoring and troubleshooting complex microservices environments.
  • Prometheus and Grafana: Prometheus is free and an open-source event monitoring tool for containers or microservices. Grafana is a multi-platform visualization software available since 2014.
  • Elasticsearch and Kibana: Kibana is a data visualization and exploration tool used for log and time-series analytics and application monitoring. It uses Elasticsearch as search engine.
  • Healthchecks implemented in each microservices using AspNet Core health vhecks features.
  • Scaling (To be done)
  • HPA
  • Keda

Run the application using Docker

In order to run the application on the local machine, follow the original repository documentation.

Run the application using Local Kubernetes

Create your local Kubernetes Cluster

Minikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes. Follow the installation documentation below:

https://minikube.sigs.k8s.io/docs/start/

After the installation is finished with success, you should be able to see the Minikube pods running like this:

Create local Registry

Install Istio

Install Lens

Application Deployment

Using Ingress Controller