Protocol Comparison: S3 vs. Swift
Our Object Storage service is based on the open‑source technology Ceph RADOS Gateway (RGW). Ceph RGW provides a highly available, scalable storage solution that offers S3‑ and OpenStack Swift‑compatible interfaces. This article explains the main differences between the two protocols.
Protocols Compared
| Feature | S3 API | Swift API |
|---|---|---|
| Authentication | AWS Signature v2 / v4 | Swift Auth |
| API Structure | Bucket‑oriented | Container‑oriented |
| Compatibility | High compatibility with AWS SDKs and tools | Native support in OpenStack environments |
| Metadata | x-amz-meta-* |
X-Object-Meta-* |
| Versioning | Supported | Not currently supported |
| ACLs & Permissions | IAM‑like policies, fine‑grained | ACL‑based, less flexible |
Recommendation
- S3 is especially suitable for customers who use AWS‑compatible tools or want to leverage a broad ecosystem.
- Swift is recommended for simple REST‑based applications.
Usage Note
Simultaneous use of S3 and Swift
Using S3 and Swift simultaneously on the same bucket/container can lead to unexpected behavior.
Please choose a single protocol for each use case.