IBM Cloud Docs
What is IBM Cloud Object Storage?

What is IBM Cloud Object Storage?

IBM Cloud® Object Storage is a highly available, durable, and secure platform for storing unstructured data. Unstructured data (sometimes called binary or "blob" data) refers to data that is not highly structured in the manner of a database. Object storage is the most efficient way to store PDFs, media files, database backups, disk images, or even large structured datasets.

The files that are uploaded into IBM Cloud Object Storage are called objects. Objects can be anywhere from very small (a few bytes) [to very large] (up to 10TB). They are organized into buckets that serve as containers for objects, and which can be configured independently from one another in terms of locations, resiliency, billing rates, security, and object lifecycle. Objects themselves have their own metadata in the form of user-defined tags, legal holds, or archive status. Within a bucket, the hierarchy of objects is effectively "flat", although it is possible to add prefixes to object names to provide some organization and to provide flexibility in listing and other operations.

IBM Cloud Object Storage is strongly consistent for all data operations, and eventually consistent for bucket configuration operations. This means that when an object is uploaded, the server responds with a 200 OK after the object is successfully written, and the object is immediately available for listing and reading. All data stored in IBM Cloud Object Storage is encrypted, erasure-coded, and dispersed across three locations (with the distance between locations ranging from within a single data center, across a Multi-Zone Region or MZR, or even across multiple MZRs). This geographic range of dispersal contributes to a bucket's resiliency.

All requests and responses are made over HTTPS and all requests support the use of hash-based integrity checks using a Content-MD5 header. If the provided MD5 hash does not match the checksum computed by the storage service, the object is discarded and an error is returned. All GET and HEAD requests made to objects return an Etag value with the MD5 hash of the object to ensure integrity on the client side.

Developers use APIs to interact with their object storage. IBM Cloud Object Storage supports a subset of the S3 API for reading and writing data, as well as for bucket configuration. Additionally, there is a Object Storage Resource Configuration API for reading and configuring bucket metadata. Software development kits (SDKs) are available for the Python, Java, Go, and the Node.js framework. A plug-in is available for the IBM Cloud Command Line Interface.

The IBM Cloud console provides a user interface for most operations and configuration as well.

Cloud Object Storage on IBM Cloud Satellite

Workloads that require object storage on-premise, or in a geographic location not supported by IBM Cloud data centers, can make use of IBM Cloud Satellite. For more information, see the documentation.

Cloud Object Storage IaaS (Legacy)

Legacy IaaS users are encouraged to migrate workloads to the IAM-enabled service. IaaS users can reference this documentation, but any features that relate to cloud services (IAM, Key Protect, Activity Tracking, Metrics Monitoring, Notifications, etc) are not supported for COS IaaS.

Next Steps

Documentation on the best way to get started provides support to provision accounts, to create buckets, to upload objects, and to use a reference of common operations through API interactions.