OpenStack Swift is cloud storage software for storing and retrieving lots of data through a simple API. The latest 2.0 release introduces storage policies, which come after a year of work from many contributors in the Swift community.
Swift was open sourced four years ago. The OpenStack storage project aims to provide a highly available, distributed object store, and release of version 2.0 means it's growing up and gaining better consistency. Organizations can use Swift to store large amounts of data efficiently and on the cheap, across clusters of commodity servers.
Storage policies are important because they allow people to configure their Swift clusters to support the different needs of the data stored. Once policies are configured, a user can create a container with a specific policy that applies to all objects stored within.
SwiftStack, a major contributor, highlights two specific use cases on its blog: reduced-redundancy storage policy and geography-specific storage policy.
“We normally recommend 3x replication in Swift clusters,” writes SwiftStack’s John Dickinson, director of technology. “It provides a good balance between durability and overhead for most data. However, some data is trivially re-creatable and doesn’t require the same durability.”
By not storing extra copies of objects that don’t need typical redundancy, storage costs go down. Swift allows different replication factors to be used in the same cluster.
The ability to geographically distinguish data sets means a globally distributed company can distinguish which data are accessible from which branch offices. Using new fine-grain control over where data reside lets the individual offices find what they need faster.
Object-based storage is a storage architecture that manages data as objects as opposed to file systems and block storage, which manages data as blocks within sectors and tracks. There’s been a lot of investment in object storage and several vendors, ranging from startups like SwiftStack to giants like EMC, have been building solutions for it.
SwiftStack and Intel gave a talk on storage policies at the OpenStack Juno summit. You can watch the presentation here.
Up next for Swift is Erasure codes. Erasure codes work off of storage policies and bring in more savings and more flexibility in terms of how data are handled in Swift.