Each Object storage typically includes the data itself, a variable amount of metadata, and a globally unique identifier.
Object storage can be implemented at multiple levels, including the device level (object storage device), the system level, and the interface level. In each case, Object storage seeks to enable capabilities not addressed by other storage architectures, like interfaces that can be directly programmable by the application, a namespace that can span multiple instances of physical hardware, and data management functions like data replication and data distribution at object-level granularity.
Object storage provides programmatic interfaces to allow applications to manipulate data. At the base level, this includes CRUD functions.
Some Object storage implementations go further, supporting additional functionality like object versioning, object replication, and movement of objects between different tiers and types of storage. Most API implementations are REST-based, allowing the use of many standard HTTP calls.
Object storage is implemented from several vendors like: