In a recent blog post, Storage Switzerland lead analyst Georg Crump describes various methods for evaluating if your virtual environment can benefit from SSDs, and how they might be used. This is a great post that gives some good insights on how to best capture the resource utilization metrics to identify performance bottlenecks.
This process of evaluation is something we also discuss extensively with our customers as we help to determine the most effective SSD deployment model in their specific virtual environment.
Given the plethora of flash-based storage solutions, and multiple ways in which one can deploy flash, IT professionals are often confused about the best way SSDs can be employed in their data center in order to deliver the maximum ROI in the least amount of time possible. What I’d like to share with you in this blog post are thoughts on how to leverage SSDs to resolve the bottlenecks, once you identify them using George’s techniques.
Addressing the I/O Blender effect
Let’s first recap why SSDs provide a great performance boost in virtualized environments, what benefits they deliver, and IT professionals are increasingly evaluating SSDs in their virtual environments.
In his article, George Crump highlights the I/O Blender effect that is caused by virtualization, and leads to I/O randomization due to multiple workloads simultaneously communicating with a single volume. The I/O Blender effect is the number one performance bottleneck in virtual environments, as its randomized I/O nature is the Achilles’ heel of spinning drives.
One of the most common ways virtual administrators address this storage I/O performance challenge is by implementing SSDs so requests from different VMs can be cached without a big latency. This enables virtual administrators not only to achieve greater VM density, supporting more VMs per physical host, but can improve application performance, and ensure that tier-1 enterprise applications running in virtual machines provide predictable end user experience and meet service level agreements.
SSDs’ microsecond-level performance acceleration capabilities deliver blazingly fast response time, even during boot storms, anti-virus scanning storms, or other high-latency events, and the I/O Blender effect is just a single instance where SSDs are frequently used to solve latency bottlenecks.
The ‘better-best’ approach
As a leader in the flash industry, with 25-years of innovation and experience, vertically integrated with its own fabs, SanDisk® “lives and breathes” SSDs. So I would like to provide you with our view on how to deploy SSDs in virtualized datacenters, using what we call the “better-best” approach.
Adding flash to the server
On the hypervisor side, a good approach to implementing flash would be to start by using locally attached SSDs, specifically using SSDs as a hypervisor boot drive.
The Better Approach: A better approach would be to use a locally attached SSD as either Host swap cache (in the case of VMware vSphere since v5.0) or as a configurable read and write-through cache for selected VMs. Using SSDs as cache for virtual machines can provide a cost-effective solution for deploying SSDs in your data center with significant performance benefits at a very small investment. Note that this will require some work on your part to manually identify and configure VMs to use the SSDs as cache.
The Best Approach: The best approach would be to implement a combined, data center hardware and software solution – i.e. use SSDs as cache together with caching software, such as FlashSoft® software, that can automatically identify and place “hot data”—or data that is frequently accessed—on the SSD so that it is more immediately available. This approach enables you to maximize the performance impact of flash in your environment and reap greatest benefit from your investment. It also does not require any changes to your existing virtual environment or backend storage, and is transparent to applications and the OS. Furthermore, FlashSoft works with any SSD form factor – PCIe, SAS or enterprise SATA SSD – from any SSD vendor.
Adding flash to storage
On the storage side, a simple approach would be to start with SSD cache for traditional SAN storage arrays.
The Better Approach: A better approach involves hybrid storage arrays with auto-tiering of data such that SSDs serve as high performance tier-0 for the hot data, while the HDDs provide high capacity tier for warm or cold data—information that is not frequently accessed, such as back up, repositories or compliance files.
The Best Approach: The best approach in this case would be to leverage an all-flash arrays that serve as regular datastores for all virtual machines. This allows for the lowest latency and guarantees Quality of Service.
As you can see, you have several possible options to leverage SSDs in virtual environment, and you can be smart about how to deploy them in your environment based on your business needs and appetite for cost. Also, it is not just the dollar per IOPs that make flash an attractive solution for virtual environment. The rack space, power and cooling savings that SSDs provide perfectly align with the “go green” consolidation benefits of virtualization.