Server side flash, in its various forms, served as a precursor to shared flash arrays. It allowed IT planners to surgically address specific application response time issues caused by storage without having to implement a flash based array. This saved both time and infrastructure investment cost. Now with the lowered costs and increased data efficiency of shared flash systems, combined with an almost insatiable need for performance, many data centers are skipping server side flash and are implementing shared flash, especially in virtual environments. But it is important to understand that server side flash still has a role in a shared flash data center.
Types of Server Side Flash
Server side flash can be implemented in a variety of ways, but most of them create a cache layer between networked storage and server side storage. The most common are the server dedicated flash solutions and the server aggregated flash solutions.
Server dedicated solutions accelerate workloads on a specific server, in some cases a specific virtual machine and even a specific set of files within that virtual machine. They typically will leverage a PCIe attached SSD, which provides the very low levels of latency. Most of these solutions will cache reads and writes locally, but writes are typically synchronously written to a shared storage tier. For an environment that is looking at, or has some form of shared flash solution, a read cache is likely all that is needed since writes should be going to flash storage on the shared system anyway.
Most of these solutions have been optimized to work well in a virtual environment. For example, they can detect a virtual machine (VM) migration is about to occur and flush cache resources appropriately. Some of these solutions can even transfer cache metadata with the VM as it is migrated so that data does not need to be re-qualified into cache.
The other type of server side cache is an aggregated cache that leverages cache inside multiple servers to create a virtual pool of flash capacity. This method brings resilience, but it does add network latency. Some of these solutions have locality logic to make sure that a copy of a VM’s hot data is local on the server and protected in the aggregated pool. Other solutions can create this cache out of excess DRAM capacity in the servers for very fast performance, other than network latencies that the aggregated pool creates. DRAM is an interesting alternative here, since it is faster than flash and almost all environments have excess DRAM capacity.
The Role of Server Side Flash in Virtual Environments
Server side flash still has a role to play in virtual environments. First, for some data centers there is still a point performance problem to be resolved. For them, a shared flash system, at this point, would be overkill. A simple addition of one or two PCIe SSDs with a good caching software solution can resolve that issue and at a very affordable price. Aggregated solutions that can leverage existing RAM resources may also be a very cost effective, high performance problem solver.
Even after the difficult decision between all-flash and hybrid arrays has been made, a server side cache architecture can still have a role. Local, high performance PCIe SSDs combined with the right caching software can be a perfect compliment to an all-flash or hybrid flash investment.
As an example, it is not uncommon for a data center that has invested in an all-flash array to see reports that used to take 48 hours now run in 4 hours. But what if users start to demand that report in 2 hours, or even 20 minutes? The only way to reduce time further is either redesign the database or implement a complimentary server side flash or DRAM tier. Re-designing databases can be expensive and sometimes impossible, implementing a server side flash can be done very cost effectively and in a matter of minutes.
Our recommendation is to leverage local server side caching technologies at the beginning of a move to flash, or at the end. In the beginning it can be useful to stave off an upgrade and at the end it can be used to enhance a shared all-flash or hybrid investment. As with many storage technologies, IT planners are best served when they look at them as complimentary instead of competitive. For more details on shared flash and server side flash, watch our latest on-demand webinar “Manage: Exposing The Myths of Flash Storage for Virtualization”.