Shaheer-Microservices-CloudLab is a comprehensive cloud-native microservices repository designed for scalable, high-performance applications. This project integrates modern DevOps tools and methodologies to deploy and manage microservices efficiently using Kubernetes, Istio, and Terraform across AWS and Azure environments.
- Microservices Architecture: Containerized microservices deployed using Docker & Kubernetes.
- Service Mesh with Istio: Secure and manage microservices traffic efficiently.
- Ingress & API Gateway: Centralized traffic routing using Kubernetes Ingress.
- Cloud Agnostic: Supports AWS and Azure cloud providers.
- Infrastructure as Code: Uses Terraform for automated cloud resource provisioning.
- Monitoring & Logging: Prometheus for metrics and centralized logging.
- CI/CD Pipelines: Automated deployment with GitHub Actions & ArgoCD.
- Code is pushed to GitHub.
- CI/CD pipelines trigger builds and tests.
- Docker images are pushed to container registries.
- Kubernetes deploys microservices across cloud environments.
- Istio handles service-to-service communication.
- Prometheus monitors application health and performance.
Category | Tools |
---|---|
Containerization | Docker |
Orchestration | Kubernetes |
Service Mesh | Istio |
Traffic Management | Ingress, API Gateway |
Cloud Providers | AWS, Azure |
Infrastructure as Code | Terraform |
Monitoring | Prometheus |
CI/CD | GitHub Actions, ArgoCD |
- Docker & Kubernetes installed
- AWS or Azure CLI configured
- Terraform installed
- Helm package manager
- Clone the repository:
git clone https://github.com/Shaheer4636/Shaheer-Microservices-CloudLab.git cd Shaheer-Microservices-CloudLab
- Deploy infrastructure using Terraform:
cd deployment/terraform/aks # Change to EKS if using AWS terraform init terraform apply
- Deploy microservices to Kubernetes:
kubectl apply -f kubernetes-manifests/
- Set up Istio service mesh:
istioctl install --set profile=demo -y kubectl apply -f istio-manifests/
- Configure monitoring with Prometheus:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm install prometheus prometheus-community/prometheus
- Uses GitHub Actions for build automation.
- ArgoCD manages Kubernetes deployments.
- Helm charts ensure consistent deployments across environments.
- Prometheus collects and visualizes application metrics.
- Fluentd/ELK Stack provides centralized logging and alerting.
- Fork the repository.
- Create a feature branch.
- Open a pull request with detailed changes.
This project is open-source and available under the MIT License.