The deploy worked. The bill doubled.
The blue-green cutover went perfectly. Traffic shifted to green, health checks passed, the team signed off, and moved on. It was one of those rare deployments that goes exactly as planned.
Six weeks later, a cost anomaly surfaced in the monthly AWS review. Infrastructure spend had been running at roughly double what it should have been since the deployment date. Every EC2 instance, every RDS node, every load balancer from the blue environment was still running. Serving zero traffic. Billed at full price. For six weeks.
Nobody had decommissioned it because nobody owned it after cutover. The team that ran the deployment assumed operations would clean it up. Operations assumed the team that deployed it would tear it down. The blue environment sat in a perfect ownership gap, healthy and idle and expensive, while both teams closed their tickets and moved on.
This is the part blue-green deployment guides don't emphasize enough. The strategy is excellent for zero downtime releases and instant rollback capability. The rollback window is the dangerous part. It's open-ended by default, which means the old environment stays alive until someone makes a deliberate decision to shut it down. That decision requires ownership, and ownership requires someone to be responsible for it after the deployment is considered done.
The fix is treating decommissioning as part of the deployment itself, not cleanup that happens afterward.
Tag every blue environment resource at launch with a TTL:
aws ec2 create-tags \
--resources i-1234567890abcdef0 \
--tags Key=DeploymentColor,Value=blue \
Key=CutoverDate,Value=2026-01-14 \
Key=TTL,Value=2026-01-21
Then wire Cost Anomaly Detection to alert when a specific environment tag is still generating spend past its TTL. The old environment doesn't get to become invisible just because traffic moved away from it.
The deeper issue is that blue-green deployments create a window of parallel infrastructure that most cost monitoring ignores because both environments look healthy. Neither throws an error. Neither generates an alert. The only signal is the bill, and by the time the bill arrives, the window has been open for thirty days.
Rollback capability has a cost, and that cost has a deadline. If you haven't defined when blue gets torn down before you cut over to green, you've defined it as never. And never is expensive.
AWS #DevOps #SRE #BlueGreen #FinOps #CloudEngineering #PlatformEngineering
This article was originally published by DEV Community and written by Usman Tahir Qureshi.
Read original article on DEV Community