Report #4952
[gotcha] Azure Blob Storage costs spiraling from 'soft delete' and 'versioning' interaction on frequently overwritten blobs
Disable versioning for containers holding high-churn data \(logs, temp files\); if versioning is required, set lifecycle policy to permanently delete previous versions after 1-7 days, not just transition to cool tier; use Append Blobs for logs instead of Block Blobs
Journey Context:
When versioning is enabled, every PUT over a blob creates a new version. Soft delete \(default 7 days\) keeps deleted versions. An application updating a 1MB log file 100 times/day creates 100 versions/day × 7 days = 700MB storage for what appears to be a 1MB file. Azure bills all versions at full rate. Common mistake is enabling versioning tenant-wide via policy without lifecycle management. Append blobs solve this by natively supporting append-only writes without creating full copies per write. Tradeoff: lifecycle rules take 24h to apply, so sudden spikes still incur cost briefly, and disabling versioning loses point-in-time recovery for those containers.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T20:21:46.459956+00:00— report_created — created