This time last year, you would have been hard pressed to find an article, seminar, or tech commercial that was not about "the cloud." Cloud storage, cloud services, apps in the cloud, security of the cloud. The word cloud has been so completely overhyped since then that I am to the point where anytime someone even mentions it, I feel like giving them my best impersonation of Marcellus Wallace from Pulp Fiction. "Say cloud one more time!"
As we are getting a new year underway, I am curious to see what phrase will end up taking the top spot for 2014. So far, I would have to say my money is on "flash." There are more array vendors than possible to keep track of, each pitching their version of a better mousetrap: all-flash using SSDs, all-flash with custom boards, or the hybrid route of some flash and some spinning disk.
PURE, Tegile, Tintri, Nimbus, Nimble, Skyera, Whiptail, Violin, XtremIO...the list goes on. Then there are the PCIe players: FusionIO, PMC, LSI, and who knows how many upstarts. Now, there are the flash virtualization players like PernixData, SanDisk's FlashSoft product, or VMWare's vFlash.
There is no doubt that flash arrays and accelerator cards have staying power, but what about this last bunch of software defined storage solutions?
To answer this question, we need to first define what exactly these products do.
Traditionally, a single physical server houses multiple VMs that all compete for a share of flash resources. As shown in the image below, each of the three virtual machines share the SSD and flash controllers in their respective individual physical servers.
The drawback to this implementation is that a hungry application can suck up the limited available resources inside a single server, choking the performance of other applications that reside in that same server.
Of course, infrastructure architects think of this ahead of time and attempt to align applications to servers with the appropriate specifications, but it is difficult to anticipate unforeseen spikes. Not to mention, VMs are moved around so often now that predicting what application traffic will be where is becoming increasingly difficult.
This is where virtualizing the server side flash comes in. The bottlenecks that exist with the traditional server implementation can be overcome by creating a flash hypervisor, in which a new shared pool of flash is created and is presented across all VMs, thus removing the per server resource allocation issue.
Extrapolate this across a data center and there is now a large pool of fast flash storage that can be utilized by VMs on an as-needed basis, with no limitation to where the VM resides. The result is an increased flexibility that will flatten the rollercoaster of application workloads as they blend across the infrastructure.