Object storage
S3-compatible storage vs Amazon S3: what actually carries over?
The phrase “S3-compatible” is useful because the S3 API has become a common storage interface. It is also easy to overread. A compatible provider may accept the same object requests while having completely different identity, billing, durability architecture and surrounding cloud services.
Core object operations are the portable layer
Applications commonly depend on PutObject, GetObject, HeadObject, DeleteObject and object listing. Mature S3-compatible implementations also support multipart uploads, metadata, checksums and presigned requests.
Those are the operations worth verifying first because they determine whether a backup tool or SDK can actually move data. A product comparison should name the operations that were actually tested.
IAM is not automatically AWS IAM
AWS uses its own account, IAM, role and policy model. Another provider can expose S3-style credentials while creating users and policies through an entirely different control plane.
That means infrastructure code often needs a provider-specific provisioning layer even when the application data path remains portable. Treat credential creation, policy syntax and account isolation as control-plane concerns.
Endpoints and regions change
Amazon clients can infer AWS service endpoints from an AWS region. A compatible provider normally publishes a custom endpoint, and some SDKs require an explicit endpoint URL or addressing-style setting.
Region names can also be provider-specific. Keep endpoint and region in deployment configuration so a provider migration does not require code changes.
Pricing needs a fresh model
Do not carry AWS request, transfer or storage assumptions into another service. Some providers include API requests or public transfer; others charge retrieval, minimum storage duration or request classes.
Model the workload using stored capacity, change rate, retrieval pattern, network transfer and payment fees. A cheaper price per stored gigabyte can be a worse fit when the application constantly retrieves cold data.
Portability still requires restore testing
The practical benefit of an S3-compatible target is that standard tools can often speak to it. That reduces migration friction, but the test of portability is a working copy-and-restore exercise using the exact client and data shape.
Keep provider-specific setup documented alongside the portable S3 commands. If a future migration is needed, the team should know which pieces can move unchanged and which must be rebuilt.