Last Monday I attended a brief with a couple of Virsto executives and I would like to report to you some thoughts about what I learned.
Virsto, is a small (28 employees) well financed startup founded 5 years ago in the Silicon Valley, they develop a software solutions aimed to virtualize storage access to disks adding a huge performance improvement.
At the moment many companies are claiming that they are the inventors of “the true storage hypervisor” but, aside from this marketing strategy, they have something to say.
Last generation (very powerful) servers are helping to achieve very impressive physical to virtual consolidation ratios. This caused a storage problem because the different workload generated from each VM is mixed up with others on physical storage channels: it generates a phenomenon called I/O blender.
I/O blender effect is a big problem because you have to deal with totally random and different block sizes workloads that could hurt your storage infrastructure. Cache going to be poisoned and become useless and the latencies grow, in some cases the IO waits could also impact seriously on servers CPU usage. When you experience this kind of problem the only way to go, with ordinary arrays, is to buy more disks to spread the IOPS on more spindles. On the other hand buying more mechanical disks (only for the IOPS) bring a poor resource utilization in terms of space while increasing general infrastructure TCO.
The Virsto solution
This Virsto product presents itself as a Virtual Storage Appliace for each physical host delivering virtual disks devices (vDisk) to ESXi or Hyper-V VMs. vDisks, coupled with a logging mechanism, act as IO collectors. These IO collectors catch all the IOs and organize them in large full sequential writes obtaining the maximum throughput (with the minimal effort) from the physical disk arrays!
The idea is good and the implementation seems transparent enough, not to impact the day to day administration tasks too much . Obviously, the Virsto VSA, brings some other capabilities like efficient thin provisioning, pointer based snapshots, automated tiering and so on (all features you can find on many next generation storage arrays, indeed).
In terms of resources and performance optimization there is a huge impact from Virsto adoption (they claim up to 10x improvements), especially in very dense environments like VDI (in fact, if I remember well, the first version of the product was released to solve this).
This solution could be a great answer for some infrastructures but I also see some risks in its adoption: the first concern comes from the fact that this is another software layer between storage and the hypervisor and it needs to be maintained and supported. For example, only the next product version will be compatible with vSphere 5 and it will be released in 6 months). my second worry is that this product adds some good features to your storage platform but you can’t use the ones from your array anymore. Moreover, if you buy a next generation array (with some integrated SSDs as cache or tier0) some of the advantages of this product will disappear shortly.