OpenStack Object Storage

OpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence.

Objects are written to multiple hardware devices in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters can scale horizontally by adding new nodes. Should a node fail, OpenStack works to replicate its content from other active nodes. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment.

Software

Current Release

OpenStack Object Storage - Essex Release

Released April 5, 2012. Release Notes

Documentation: Online Manuals

Download (via Launchpad)

Next Milestone

OpenStack Object Storage "Folsom" planned for Q4 2012.

Developer editions of Object Storage are available on the OpenStack Launchpad. There's also developer documentation available.

Popular Use Cases

  • Service providers offering IaaS storage platform
  • Integrates with OpenStack Compute to store server images
  • Document storage
  • Back-end for Microsoft SharePoint
  • Archive platform for log files and other data with long retention periods
  • Store web images and thumbnails

The features below are available in the current release.

Feature Benefit

Store and Manage files programmatically via API

Automates resource management/provisioning

Create Public or Private containers

Better control. Allows to share data publicly or keep it private

Leverages Commodity hardware

No lock-in, lower price/GB

HDD/node failure agnostic

Self healing
Reliability, Data redundancy protecting from failures

Unlimited Storage

Huge & flat namespace, highly scalable read/write access
Ability to serve content directly from storage system

Multi-dimensional scalability (scale out architecture)

Allows to scale vertically and horizontally-Distributed storage

Backup/Archive large amounts of data with linear performance

Account/Container/Object structure
no nesting, not a traditional file system

Optimized for scale
Allows to scale to multiples Peta-bytes, billions of objects

Built-in Replication
(N copies of accounts, container, objects)
3x+ data redundancy compared to 2x on RAID

High Availability

Easily add capacity unlike RAID resize

Elastic data scaling with ease

No central database

Higher performance, No bottlenecks

RAID not required

Allows to handle lots of small, random reads and writes efficiently

Built-in Mgmt. utilities

Acct. Management: Create, add, verify, delete users

Container Management: upload, download, verify

Monitoring: Capacity, Host, Network, Log trawling, cluster health

Drive auditing

Allows to detect drive failures preempting data corruption

VNC Proxy through web browser

Quick and easy CLI administration

The features below are planned for future releases.

Feature Benefit

Improved Client IP Logging
(Diablo v1.4.0 05/31- Implemented)

Allows granular tracking and auditing for Intrusion detection and protection

Transaction ID headers (Diablo v1.4.0 05/31 – Implemented)

Better control over data handling

Auto Account Create (Diablo 1.4.1 06/20 - Implemented)

Option to automate account creation for authorized requests…saving time

Option for Replication  (Diablo Approved TBD

no replica will be in the same zone as another replica unless there is no other choice

Multi cluster container syncing (Diablo v1.4.2 TBD – In progress) 

High availability
Allows to synchronize container contents across clusters

Multi-region support (Future – Not Started)

True High availability
Allows to register and cross replicate b/w physically isolated external Object store clusters

Multi-tenant accounting (Pending Approval)

Helps service providers support, track, audit, authorize customer resources

Client Bindings (Pending Approval)

Higher performance and less data footprint

Compression options (Pending Approval)

Faster Access/transfer, Reduced disk space

Large Single Uploads (Pending Approval)

Allows to upload/store files greater than 5GB

Self-destructing files (Pending Approval)

 Policy based file management

Native Tiny URLs (Pending Approval)

Easy addressing, Great for links on the go, Bookmarking, reduces friction from customers to click external links

Search Service (Pending Approval)

Allows to search objects and containers by names and metadata

Improved Ring-Builder (Pending Approval)

Allows to automate addition of large capacity to a storage cluster

SNIA CDMI Support (Pending Approval)

Offers compatibility SNIA standard

SNIA CDMI Support (Pending Approval)

Offers compatibility SNIA standard