How We Improved Testing Processes Using Ephemeral Environment
Article Summary
Swiggy was missing production deadlines because their UAT environments were constantly unstable or unavailable. Sound familiar?
The Swiggy engineering team solved their testing bottleneck by ditching static UAT environments for ephemeral ones. They built EaaS (Ephemeral Environment as a Service) to spin up isolated, on-demand testing environments that live only as long as needed.
Key Takeaways
- Platform supports 150+ parallel ephemeral environments with 15 minute spin up time
- Weekend infrastructure costs dropped significantly with pay as you use model
- Each environment gets isolated VPC and dedicated resources per feature branch
- Governance via EEU units prevents resource hogging across teams
- Built on serverless AWS architecture using Lambda and API Gateway
Swiggy eliminated testing environment bottlenecks and reduced costs by replacing shared static UAT environments with automated, isolated ephemeral environments.
About This Article
Swiggy's UAT environments had data corruption issues and teams were competing for shared resources. Environments that should have been temporary kept running indefinitely because max TTL policies weren't enforced, which made it impossible to run parallel feature tests.
Mukesh Kabra's team built an Ephemeral Environment Units system (EEU = Max(1, TotalService/30, (Cost/hour)/10)) to distribute resources fairly across teams and enforce TTL limits so environments wouldn't pile up.
The on-demand provisioning model worked as expected, with consistent daily environment creation. Weekend infrastructure costs dropped noticeably compared to weekdays because teams only paid for what they actually used.