Compare Terraform state backend options across AWS S3, Azure Blob, GCS, and OCI Object Storage.
Output will appear here...A comparison of Terraform remote state backend options across AWS (S3 + DynamoDB), Azure (Blob Storage), GCP (Cloud Storage), and OCI (Object Storage), and state locking is the detail that most affects setup complexity: Azure Blob and GCS both provide native lease/object-based locking with no separate service required, AWS needs a companion DynamoDB table specifically for locking (a second resource to provision and pay for), and OCI has no native locking mechanism at all, requiring either the HTTP backend with custom locking or accepting the risk of concurrent-apply state corruption without it.
The comparison table is a static, hand-maintained dataset of feature rows grouped by category (overview, storage, security, availability, pricing) with free-text search across all fields; it's a reference snapshot, not a live specs feed, verify current locking mechanisms and setup steps directly against Terraform's provider documentation before finalizing a backend choice.
AWS's requirement for a separate DynamoDB locking table is a real extra piece of infrastructure to secure and maintain (with its own IAM policy), budget for it explicitly rather than treating the S3 backend setup as 'just a bucket'.
OCI's lack of native locking is the single biggest structural gap in this comparison, a team standardizing on OCI for Terraform state needs an explicit plan for concurrent-apply prevention from day one, not a workaround bolted on after a state corruption incident.
Versioning and MFA delete (on S3) or soft delete (Azure) protect against accidental state deletion or corruption, but none of these backends protect against a bad apply that successfully applies a wrong plan, versioning gets you back to a previous state file, it doesn't undo real infrastructure changes already made.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.