Faster test environments
On-demand test environments took over 25 minutes to come up. I rebuilt them to start from prebuilt TeamCity images with LocalStack standing in for AWS, then moved them off Jenkins.
About 5 minutes to a working environment, with Q3 cost down 22.0% year on year.
- 25+ → 5minutes to a working environment
- 22.0%lower Q3 cost, year on year
- 67Jenkins jobs moved or retired
- 3,856deployments in Q4 2025
Context
Teams shared one staging environment, which blocked parallel testing. Adding an app took several pull requests and workspaces ran on a fixed timer.
What I did
- Started workspaces from TeamCity images in ECR and removed the Maven build stages, taking provisioning from 60+ minutes to 33. Onboarded 7 services.
- Added LocalStack builds as a deployment profile. Teams add AWS resources with init scripts that run once LocalStack is ready. A serverless deploy inside a workspace went from 12 minutes to about 7.
- Moved the environments off Jenkins onto the internal deployment system in one cutover and announced the beta at a tech talk with a live demo.
- Turned off AWS-backed workspaces, which created about 13 DynamoDB tables each, so workspaces deploy to LocalStack only.
- Added auto-destroy for idle workspaces.
Diagrams
Internal deployment system
Workspace in about 5 min
Idle auto-destroy
Jenkins jobs
Workspace in 25+ min
Fixed timer