Introduction
Cloud object storage—such as AWS S3, Azure Blob Storage, and Google Cloud Storage—is essential, yet often poorly optimized. Teams unknowingly leave data in expensive storage tiers long after it’s no longer actively accessed. Without proactive policies, this leads to silent budget bleed.
Thankfully, all three major cloud providers offer automation features to reduce storage costs. But enabling them isn’t enough—you need continuous enforcement and daily visibility to avoid drift.
This blog explores:
- How storage tiering automation works across AWS, Azure, and GCP
- How to audit and apply tiering configurations via CLI/API
- Why manual governance doesn’t scale
- How Cloudgov.ai delivers daily, AI-driven optimization at scale
What is S3 Intelligent-Tiering?
S3 Intelligent-Tiering is an Amazon S3 storage class designed to optimize storage costs automatically when data access patterns are unpredictable.
Key Features:
- Automatically moves objects between frequent, infrequent, and archive tiers
- No retrieval fees
- Minimal monitoring and automation overhead
- Ideal for datasets with changing or unknown access patterns
Documentation:
https://aws.amazon.com/s3/storage-classes/intelligent-tiering/
Multi-Cloud Equivalents
1. Azure Blob Storage Lifecycle Management
Azure Blob Storage Lifecycle Management automatically transitions blobs between hot, cool, and archive tiers. Rules can be scoped at the storage account or container level, support filters based on blob type, prefix, age, and last accessed/modified time, and enable tier transitions or deletions.
Enable Last Access Time Tracking (Azure CLI)
az storage account blob-service-properties update \
--resource-group <resource-group> \
--account-name <storage-account-name> \
--enable-last-access-tracking true
See Azure CLI documentation for more details.
Create Lifecycle Policy (Azure CLI)
Create a policy file (e.g., policy.json):
{
"rules": [
{
"enabled": true,
"name": "move-to-cool",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"tierToCool": {
"daysAfterModificationGreaterThan": 30
}
}
},
"filters": {
"blobTypes": ["blockBlob"],
"prefixMatch": ["sample-container/log"]
}
}
}
]
}
Apply the policy:
az storage account management-policy create \
--account-name <storage-account-name> \
--policy @policy.json \
--resource-group <resource-group>
Audit existing policies:
az storage account management-policy show \
--account-name <storage-account-name> \
--resource-group <resource-group>
2. Google Cloud Storage Autoclass
Google Cloud Storage Autoclass automatically transitions objects between Standard, Nearline, Coldline, or Archive tiers based on object age and access patterns. It’s easy to enable at the bucket level.
Audit and Enable Autoclass via CLI and API
Check via gsutil:
gsutil bucketpolicyonly get gs://<your-bucket-name>
See gsutil documentation for more.
Check via REST API:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://storage.googleapis.com/storage/v1/b/<your-bucket-name>"
Look for the autoclass block in the JSON response.
Enable Autoclass via REST API:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"autoclass": {"enabled": true}}' \
"https://storage.googleapis.com/storage/v1/b/<your-bucket-name>?fields=autoclass"
Refer to the gcloud CLI auth docs.
Audit Your AWS S3 Buckets for Intelligent-Tiering
Using AWS CLI
aws s3api get-bucket-lifecycle-configuration --bucket <your-bucket-name>
Learn more in the AWS CLI User Guide.
Using AWS SDK for Python (Boto3)
import boto3
s3 = boto3.client('s3')
response = s3.get_bucket_lifecycle_configuration(Bucket='your-bucket-name')
print(response)
See the Boto3 documentation.
Enable S3 Intelligent-Tiering
AWS CLI
aws s3api put-bucket-lifecycle-configuration \
--bucket <your-bucket-name> \
--lifecycle-configuration 'file://lifecycle.json'
Example lifecycle.json:
{
"Rules": [
{
"ID": "MoveToIntelligentTiering",
"Prefix": "",
"Status": "Enabled",
"Transitions": [
{
"Days": 30,
"StorageClass": "INTELLIGENT_TIERING"
}
]
}
]
}
Using Boto3 (Python API)
import boto3
s3 = boto3.client('s3')
s3.put_bucket_lifecycle_configuration(
Bucket='your-bucket-name',
LifecycleConfiguration={
'Rules': [
{
'ID': 'MoveToIntelligentTiering',
'Status': 'Enabled',
'Prefix': '',
'Transitions': [
{
'Days': 30,
'StorageClass': 'INTELLIGENT_TIERING'
}
]
}
]
}
)
Why Manual Tagging and Tiering Doesn’t Scale
- Error-prone: Engineers forget to configure lifecycle policies during bucket creation
- Brittle: Tagging conventions drift over time; naming is inconsistent
- Opaque: No visibility into how much money you’re losing by not applying automation
- Unscalable: With hundreds or thousands of buckets, there’s no way to manually enforce policies consistently
Data usage patterns change daily. Without constant attention, policy drift sets in quickly.
Cloudgov.ai: Automated Storage Optimization
Cloudgov.ai is your intelligent storage governance layer. Built by ex-AWS FinOps leaders, it brings continuous cost optimization to object storage across AWS, Azure, and GCP.
- Daily Drift Detection
- Audits every bucket across clouds daily
- Flags untagged resources, missing lifecycle rules, and policy drift
- Detects “leaky buckets” consuming high-cost tiers
- Actionable AI Insights
- Identifies exact buckets missing Intelligent-Tiering, Lifecycle Management, or Autoclass
- Estimates per-bucket savings monthly and yearly
- Prioritizes by cost impact and policy violation
- Engineer-Friendly Reporting
- Slack/Email summaries with next steps
- CLI/Terraform scripts to fix issues
- Self-service dashboards for DevOps and platform teams
- Always-On Governance
- Lifecycle configs are checked daily
- Validates alignment between policy and reality as new buckets are created
- Removes the burden from engineers—Cloudgov.ai handles enforcement
Conclusion
S3 Intelligent-Tiering, Azure Lifecycle Management, and GCP Autoclass offer massive cost savings—if they’re applied correctly and consistently.
Cloudgov.ai ensures they are by detecting policy drift, surfacing real savings, delivering engineer-ready insights, and enforcing lifecycle automation without manual toil.
Ready to stop bleeding money on cloud storage? Let Cloudgov.ai be your automatic savings engine.


