Skip to content

Object storage service

Service description

Object storage service provides a scalable and durable storage system for unstructured data, such as files, images, and backups. It is designed to store large amounts of data with a simple API, making it suitable for a wide range of applications, including content distribution, backup and archive, and data analytics.

Object storage service uses OpenStack Swift in conjuction with Ceph and other OpenStack services.

Features

  • Scalability, allowing for the storage of data across a large number of servers.
  • Durability, as data is replicated across multiple servers or storage devices, ensuring high availability and fault tolerance (if a server or disk fails, the data can still be accessed from other replicas)
  • Data accessibility, with RESTful APIs (for both Swift and Ceph) that allows you to access and manage your data over HTTP
  • Containers, data is organized into containers, which are similar to directories or folders (containers are used to group and organize objects, and they can be used to set access controls and storage policies)
  • Objects, the basic unit of storage (each object consists of the data itself, along with metadata that describes the object)
  • Metadata, to allow you to associate metadata with containers and objects (this metadata can be used to store additional information about the data, such as content type, creation date, and custom attributes)
  • Large object support, to support the storage of large objects by splitting them into smaller segments and storing each segment as a separate object (this allows for efficient storage and retrieval of large files)
  • Security, with several mechanisms for securing data, including access controls at the container level, temporary URLs for time-limited access to objects, and integration for authentication, authorization, and user permissions.
  • Data consistency, to ensure eventual consistency, meaning that if a write operation is successful, the data will eventually be replicated to all replicas, even in the presence of failures.

Key concepts

Within your storage containers, you can further define folders in your storage path.

Using the Rumble Cloud console, object containers can be made private and require authentication to access their contents, or can be made public and their contents shareable online. You can also use Ceph API commands to set user-based permissions on containers.

Note

In some contexts, containers may also refer to virtualized containers used for compute resources.

How it works

  1. Object storage is built on a distributed architecture, with data stored across multiple storage nodes in a cluster. This ensures high availability and scalability.
  2. Objects are organized into containers, which are similar to directories or folders. Containers provide a way to group and organize objects, and they can have metadata associated with them.
  3. Object storage ensures eventual consistency, meaning that all replicas of an object will eventually be consistent. Data is replicated across multiple nodes to ensure durability in case of hardware failures.
  4. Object storage is designed to scale horizontally, allowing for the addition of more storage nodes to increase capacity and performance.

Object storage console

Object storage service CLI reference

Object storage service API reference

See also