Now that flash hypervisors are coming on to the market, there are misconceptions that flash hypervisors and caching engines are the same technology. They are similar technologies, but there are distinct differences
Let's first look at the similarities.
Both caching engines and flash hypervisors offer transparency to the VMware vSphere hypervisor and its advanced features such as vMotion, DRS, SRM and HA. They both accelerate applications up to 10x with many Tier 1 applications and increasing virtual machine densities at about 3x.
Both are also back-end storage-agnostic and greatly reduce storage network traffic by offloading the read activity using write-through, which optimizes writes to the back-end storage, improving write performance. This also leaves the read caches on the back-end storage to be used by non-accelerated servers.
For VMware vSphere environments, there are integrated management plug-ins into vCenter for both caching engines and flash hypervisor products. All products offer write-through caching, making the server-side caching a read-only cache.
Caching engines accelerate each server independently and can work both in physical and virtualized hosts. Otherwise, in order to use write-back caching, some products, like SanDisk FlashSoft and Fusion-io, offer mirroring for two-node clusters so that the data on each node can be mirrored by the other node for data protection.
Some products offer a persistent cache, which means the data is preserved in the event of a server failure or reboot like a disk drive. Others recently entering the market offer a non-persistent server cache, which means the data is transient like in a memory cache and disappears in the event of server failure or crash.
Not all caching engines are deployed the same. Some products require a piece of agent software in a virtual machine and some are installed as a virtual machine appliance. Other caching engines are installed as a user or kernel module in the hypervisor.
Flash hypervisors are fairly new on the market and are considered a form of software-defined storage. These products currently only work in clustered virtualized environments.
The technology features a single resource pooling of all solid-state resources in a hypervisor cluster, which creates an abstraction layer to pull solid-state resources from, much like other resources such as CPU or memory. This architecture is quite different than accelerating physical servers individually, even in a clustered environment.
The software is a kernel module in the system hypervisor, and operates pooled solid-state resources cluster-wide.
In addition to write-through caching, flash hypervisors also support write-back caching handling both reads and writes for the cluster. Synchronous replication is used for data protection.
After looking at the similarities and differences between caching engines and flash virtualization, which product is best for your environment?
- Native environments. If you need application acceleration, like a database, a caching engine is currently the only option. Flash virtualization currently only works in VMware vSphere virtualized environments. This may change in the future as more vendors work with future versions of Microsoft Windows Server.
- Single server or two-node cluster. Both caching engines and flash hypervisors support this configuration with the same features. Considerations for this configuration should be licensing cost, efficiency and growth of the cluster. If there is a possibility that the target two-node cluster will grow with more nodes, the flash hypervisor will be the best long-term choice that will grow with the cluster. For single servers and two-node clusters that will not grow, a caching engine may be the more cost-effective route.
- Three-node or larger cluster. Since flash hypervisors are cluster-aware, the management of a single pool of storage is easier to manage. Caching engines can be managed in a cluster but, depending on the product, each node's solid-state storage may be managed separately. For ease of management, the flash hypervisor may be the more efficient solution.
- Using write-back caching. The write-back cache option can be found with both technologies, with caching engines right now having a limit of two-nodes. So if write-back caching is an important criterion and the cluster has three or more nodes, the flash hypervisor option would be the best option. Not all flash hypervisors or caching engines support safe write-back cache, and not all write-back caching is as efficient as it needs to be.
About the author:
Leah Schoeb is a senior partner at Boulder, Colo.-based Evaluator Group.
This was first published in January 2014