The Cloud-Native Microservices Platform is an exemplary project demonstrating a modern approach to building and deploying scalable, resilient applications using Kubernetes, Docker, and various CI/CD and monitoring tools. This platform is designed to showcase best practices in cloud-native development, including microservices architecture, containerization, automated deployments, and observability.
- Microservices Architecture: Modular design for easy maintenance, scalability, and resilience.
- Kubernetes Deployment: Leveraging Kubernetes for orchestration, scaling, and management of containerized applications.
- Automated CI/CD: Using GitHub Actions for continuous integration and delivery workflows.
- Monitoring and Logging: Integration with Prometheus, Grafana, and the EFK stack (Elasticsearch, Fluentd, Kibana) for monitoring and logging.
- Docker
- Kubernetes cluster (Minikube, Docker Desktop, or a cloud provider-managed Kubernetes service)
- Helm (optional, for easier deployment management)
- Git
git clone <repository-url>
cd cloud-native-microservices-platform
Optional: This step is optional if you're using pre-built images.
To build Docker images for each microservice, navigate to the microservice directory and execute the following commands:
docker build -t <your-registry>/<service-name>:<tag> .
docker push <your-registry>/<service-name>:<tag>
For each microservice and infrastructure component (Prometheus, Grafana, EFK), apply the Kubernetes manifests or use Helm charts:
kubectl apply -f infra/kubernetes/dev/<service-deployment-file>
helm install <release-name> infra/helm/<service-chart>
Access the microservices through their Ingress URLs or service NodePorts.
Access Grafana dashboards for monitoring at http://<grafana-service-ip>:3000
.
Access Kibana for logs at http://<kibana-service-ip>:5601
.
For detailed instructions on interacting with the microservices, deploying changes, and using the monitoring and logging setup, see the Usage Guide.
See the Setup Instructions for details on setting up your local development environment and the CI/CD Pipeline configuration for automating builds, tests, and deployments.
For an overview of the platform's architecture, including the microservices and infrastructure setup, refer to the Architecture Document.
This project is licensed under the MIT License - see the LICENSE file for details.