All-Flash arrays are storage systems that are 100% solid state and offer a set of storage features like snapshots and replication similar to traditional hard drive based storage systems. The recent leaks of what EMC plans to do with the technology they acquired through their XtremeIO acquisition is adding fuel to the All-Flash Array fire. This is a legitimate market. Companies like Pure Storage, Nimbus Data Systems, SolidFire, GreenBytes, Skyera, and Tegile all released products in 2012 and many have revenue customers.
Understanding The All-Flash Differentiators
It is easy to assume that All-Flash arrays are all the same. By definition each product in the group is entirely solid state and all offer very high performance. However, it is the components of the flash storage systems and their assembly that determines each product’s unique value to the market. The components where we see differentiation include networking interfaces, the type of flash memory used and the storage management software.
In most cases these components are oem’d. Each All-Flash vendor has a particular area of expertise and then purchases the remaining components from OEMs. For example, as we discussed in our recent article ZFS vs. VM-Aware Storage, some All-Flash systems use ZFS as the foundational software core. The added value is improved deduplication or enhanced caching services over what traditional ZFS provides. The remaining components are then outsourced. Their storage hardware and networking is sourced from a system builder and the actual SSDs are obtained from one of the many OEMs.
If the system meets the immediate and long-term storage demands of the data center, there is nothing wrong with this approach. It speeds time to market and enables the All-Flash vendor to focus on what they are best at.
The challenges to this approach is it may add cost in the form of margin stacking. Each of the components outsourced by the vendor has a markup that has to be factored into the finished product. It is a basic business decision. Can they buy it cheaper from a OEM than what it would cost to make it on their own?
Some vendors have taken a different approach. Rather than leverage an existing storage software foundation like ZFS, they have instead focused on creating their own storage software. The goal is to design storage software from the ground up to take advantage of flash technology. Unlike a hard drive, flash has almost no latency. Creating a storage software solution optimized for the native capabilities of flash should yield significant performance improvements over systems that just add flash and treat it like a fast hard drive. This is especially true in how the system handles write traffic and data protection routines. Another example of unique innovation is integrating capacity optimization technology directly into the storage software. These vendors still tend to buy the rest of the components of the All-Flash Array for the same reasons outlined above.
Lastly, there are vendors that are moving toward a more vertically integrated model. In these solutions, the hardware architecture is a custom design and the flash memory is based on memory modules instead of drive form factor SSD. In most cases, we have seen these systems include their own storage software and their own enhanced storage networking. The goal of these systems is to create denser more tightly integrated systems that potentially delivers higher performance, while lowering costs by eliminating or reducing margin stacking.
What is the best All-Flash Array?
The best, as always, is really dependent on what you want to carry out. If you are looking to refresh storage and make All-Flash the core of your primary storage needs, than extreme high performance may be less important to you than total cost. Almost every All-Flash system will handily outperform a hard disk based array that it is replacing; the hurdle to clear is cost.
How effective these systems are at space optimization technologies (compression, deduplication, thin provisioning and cloning) will probably be most important. As we discussed in our recent article, “Overcoming The Challenges To All-Flash Arrays“, we’d also suggest looking for a system that has a way to integrate and leverage existing disk systems for inactive data that still resides on primary storage. An excellent use case is virtual server environments that transparently move virtual machines between tiers of storage as needed. We are also beginning to see All-Flash systems that have the ability to add a hard disk tier, which may no longer make them All-Flash, but certainly makes them interesting.
If you are looking for a All-Flash Array to solve a specific point performance problem like a high transaction database or to support a virtual desktop infrastructure, then maximum performance becomes a greater concern. More than likely these systems will be compared to SSD Appliances. Appliances are typically fine tuned for raw performance but sacrifice storage features. While price is still an issue, performance is going to be the primary focus. The concern for All-Flash arrays is how much of an impact will the overhead of storage software have on performance? We will look at SSD Appliances as an alternative to All-Flash systems in an upcoming column.
Should You All-Flash?
The big question is when and if you should make the jump to All-Flash? Clearly you must have the budget for it. There is plenty of “Total Cost of Ownership” math that has to be factored into the investment.
For example an All-Flash environment should allow you to create a denser virtual machine environment that will allow you to maximize the number of VMs deployed per virtual host. The cost avoidance savings realized by increased VM density should be factored into the total cost of ownership of the All-Flash investment. You also have to have a data profile that makes sense for All-Flash – one that demands constant performance, doesn’t cache well and will take advantage of the space optimization capabilities that these systems can give.
We are clearly at the tipping point for All-Flash arrays and a case can be made for their implementation into an increasing number of data centers. The question is which data centers are they best suited for and how much of the storage footprint should they displace? Virtualized (desktop and server) environments make sense, as do shared database environments. For some data centers that is the entire environment, for others it may be only a small part. How much of the environment is virtualized or is using shared, high transaction databases and how hard those environments are pushing storage I/O will decide how far you go with All-Flash.