Application workload
React/Vite provides the storefront while FastAPI exposes product, checkout, order, health, build-info, and metrics behavior used during deployment and load validation.
React · Vite · FastAPI · DockerAn end-to-end flash-sale system built to validate Kubernetes autoscaling, GitOps delivery, observability, and high-load behavior under production-style traffic.
Testing whether a cloud-native delivery system can build, sync, observe, and scale an e-commerce workload under flash-sale traffic.
FlashScale is an e-commerce-at-scale engineering project built around a React/Vite frontend, FastAPI backend, AWS EKS, Jenkins, ECR, ArgoCD, Terraform, Prometheus, Grafana, and Locust. The application gives the infrastructure something real to deploy and stress while the project validates CI/CD, GitOps, blue/green behavior, observability, and horizontal pod autoscaling.
Autoscaling and GitOps are easy to describe on a diagram but harder to prove as a connected system. The goal was to validate the whole path: code becomes an image, deployment state moves through GitOps, Kubernetes runs it behind ingress, monitoring can explain its behavior, and HPA actually reacts when load drives CPU beyond the configured target.
I worked across the application and platform path: containerizing the React/FastAPI workload, provisioning AWS/EKS infrastructure with Terraform, creating Jenkins build/deploy automation, integrating ECR and ArgoCD, configuring Kubernetes resources and HPA, deploying Prometheus/Grafana, writing Locust traffic scenarios, and debugging the failures that prevented metrics and scaling from working correctly.
React/Vite provides the storefront while FastAPI exposes product, checkout, order, health, build-info, and metrics behavior used during deployment and load validation.
React · Vite · FastAPI · DockerJenkins builds container images and pushes them to Amazon ECR, carrying build/deployment metadata into the release path.
Jenkins · Docker · AWS ECRThe pipeline updates Kubernetes manifests in Git, and ArgoCD reconciles that desired state into the EKS cluster rather than Jenkins directly becoming the long-term deployment authority.
GitHub · ArgoCD · Kubernetes manifestsEKS runs the workload behind ingress/ALB. Resource requests and metrics-server allow HPA to scale backend replicas between the configured minimum and maximum under CPU pressure.
AWS EKS · ALB · HPA · Metrics ServerLocust generates flash-sale traffic while Prometheus and Grafana expose CPU, memory, replicas, targets, and HPA behavior needed to validate the experiment.
Locust · Prometheus · GrafanaJenkins is responsible for building and updating desired state, while ArgoCD performs cluster reconciliation. This separates CI work from continuous deployment and leaves deployment intent visible in Git.
The backend exposes build metadata so blue/green validation can identify the running version and color rather than relying only on pipeline logs.
CPU requests/limits, metrics-server, Prometheus visibility, and Locust traffic are all required for an HPA claim to be meaningful. The project validates the scaling event under load instead of just committing an HPA YAML file.
Prometheus target discovery, kube-state-metrics ports, Grafana datasource configuration, application metrics, and Kubernetes metrics availability were debugged until the monitoring path could explain the runtime.
Kubernetes service discovery and target configuration had to be corrected before cluster and application metrics were trustworthy.
Metrics-server and its cluster configuration were missing from the autoscaling path; installing and configuring it restored the metrics HPA depends on.
HPA needs resource requests to calculate utilization. Adding CPU/memory requests and limits made the percentage-based target meaningful.
FastAPI needed explicit Prometheus instrumentation and Grafana needed the correct in-cluster datasource/service configuration before dashboards reflected the workload.
FlashScale is backed by a public GitHub repository. The case study reflects its documented EKS architecture, Jenkins/ArgoCD delivery flow, HPA configuration, Locust validation, monitoring stack, and recorded debugging work.
← BACK TO SELECTED WORK