Storage technology has its own language. Marketing departments and product managers invent words and vitiate common phrases to describe how storage technology works and how it advances an organization's goals. Storage virtualization vendors may be guiltier of this than others because the way they decouple hardware and software is often difficult to explain.
Sometimes we get carried away, and many times it's difficult to decipher virtual data storage terms, especially when you are comparing technologies or systems before a big purchasing decision. Just what is a "value-added, impactful solution" anyway?
In this podcast, analyst firm Storage Switzerland LLC's senior analyst Eric Slack breaks down some common virtual data storage terms to help you decode sales and marketing gibberish and determine which technology and product is right for your environment.
What's the difference between storage virtualization and storage for virtualized environments?
Eric Slack: Storage virtualization is the abstraction of physical storage from a logical representation of that storage. When we go to read or write a file from a disk drive, the file is physically written all over the place, especially if you've got a lot of fragmentation on that drive, but it appears to the user as one contiguous chunk of data.
A larger example would be a volume manager kind of a thing where it presents a single logical volume that comprises multiple smaller volumes that can actually be on different disk drives.
In a way, the term virtualization can also be applied to storage services such as snapshots, thin provisioning and clones, running them on a hypervisor, for example, instead of running them on a storage array.
A virtualized environment refers to the server or desktop virtualization and it's another case of abstraction. This time it's the abstraction of the operating environment. So, in that scenario, storage for a virtualized environment would be whatever kind of storage technology that you're using to supply for VMware or a virtualized desktop environment.
What is the virtualization layer?
Slack: The virtualization layer would be where the abstraction is actually taking place, and the virtualization layer, for example, if we are talking about a volume manager, would be running on the server where the volume manager is running.
Historically, things I think about when talking about storage virtualization [are] appliances, and historically DataCore and FalconStor are two that always come to mind. These are in-band or out-of-band appliances that actually handle the storage traffic or direct storage requests to the physical locations where the data is stored.
So the layer is where that abstraction is actually taking place, and it's typically either on the server, on an appliance, or on the storage controller for the storage system.
What is software-defined storage?
Slack: Once upon a time, IT hardware was dedicated, meaning that devices were designed and built for a specific purpose or a specific use case -- storage arrays, servers, switches and so on. New products came out in a box.
With the advent of server virtualization, the idea of using generic building blocks to construct new IT devices came about. In a way, you could call VMware software-defined servers. The differentiating attributes of the system are defined by the software that you run on that common hardware platform. So if you apply this process to storage, you get software-defined storage.
With the advent of scale-out storage, which is sort of a node-based architecture of generic subsystems or commodity subsystems, building software-defined storage is kind of the next logical step; [it's] using software to add storage services like snapshots, replication, dedupe, thin provisioning, etc.
So the upside to software-defined products in general is flexibility, improved time to market, the ability to consolidate and the ability to integrate with other IT functions, like storage being integrated with the server virtualization host, which is the storage hypervisor.
If there is a downside to software-defined storage it would probably be performance. You only have a finite amount of resources such as internal bandwidth and CPU, and a dedicated storage controller doesn't have to share resources with a compute engine like it would in a software-defined storage environment.
What is a storage hypervisor?
Slack: It's really software-defined storage where that software is running on a virtualization host. It would be storage virtualization that uses the hypervisor to run a virtualization engine or provide the virtualization layer.
So VMware really started the ball rolling by allowing the server or the hypervisor to virtualize other servers or virtualize operating systems themselves and to move them to different physical hosts. VMotion enables the hypervisor to move data around to different physical locations while still logically supporting the same VM [virtual machine]. Each hypervisor can configure the storage resources that it needs, essentially defining its own storage as it needs to. That would be defining that storage with software.
So, to summarize, a storage hypervisor is software-defined storage that's running on the host.
What is heterogeneous storage?
Slack: Heterogeneous storage really is compared with homogeneous storage and just means different kinds of storage, or different types of storage, or storage from different vendors. Storage virtualization often leverages existing storage systems, which means it must be able to use heterogeneous storage.
One of the big advantages of storage virtualization is being able to consolidate existing storage or to repurpose an existing storage array instead of doing what they call the forklift upgrade.
So heterogeneous refers to storage that is either of a different type, like flash and disk, for example, or two disk arrays from different vendors.
What is federated storage or storage federation?
Slack: Federation refers to common control of otherwise independent IT systems to create consolidated pools of resources. These resources are typically applied to meet a specific need such as accommodating a high-performance workload.
This is really in a VMware environment, or in what they call a converged environment, not just a storage environment. The context is in a converged environment where compute and networking resources, as well as storage, are combined into pools in order to maximize utilization or to accommodate a high-performance workload or an end-of-the-month kind of thing.
In a VDI [virtual desktop infrastructure] environment, they have high-performance requirements at the beginning of the day, what they call boot storms, and so it's the ability to control and to pool resources; typically it's more than just storage, but it can be used in a storage context. The term federation kind of assumes the entities are more independent and not just a bunch of dumb storage arrays.