🌐 Live Web Application (AWS LoadBalancer):
👉 http://adbb9281a779540bbacc285709adc28e-f81c61bb27b9f436.elb.us-east-1.amazonaws.com
🐙 GitHub Repository: https://github.com/sonivishal66666/Production-grade-cloud-platform
CloudForge Platform is a production-grade, highly available, self-healing cloud native infrastructure hosting containerized microservices on AWS Elastic Kubernetes Service (EKS v1.30).
The entire platform is provisioned via Terraform Infrastructure as Code (IaC), managed through Kubernetes Manifests, and updated automatically via a GitHub Actions CI/CD Pipeline.
- 🛡️ Zero-Touch IaC Provisioning: Multi-AZ VPC, subnets, NAT Gateway, ECR Repositories, and EKS Cluster (
v1.30) automated via Terraform. - 🩺 Self-Healing Compute: Automatic liveness/readiness health checking and instant pod recovery upon failure.
- ⚖️ Horizontal Pod Autoscaling (HPA): Dynamically scales application microservices from 2 to 10 replicas based on real-time CPU load metrics.
- 🚀 Automated CI/CD: End-to-end delivery pipeline via GitHub Actions for static code analysis, Docker builds, and AWS ECR image pushes.
- 🎭 Interactive Chaos Engineering Testbench: Embedded visual testbench for simulating container crashes (
Kill Pod) and traffic spikes (Surge CPU).
The architecture is built for High Availability (HA) across multiple Availability Zones in us-east-1.
graph TD
User([👤 Client User]) -->|HTTP Port 80| ALB[AWS Application Load Balancer]
subgraph VPC ["AWS VPC (us-east-1 Multi-AZ)"]
ALB -->|Route| Ingress[NGINX Ingress Controller]
subgraph Public_Subnets [Public Subnets]
NAT[NAT Gateway]
IGW[Internet Gateway]
end
subgraph EKS_Cluster ["AWS EKS Cluster v1.30 (Private Subnets)"]
Ingress -->|Path /| Frontend[💻 Frontend UI - NGINX]
Ingress -->|Path /api| Backend[🐍 Python Flask API]
Backend <-->|Metrics| Prometheus[📊 Prometheus / Metrics]
HPA[⚖️ Horizontal Pod Autoscaler] -.->|Scale Signal| Backend
end
end
Backend -->|Outbound AWS API Calls| NAT
| Layer | Tooling | Technical Rationale |
|---|---|---|
| Infrastructure as Code | HashiCorp Terraform | Modular infrastructure definitions with remote S3 state storage & DynamoDB state locking. |
| Cloud Provider | AWS (Amazon Web Services) | Multi-AZ VPC, EKS, ECR, IAM, NAT Gateway, and Application Load Balancer. |
| Orchestration | AWS EKS (Kubernetes v1.30) | Managed Kubernetes control plane providing fault tolerance and container scheduling. |
| CI/CD Pipeline | GitHub Actions | Automated linting, testing, Docker image building, and push to AWS Elastic Container Registry. |
| Ingress Control | NGINX Ingress Controller | High-performance path-based routing (/ -> UI, /api -> Flask API). |
| Observability | Prometheus | Real-time metrics scraping (/metrics) and cluster health monitoring. |
The Application CI/CD pipeline runs automatically on every commit pushed to main:
[ Git Push ] ➔ [ Lint & Static Analysis ] ➔ [ Docker Build ] ➔ [ Push to AWS ECR ] ➔ [ Kubernetes Rollout ]
- Lint & Test: Runs
pylintstatic code analysis on the Python backend API. - Build & Tag: Builds lightweight container images tagged with the commit SHA and
:latest. - AWS Authentication: Authenticates to AWS ECR using GitHub Repository Secrets.
- Push & Deploy: Pushes images to AWS ECR repos (
backendandfrontend).
.
├── .github/workflows/ # GitHub Actions CI/CD Pipeline definitions
│ ├── ci-app.yml # Application CI/CD workflow
│ └── cd-infra.yml # Infrastructure CD workflow
├── app/
│ ├── backend/ # Python Flask REST API microservice
│ ├── frontend/ # NGINX static web application & Mission Control UI
│ └── kubernetes/ # Kubernetes Manifests (Deployments, Services, ConfigMaps, HPA)
├── infra/
│ ├── terraform/ # Infrastructure as Code
│ │ ├── modules/ # Reusable modules (VPC, EKS)
│ │ └── environments/prod/# Production terraform definitions & remote state
│ └── ansible/ # Bastion host playbooks
└── scripts/ # Helper deployment scripts
- AWS CLI v2 (
aws configurewith valid credentials) - Terraform v1.6+
kubectl(v1.30+)
cd infra/terraform/environments/prod
terraform init
terraform apply -auto-approveaws eks update-kubeconfig --region us-east-1 --name prod-furever-clusterkubectl apply -f app/kubernetes/kubectl get ingressThe Mission Control UI includes an interactive Chaos Engineering Testbench to validate cluster resilience:
- 💥 Kill Pod: Simulates a container crash. Kubernetes liveness probes detect the failure and spin up a replacement pod in ~4.5 seconds without downtime.
- ⚡ Surge CPU: Simulates a synthetic traffic burst. CPU usage spikes to 94%, triggering the Horizontal Pod Autoscaler (HPA) to automatically scale replicas from 2 to 5.
- 🔄 Reset Normal: Resets CPU load back to 35% and scales replicas back down to baseline.
Developed for production-grade cloud platform demonstrations.
Created & Maintained by Vishal Soni (@vishalsoni18).