Mainstream use of flash-based storage is one of the most significant developments in modern data center design. Today, most enterprises run multiple workloads on storage solutions that utilize flash technology. Indeed, all-flash devices are increasingly popular for certain classes of applications. That said, why should flash be merely a component within an existing storage array? Shouldn't it be designed directly into the server architecture where it's closer to the applications it serves?
Before addressing that important question, let us first understand the basics of traditional storage arrays. NAS and SAN solutions from established vendors, including EMC, NetApp, HP, and IBM, dominate enterprise storage today. Storage arrays from these companies rely on storage controllers, which are not much more than x86-based servers. Storage controllers are dedicated to managing multiple shelves of disks, as well as providing data management functions such as replication, compression, deduplication, and tiering.
Each storage array has multiple storage controllers -- usually two -- to ensure high availability and to provide load balancing. Shared storage resources are connected to the server cluster through existing network or dedicated Fibre Channel cables. With this traditional three-tier architecture, data reads and writes travel from a virtual machine to the physical server, through the network fabric to the storage controller and eventually to the disks.
How does flash fit into this model? Flash provides applications with high-performance and low-latency I/O, delivering thousands of IOPS (inputs/outputs per second), compared to hundreds for spinning disks. Data tiering is a common technique leveraged in today’s hybrid storage solutions, which contain both hard disk drives and solid-state drives, to enable higher performance. The storage controller keeps track of "hot data," or data that is most frequently used, and promotes this data into the higher-performance SSDs. When data becomes "cold," or infrequently accessed, it is automatically moved to slower, spinning disks.
Tiering ensures that the most commonly used data is always on the fastest storage media. This is very similar to how processors use DRAMs today. Since the amount of data that can be stored in memory is limited, only the hot data resides in DRAM and unused data is automatically swapped out. Why then is DRAM closer to CPU (inside the server), whereas flash-based storage is placed a network hop away inside a distant storage array? Does it not make sense to keep flash closer to the server, as DRAMs are today? After all, the PCIe bus is closer to the CPU and provides more aggregate throughput and lower latency than Fibre Channel networking or Ethernet over a switch.
Hyperconverged systems vendors like Nutanix, which integrate compute and storage in a single 2U appliance, have been incorporating server-side flash for the past three years.
Current data center architectural models are on a path to obsolescence in the new world of Web-scale IT. For instance, what will happen when 50 servers in the compute cluster are vying to access flash-resident data on a NAS array? SSDs capable of tens of thousands of IOPS are now connected through the same controller on the same network. Where does performance hit a bottleneck? The network, the controller, or flash drives? (Hint: It is not flash.)
Now, what happens if 50 more servers are added? Or 100 servers? Will the current model scale? It is analogous to draining water from a barrel using a single straw. Will adding more straws solve the problem?
The problem is that flash performance is constrained by the underlying storage architecture. To maintain performance, the end-to-end infrastructure has to scale with the demand for data. However, anyone with data center experience knows that capacity planning exercises are rarely accurate, as business and application requirements are notoriously difficult to predict. Add the common pain points of traditional storage infrastructure such as zoning, unmasking, LUN provisioning, and lack of VM-centric functionality, and it is clear why storage administrators struggle to meet performance and availability SLAs.
Hyperconverged solutions incorporate flash disks in the server, delivering high levels of data resiliency and pooled data storage that is equivalent to a NAS device, while allowing fast, unfettered access to the flash storage by applications. These systems are designed for scalability and parallelism, without the inherent limitations created when accessing storage through a single controller. When deployed in clustered configurations, hyperconverged appliances avoid the network contention that occurs when there is simultaneous demand for flash disks in a single storage device. Instead, each server has its own flash disks, such that the vast majority of read I/Os can be satisfied by local, direct-attached resources, and avoid network access entirely. Even I/Os that require the hyperconverged server to go out over the network (such as remote reads from adjacent nodes, replication of writes to other nodes) are free of isolated bottlenecks, as these operations are distributed across different servers throughout the cluster.
Hyperconvergence optimizes the benefits of flash, even when cluster size grows. Further, introducing more storage is as easy as adding another server with the required SSD capacity or replacing the current SSDs on the servers with higher-capacity units.
Integrating flash into the server enables all applications to run on common infrastructure, including workloads that are bandwidth hungry or sensitive to storage latency. Thus server-based flash also eliminates the cost and complexity of deployment silos driven by hardware architecture.
Hyperconverged solutions even provide security benefits relative to traditional storage. In hyperconverged environments, data can be encrypted within the physical server, eliminating the scenario of unencrypted data on a network link, or having to rely on external functionality to secure server-to-storage transfers.
Flash-based storage delivers faster performance by orders of magnitude over traditional hard disk drives. However, inserting flash resources into central arrays and accessing it over a network will never allow its full potential to be realized. Going forward, the emergence of NVMe (nonvolatile memory express) memory brings a lighter-weight standard for accessing SSDs, which will only increase the demand for server-based flash. Hyperconverged architectures offer a holistic approach to realize the potential of the modern SSD technology innovations.
Binny Gill is chief architect at Nutanix. Previously with IBM Research, Gill has been granted more than 50 different patents over the course of his career.
New Tech Forum provides a venue to explore and discuss emerging enterprise technology in unprecedented depth and breadth. The selection is subjective, based on our pick of the technologies we believe to be important and of greatest interest to InfoWorld readers. InfoWorld does not accept marketing collateral for publication and reserves the right to edit all contributed content. Send all inquiries to email@example.com.