OpenStack Object Storage in the Havana Release
Today is the release of OpenStack Havana, and I want to share the exciting things that are going on in OpenStack Object Storage (Swift). You can find the full change log in the source repo of the project. You can download the latest release of Swift at https://launchpad.net/swift/havana/1.10.0.
During the last six months, the Swift community has finished the global clusters feature. Made up of several individual elements, global clusters solves two very common storage problems: multi-site durability and local availability.
Many storage use cases require a wide geographic separation of data to protect against single-site failure. Although rare, it’s possible for entire data centers to go offline. When that happens, you want to ensure that your data is still durably stored and highly available. By keeping data in multiple, geographically disperse locations, a global Swift cluster can give you the durability and availability you require.
This feature also enable higher performance clusters by allowing reads and writes to a local geographic region. Data requested from a particular region can be served from that region. For example, a global Swift cluster with servers in both New York and LA will be able to quickly serve East coast requests from the New York servers and West coast requests from the LA servers.
SwiftStack has previously written about Swift global clusters and the use cases they solve.
Concur will be speaking about their use of global clusters at the Hong Kong OpenStack conference. If you are joining us in Hong Kong, please come hear their story.
Beyond global clusters, Swift’s Havana release also includes other significant features. We have improved Swift’s performance by optimizing how it talks to storage volumes. Memcache connections have been optimized by keeping a pool of connections. Handoff node selection (i.e. choosing an alternate storage node in the event of failures) is now much faster. Swift now has support for conf.d style config directories. And we’ve added support for a cluster-wide crossdomain.xml file to better enable Flash apps reading content directly from a Swift cluster.
These performance improvements are the result of work from the entire community. As Stefano Mafuli mentioned is his recent blog post, Swift’s community has been growing. During the 6 months of the Havana release cycle, the top 10 contributors represent 6 different companies. 136 different contributors from (at least) 60 different companies have helped make Swift what it is today: an storage system that powers the world’s largest storage clouds.
My vision for Swift is that everyone, everywhere will use Swift every day, even if they don’t realize it. We’re seeing this vision fulfilled more every day. Global clusters, optimized performance, an active contributor community, and significant deployers like Concur make it possible.