Blob Lifecycle Policy (Azure)
CostLens flags Azure storage accounts holding significant data with no lifecycle-management policy to tier cold blobs to Cool/Archive.
CostLens flags Azure storage accounts with no blob lifecycle-management policy. Without one, rarely-accessed blobs keep paying the Hot-tier rate. Auto-tiering cold data to Cool or Archive commonly cuts ~30% off storage cost.
How it works
Storage accounts are enumerated
CostLens lists storage accounts via the Azure Resource Manager API.
Size is read from Monitor
The account's UsedCapacity metric gives its total size; only accounts holding more than ~100 GB are considered.
Lifecycle policy is checked
CostLens reads the account's managementPolicies/default child resource. If no policy exists, the account is flagged.
Savings are estimated
Priced as size × Hot-tier per-GB rate × a conservative ~30% tiering savings rate (mirrors the AWS S3 Intelligent-Tiering model).
What to do
- Open the storage account → Data management → Lifecycle management.
- Add a rule to transition blobs to Cool after N days without access, and to Archive (or delete) older still.
- Start conservative (e.g. tier to Cool after 30 days) and tighten once you've confirmed access patterns.
Severity levels
| Severity | Estimated monthly savings |
|---|---|
| critical | >$500 |
| high | $100–$500 |
| medium | $20–$100 |
| low | <$20 |
Required permissions
- Detect:
Reader(resource + Monitor metric + management-policy read) — see Azure Accounts.
Limitations
- The savings figure is an estimate — actual savings depend on how much of the data is genuinely cold. Review access patterns before setting an aggressive policy.
- Accounts below the size threshold are not flagged (the potential saving is negligible).
- This check is advisory — the lifecycle policy is configured in Azure.