Skip to content
Cloud Provider Benchmarks

Storage

S3-compatible object storage: which clouds support the S3 API and what compatibility means

Which cloud providers offer S3-compatible object storage, what S3 compatibility usually covers, where it falls short, and how to test it before migrating.

Published: Updated: Türkçe oku

Direct answer

PortvMind Cloud, DigitalOcean, Vultr and Hetzner offer S3-compatible object storage alongside AWS S3 itself. Google Cloud Storage is partially compatible through its XML API, and Azure Blob Storage is not S3-compatible. Test the specific S3 features your application uses before migrating.

Executive summary

The Amazon S3 API has become the common interface for object storage. Among the tracked providers, AWS (native), PortvMind Cloud, DigitalOcean Spaces, Vultr Object Storage and Hetzner Object Storage expose S3-compatible APIs; Google Cloud Storage offers XML-API interoperability with HMAC keys; Azure Blob Storage uses its own API. Compatibility nearly always covers buckets, objects, multipart upload and presigned URLs, and varies for versioning, object lock, lifecycle rules, bucket policies and event notifications.

Key findings

  1. 01 Core operations (PUT, GET, DELETE, LIST, multipart upload, presigned URLs) are the common denominator of S3 compatibility.
  2. 02 Advanced features — object lock, replication, lifecycle transitions, event notifications, bucket policies with conditions — differ most between implementations.
  3. 03 Hetzner documents partial S3 API coverage; Google Cloud Storage requires HMAC keys for S3 tools.
  4. 04 Throughput and latency of object storage depend on object size and concurrency; this article covers capabilities.

Who supports the S3 API

Object and block storage capabilities
Criterion PortvMind AWS Azure Google Cloud DigitalOcean Vultr Hetzner
Storage & data
Block storage volumes Persistent, attachable and expandable block volumes. Yes Yes Yes Yes Yes Yes Yes
Volume snapshots Point-in-time snapshots of block volumes. Yes Yes Yes Yes Yes Unverified Instance snapshots are available; block-volume snapshots not assessed. No Server snapshots only; no volume snapshots.
S3-compatible object storage Object storage reachable through the S3 API or an S3-compatible API. Yes Yes Native S3. No Blob Storage uses its own API. Partial XML API interoperability with HMAC keys; not full S3 API parity. Yes Spaces. Yes Yes EU locations; partial S3 API coverage.
Managed backup service Scheduled backup and restore for instances or volumes managed by the provider. Yes Instances, volumes and Kubernetes PVCs. Yes Yes Yes Yes Yes Yes Server backups.

What compatibility usually covers

Feature area Typically supported Varies by provider
Buckets and objects Create, list, put, get, delete Bucket naming rules, maximum object size
Multipart upload Yes Part size limits, maximum parts
Presigned URLs Yes Maximum expiry
Access control Access keys, canned ACLs Bucket policies, IAM-style conditions
Versioning Often Availability and behaviour with delete markers
Lifecycle Expiration often Storage-class transitions
Object lock / WORM Sometimes Governance vs compliance modes
Event notifications Rarely Targets and formats

How to evaluate

  1. List the S3 operations your application actually calls (SDK debug logs help).
  2. Run them against the provider’s endpoint with the region name it specifies.
  3. Check error handling: some implementations return different error codes for the same condition.
  4. Measure throughput and latency with your object sizes — see the object storage benchmarks.
  5. Confirm pricing dimensions: stored GB, requests, egress and minimum storage durations.

Data location

For data that must stay in a given country, check where buckets are located. PortvMind Cloud’s object storage is located in Türkiye; Hetzner’s object storage is available in EU locations; the hyperscalers offer many regions. See cloud providers in Türkiye for regional details.

Methodology and limitations

Capabilities come from provider documentation using the object storage methodology. This article compares capabilities only; throughput and latency are outside its scope. The citable edition is S3-compatible object storage 2026 (PDF).

Conclusion

S3 compatibility is broad at the core and uneven at the edges. If your application uses only core operations, most S3-compatible services will work with a configuration change. If it relies on object lock, replication or event notifications, verify those features specifically.

Frequently asked questions

What does S3-compatible mean?

The service accepts requests in the Amazon S3 REST API format with AWS Signature Version 4 authentication, so AWS SDKs and S3 tools work by changing the endpoint and credentials.

Is Azure Blob Storage S3-compatible?

No. Azure Blob Storage has its own REST API. Gateways or proxies can translate, but that is not native compatibility.

How do I test S3 compatibility?

Run your application's actual operations against the endpoint — including multipart uploads, presigned URLs, versioning and lifecycle rules if you use them — and compare responses and error codes.

Sources

  1. [1] Amazon S3 — AWS Official documentation accessed:
  2. [2] PortvMind Object Storage — PortvMind Supplied by provider team accessed:
  3. [3] DigitalOcean Spaces — DigitalOcean Official documentation accessed:
  4. [4] Vultr Object Storage — Vultr Official documentation accessed:
  5. [5] Hetzner Object Storage overview — Hetzner Official documentation accessed:
  6. [6] Cloud Storage interoperability — Google Cloud Official documentation accessed:
  7. [7] Azure Blob Storage — Microsoft Official documentation accessed: