The Amazon Web Services S3 API is rapidly becoming a standard interface for object storage systems.  S3 is AWS’ Simple Storage Service and is used to store unstructured data using a REST-based API protocol.  Over time Amazon has improved the S3 API and added advanced features to match the development of S3 itself.  Theoretically, developers should be able to amend existing applications to work with object store software that claims S3 compatibility.  In order to validate this, the API’s of various platforms have been tested using an open source tool called s3tests.  The code is freely available from github and will run on a standard Linux deployment (typically CentOS or Ubuntu).

This page tracks the progress of testing various open source and commercial S3 API implementations, showing the relative success of the results.  The s3tests scripts run around 400 individual tests, rating the results as successful, failed, error or skipped (where the test isn’t appropriate).  Results from the test are shown here, along with a timeline of the testing on various platforms, plus issues, hints and tips for running the tests successfully.

Test Results

Platform Commit Tests Run Skipped Errors Failures Success Rate
AWS S3  a72fc4a  423  51  41  34  82.3%
Cloudian HyperStore  a72fc4a  423  51  35  29  84.9%

Hints & Tips

  • The s3tests scripts try to create greater than 100 buckets as part of the testing.  The default for AWS is 100 buckets, as is the setting with many vendor implementations.  The AWS limit can be increased by raising a ticket to Amazon.  Vendor implementations will allow settings changes to be made within the configuration settings.

In Progress Testing

  • NooBaa
  • Ceph (open source)

(Visited 242 times, 1 visits today)