Cloud Storage
RGW: The extensible, retargetable, scriptable S3 (and Swift!) gateway of Ceph Object Storage
In 2018, the developers of RGW—the open source S3 and Swift object storage endpoint in Ceph—began work on “zipper,” a new, pluggable storage provider API, inspired in part by the loadable backend storage drivers of NFS-Ganesha, which several of those developers also maintain. Zipper drivers can present entirely new storage backends and mappings, or customize existing data paths and core server workflow through stackable filter drivers implementing a subset of the same API. In addition to Ceph cluster support, Zipper drivers exist to support two kinds of filesystem export (posixdriver and s3gw [https://s3gw.tech]), a SQL data model (dbstore), as well as prototype backends for DAOS (https://daos.io/) and former Seagate MoTR storage clusters. In-progress applications of Zipper filters include D4N, a distributed, materialized S3 object cache (https://www.ugurkaynar.com/publications/kariz-fast21.pdf). In 2019, RGW added initial support for dynamic customization of S3 requests and other workflows through Lua scripting. Both Zipper and Lua efforts have expanded in scope over time, and will soon yield the first in-tree, non-Ceph RADOS storage backend for Ceph Object Storage (RGW Standalone). The Ceph object development team wishes to grow awareness of Ceph RGW as an extensible, open-source object storage server platform with strong S3 fidelity and a vibrant developer community—and invite new participants to join our ranks!