As flash storage and network throughput evolve through the next several technology generations, a significant imbalance looms. As organizations decide which storage architecture they should go with - network storage or hyperconverged - it is important to understand how these two technologies are evolving in their own IT infrastructure.
Over the last several decades, processor performance improvements significantly outpaced storage performance improvements. All Flash Arrays (AFAs) which leverage flash media have helped to close this gap, which is one of the main drivers of their rapid penetration into mainstream datacenter infrastructure. Network performance is another key determinant in the actual performance that applications see, and existing network latencies and bandwidths have made flash performance accessible to them. But storage class memory, a technology which should start to expand beyond esoteric niche deployments beginning in 2017, poses another threat to this balance.
Consider Figure 1, which plots the throughput capabilities of three generations of flash and network technologies. It takes several solid state disks (SSDs) with legacy SAS and SATA interfaces to saturate a 10GbE network connection; it will take one NVMe device (some of which are already shipping in production-ready systems from vendors like Apeiron) to saturate a next-generation 40GbE network connection, and a single Intel 3D XPoint device will far outstrip the throughput capabilities of the 100 GbE next-next-generation network connection.
This impending imbalance has implications for how storage systems will be defined in the future. The network storage model in which an array with multiple flash-based storage devices is connected to compute resources across a network connection will be challenged to efficiently harness all their performance for applications running on network-attached servers. This imbalance will drive changes in how storage systems are designed.
Hyper-converged systems co-locate compute and storage resources together in a single node, connecting many nodes together across high speed networks to scale performance and capacity for use against mixed workloads on various scales. While today many internal storage devices (such as SSDs) are still accessed through relatively slow SAS and SATA interfaces, there are already a number of internal storage solutions that use much higher performance, lower latency interfaces like PCIe and NVMe. Flash drive vendors are expecting to introduce a number of NVMe storage devices over the next six to twelve months. Many of the storage class memory technologies that are just starting to become available from vendors like Diablo Technologies and Intel (3D XPoint) are initially packaged for easy integration into commodity off the shelf (COTS) x86 servers. In the hyper-converged architecture, these internal storage devices can be accessed directly across PCIe (for example) without having to go out across a network connection. While there may still be occasional cases where I/O requires a network hop, for many workloads an extremely high percentage of I/Os can be handled internal to the server. Software operating environments that intelligently manage data locality can help to maximize in-system “hit” rates that do not incur network latencies. Looking at this impending imbalance, hyperconverged architectures seem to make a lot of sense.
While this argument is compelling, I would be remiss if I did not note that many of the extremely large scale webscale companies like Facebook, Amazon and Google are actually looking at disaggregated storage models again. Their “do it yourself” webscale infrastructures from ten years ago were what many of the software-defined storage and hyperconverged infrastructure vendors were trying to copy in a turnkey package more readily deployable in commercial enterprise environments. These innovative vendors were the first to tackle some extremely large, webscale problems, and they led the way towards the much broader use of scale-out architectures in commercial (rather than scientific) environments. Now they seem to be re-considering whether or not hyperconverged models best serve all their needs.
For a more conceptual discussion of the importance of maintaining a balance between the performance capabilities of CPU, storage, network and applications, see Managing the IT Infrastructure Balance Point for Improved Performance and Efficiency (IDC #256754, June 2015).