Scalable infrastructure on Kubernetes
Deployed the platform to Kubernetes: autoscaling under load, CI/CD pipelines, zero-downtime deploys. Reduced hosting costs while handling growing traffic.

Challenge
The platform ran on two dedicated servers. During lunch hours traffic spiked 5-7x, the server choked, users got 502 errors. Deploys meant SSH, git pull, restart pm2 - 30-40 minutes of manual work with downtime. Horizontal scaling on bare metal was basically impossible.
Technical details
Solution
I containerized everything in Docker - multi-stage Dockerfiles shrank the Node.js image from 1.2 GB to 180 MB. Set up a managed Kubernetes cluster with three nodes, split into separate deployments: API, workers, SSR frontend. Configured HPA (Horizontal Pod Autoscaler) - pods scale up automatically under load and shrink back when it drops. GitLab CI/CD: merge to main triggers image build, registry push, and a rolling update in the cluster. Full deploy is automatic, 3-4 minutes from merge to production.
Result
Zero-downtime deployment via rolling updates. During peak hours the cluster auto-scales from 3 to 8 pods. Infrastructure costs dropped 30% - paying for actual usage instead of peak capacity 24/7. Rollback is one command, 30 seconds.