an idea by dmdiss
Microsoft Azure offers a bunch of interesting RESTful protocols, providing access to objects (Block Blobs, similar to S3 Objects), disk images (Page Blobs) and file systems (Azure Files). The underlying services seem to map pretty closely to RADOS, RBD and CephFS respectively, so adding support for these protocols to Ceph, despite being a lot of work, should be relatively straightforward. I've already worked on implementing a C client for these protocols via Elasto, so it might be worth reusing the same code in implementing the server functionality atop the public librados / librbd / libcephfs libraries. The other option would be to use civetweb/rgw, which is already embedded within Ceph for S3/SWIFT gateway support.