Over the last couple of years, OpenStack has emerged from the pack to become the leading private cloud operating system. That’s largely because it offers a clear API in addition to the elasticity, scalability, and fast provisioning users want from a cloud environment. OpenStack has been adopted by a wide swath of the industry, including large players like VMware and Red Hat.
One of the promises of OpenStack for developers is that it can free them from having to worry about the underlying infrastructure. With OpenStack, the resources an application needs are abstracted from the actual hardware underneath. OpenStack lets you rapidly provision the resources needed to support your virtual machines. Developers don’t have to know anything about where their storage is deployed. They only need to think about supporting their application.
The shared block storage service for OpenStack is called Cinder. The OpenStack Wiki describes Cinder very concisely; “it virtualizes pools of block storage devices and provides end users with a self-service API to request and consume those resources without requiring any knowledge of where their storage is deployed or on what type of device.” Unlike developers, those operating an OpenStack-based datacenter do need to think about storage. If you’re using or considering OpenStack for your datacenter, you may be a little frustrated with your current storage options.
Currently, many organizations using OpenStack rely on conventional storage arrays from traditional storage vendors. Conventional storage arrays are built around protocols that are all about the underlying infrastructure. You have to constantly try to map between the OpenStack world of Cinder volumes and instances and the conventional storage world of file systems, queue trees, and LUNs. Using storage not designed for virtualization is a drag on efficiency, especially when you have performance problems. It’s very hard to troubleshoot issues when the cloud layer and the infrastructure are so dissimilar.
Another option is to build your own infrastructure with open source solutions. The DIY approach doesn’t exactly free you from having to worry about infrastructure; it becomes a constant concern. With the open source route, you have to own the debugging process, which is difficult and stressful. The monitoring, fault handling, and statistics are quite weak, too. For many enterprises, the biggest drawback of open source storage is that if something goes wrong, you’re on your own.
Application-aware storage is another option. Designed exclusively for virtualized environments, application-aware storage supports virtual machines and cloud infrastructure without forcing you to worry about the physical protocols that are so central to conventional storage. Not familiar with application-aware storage? Read Application-Aware Storage for Dummies, and keep an eye on this blog. I’ll be writing a series of posts about application-aware storage and OpenStack.
Unique control with VM-level actions for infrastructure functions including snapshots, replication and QoS make protection and performance certain in production, and accelerate test and development cycles.