7 Things You Should Know about the Mirantis OpenStack/EMC Reference Architecture
This week at EMC World, Mirantis released a reference architecture (RA) explaining how to use several EMC storage products with Mirantis OpenStack. Mirantis OpenStack Architect, Paul Roberts, shares seven reasons why this is such a big deal:
1. The Mirantis OpenStack/EMC reference architecture makes it possible to reliably mix the two environments
OpenStack has lots of knobs and dials -- and a reputation for being difficult to deploy on your own. Adding in specific hardware with specific drivers can make it even more complicated, but an RA helps with this. While every situation is different, of course, an RA tells you exactly how to configure a specific environment -- in this case, EMC storage on Mirantis OpenStack -- showing you precisely what configurations should look like. Basically, a RA doesn't give you anything you couldn't get on your own, but it saves you time by telling you which knobs to turn, and what to set them to so that everything works reliably and predictably.
2. This RA includes 3 types of EMC storage: XtremIO, VNX and ScaleIO
EMC provides different types of storage, each with their own specializations:
VNX: "Standard" enterprise-grade storage, when you need reliability but you're not worried about special cases such as high-throughput or huge amounts of data.
XtremIO: Very high performance, scale-out flash storage designed for high-IO, random access.
ScaleIO: A converged software-defined storage technology that allows you to scale from several servers to over 1,000 per EMC documentation.
The RA explains how to configure each of these enterprise storage solutions with Mirantis OpenStack.
3. Enterprise storage often lets you do what commodity solutions can't
There's a natural bias in the OpenStack community towards open source software-defined storage solutions such as Ceph and Swift. There are many reasons this makes sense, but sometimes a company needs what enterprise-grade software has to offer. Some of these capabilities include:
High availability (HA) using RAID or other techniques rather than replication: While Ceph and Swift offer reliable HA using replication (if the replication factor is high enough) you're typically looking at anywhere between three and thirteen times the amount of storage you actually need. In other words, if you have a replication factor of 5 and you anticipate storing 500TB of data, you need enough spindles (or SSDs) to hold something like 2,500TB of data, just to accommodate the replicated files. Even if you feel like you can justify the capital expense of buying all of that equipment, more servers means more electrical power, more cooling, and more repair costs. Enterprise-grade storage arrays can get an efficiency ratings of up to 80% (versus 8% - 33% for replication), leading to much smaller costs.
Another way that enterprise-grade storage differs from community solutions is the ability to know exactly where your data lives. While this may not seem like a problem for you now, if you have to isolate data from different clients to different hardware (for security reasons, for data ownership reasons, for a whole host of different reasons) it's definitely an issue.
Finally, EMC hardware has the ability to "phone home" if there's a problem and a technician can proactively show up and replace the bad disk. Often EMC notifies their customers of issues before they’re aware a drive or component failure has happened.
4. OpenStack lets you create different volume types with different backends and different capabilities.
One of the more useful capabilities of OpenStack block storage is the ability to create different volume types. For example, you might create a commodity storage volume type, a VNX type, an XtremIO type, and a ScaleIO type. When a user goes to create a volume, he or she decides which type to use, thus choosing which capabilities come into play -- and all without the intervention of an administrator. And because you can tie other processes such as chargebacks to these types, you can enable enterprise users to pay for what they use, giving them the flexibility to use higher-end services only when they actually need it.
OpenStack Block Storage (Cinder) also enables you to create private volume types, which means that you can control which users and tenants get to use which volume types. You can use this in two different ways. The more common situation would be to limit higher-end storage to specific projects or users, but there's another situation in which this can come up: data isolation.
As I mentioned in Fact #3, there are times when you may need to isolate the data of one project or user from another. By creating types that are specific to individual pieces of hardware, you can be sure that a volume created is located on that specific hardware. So you might create a volume type called BatmansStorageType on one set of servers, and another called SupermansStorageType on another, with each superhero having the ability to create only volumes using their own type.
5. It's possible to reuse your existing SAN from within OpenStack.
If you're considering using enterprise storage from OpenStack, it's unlikely that you're starting from scratch. Instead, it's much more likely that you have enterprise storage already in use, and you want to use OpenStack with it.
Fortunately, the architecture of OpenStack makes that pretty straightforward. OpenStack can be set up with a separate network to handle storage-related traffic -- called, not surprisingly, the storage network -- and it's possible to simply designate the existing Storage Area Network (SAN) as that storage network.
This ability to reuse the existing SAN means you can just plunk OpenStack down in an existing environment and start using it.
6. EMC was able to produce this reference architecture without assistance from Mirantis.
While there are those who claim that there's no such thing as "vanilla" OpenStack, there are definitely ways to create a dependable, reliable OpenStack distribution without adding proprietary extensions. When EMC decided to produce an RA for using their products with Mirantis OpenStack, they found that it was so clean that they were able to do it without resorting to vendor work-arounds, making Mirantis OpenStack the first distribution certified to work with these EMC solutions. (We did help them certify the RA they created using our standard certification process.)
7. OpenStack just provides the interface; it's actually the backend that determines the method and level of HA and other capabilities.
When we think about OpenStack storage, we tend to think that it's OpenStack that provides the various capabilities, such as replication, HA, and so on, but it's not; in fact, OpenStack simply provides the interface layer, providing a way to interact with the backend. The amount of performance, reliability, and even HA durability you experience will be determined directly by the backend you choose.
For example, if you were to choose, say, Ceph for your block storage, your HA would be provided by the replication that Ceph provides. That's fine, if that's what you're looking for, but the point is that it actually has nothing to do with OpenStack itself; all OpenStack does is tell Ceph to create a volume. It's Ceph that decides how to make that data durable.
That means that if, instead, you were to use, say EMC's VNX storage product, which uses RAID for its HA capabilities, OpenStack doesn't know the difference; you've created a volume, EMC is providing the reliability.
In other words, because OpenStack is acting as an abstraction layer above the actual storage, you can use OpenStack on enterprise-grade storage hardware without locking yourself in at the application layer.You get the freedom of OpenStack with the power of enterprise-grade storage when you need it. What else can you ask for? For more resources on the EMC Mirantis collaboration and joint solutions, please visit the EMC partner page on Mirantis.com and also check out press release on the reference architecture release.