-
Notifications
You must be signed in to change notification settings - Fork 9
Home
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:
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.
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
In order to run the application on the local machine, follow the original repository documentation.
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: