← All experiments

Workshop · In production · Open source

opsfour/s3-server

A production-oriented S3-compatible object-storage server distributed as a PHP package with separate protocol, metadata and storage layers.

Experiment status
In production
Availability
Open source
Area of inquiry
S3 protocol and interchangeable storage backends
Outcome
Developed into a product

What are we trying to find out?

How much of the S3 protocol’s semantics can be represented in a modular PHP architecture without tightly coupling the API and storage backend?

01

Why does this matter to us?

S3 compatibility includes signatures, multipart uploads, versioning, Object Lock, lifecycle rules, range requests and concurrent access. It involves far more than merely storing files.

02

What did we build?

The HTTP and S3 protocol layer, metadata and binary storage were separated. This allows database and storage drivers to be changed without reimplementing the API semantics.

03

Where does the experiment stand?

The S3 server is published as an open-source package and is used in production. It is publicly available as a technical building block and reference implementation.

04

What happens next?

Further development follows concrete requirements from production use and new usage scenarios.

Technologies and topics

  • Open Source
  • PHP
  • Async I/O
  • AWS SigV4
  • Object Storage
  • S3
Open repository