Your non-prod is bigger than you think
The Lizrd team · · 3 min read
Everyone optimizes production. It’s where the traffic is, where the pages come from, where attention naturally goes. Meanwhile, in the accounts nobody’s watching, your non-production footprint — CI, staging, dev, preview environments — is quietly running around the clock at production sizes, delivering value roughly 40 hours a week and billing 168.
For a lot of organizations, non-prod is 30–60% of the total cloud bill. It’s the single most reclaimable pile of spend most teams have, and it’s overlooked precisely because it isn’t customer-facing.
Two forms of waste, stacked
Non-prod carries the same over-provisioning as prod plus a second layer prod doesn’t have:
- It’s the wrong size — staging mirrors production’s instance sizes out of habit, even though it serves a handful of engineers, not real load. Classic rightsizing territory.
- It’s on when nobody’s there — this is the one unique to non-prod. A dev environment doesn’t need to exist at 3 a.m. on a Sunday. Running full-size, 24/7, for a workload that’s used during business hours is paying for ~130 idle hours every week.
Schedule it off
The highest-leverage non-prod change isn’t resizing — it’s a calendar. Stop or scale non-prod resources outside working hours and you cut their cost by more than half with zero impact on anyone, because nobody was using them:
# dev/staging autoscaling — don't pay for nights and weekends
- min_size = 3 # 24/7
+ min_size = 0 # scaled to zero off-hours; scheduled up 8am weekdays
A scheduler that scales non-prod to zero on nights and weekends is often the biggest single line-item win available, and it’s reversible by definition — it scales right back up in the morning.
Make environments ephemeral
The next step up: stop treating non-prod as permanent infrastructure. A preview environment per pull request that’s created on open and destroyed on merge costs money only while the work is live. A staging environment spun up for a test run and torn down after bills for minutes, not months. Ephemerality turns a fixed cost into a variable one that tracks actual use — the cloud’s core promise, finally applied to the environments that need it most.
Right-size what stays
Whatever must run continuously — a shared integration environment, a long-lived staging — should still be sized for what it is, not for a copy of prod. A staging database serving five engineers does not need production’s memory. The evidence-driven approach is identical to prod; it’s just applied to an account nobody thought to look at.
The blind spot is the opportunity
Non-prod waste survives for one reason: attention goes to production, and nobody owns the second look at the environments that aren’t on fire. The spend is enormous, the risk of trimming it is near-zero (it’s not customer-facing and it’s reversible), and it’s sitting unwatched.
That’s exactly the kind of overlooked, low-risk saving Lizrd is built to surface — it reads utilization across all your environments, flags the non-prod resources that are oversized or running when idle, and proposes the schedule or rightsizing change as a concrete diff. The biggest easy win in your bill is probably in an account you’ve never optimized.