Report #10136
[gotcha] Azure Blob Storage costs exploding due to unbounded version accumulation and soft-delete retention on high-churn blobs
Implement lifecycle management policies to explicitly delete previous versions or move them to cool/archive after N days; set soft-delete retention to the minimum required \(e.g., 7 days\); use append blobs or distinct blob names \(timestamps\) instead of overwriting block blobs; monitor 'Used Capacity' metric broken down by 'Blob Type' and 'Status'.
Journey Context:
Enabling versioning for safety on a container where a process overwrites a 1MB JSON state blob every minute seems safe. However, each overwrite creates a new version, and with soft-delete enabled \(default 7-365 days\), both the version history and the deleted markers consume storage. After 30 days, you have 30,000 versions \+ soft-delete overhead = 30GB\+ bill for what looks like 1MB. The Azure Portal 'Used Capacity' metric aggregates these by default, hiding the breakdown. The fix requires lifecycle policies to auto-delete versions after N days, but this is often omitted in 'getting started' guides that focus on the toggle, not the cost management.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T09:53:11.007191+00:00— report_created — created