Making the case for an all-flash data center
Companies should ditch hard disk drives and outfit their data centers entirely with flash storage; vendors have solved old solid-state problems, such as wear time and cost.
In the early days of flash, prices were high, and drives wore out within a couple of years. Now, drive prices are much lower, and the wear-out issue is effectively behind us; every company should have an all-flash data center.
Today, SSDs are much faster than any HDD, both in random I/O and bandwidth. SSD capacity also far exceeds that of HDD. There are already 16 TB 2.5-inch SSDs, and 100 TB 2.5-inch SSDs are on the distant horizon. The best an HDD can achieve is 12 TB in a much bigger 3.5-inch form factor.
SSDs still wear out, but manufacturers have improved everything, from the electrics of writing to error correction and internal redundancy. Most drives can now survive about five years of pretty heavy write workloads.
Why an all-flash data center?
SSD price per TB is still higher than HDDs; a terabyte drive sells for about $250, whereas an HDD is $50. But saying that isn't an apples-to-apples comparison. It's the equivalent of comparing a Ferrari to a golf cart.
The 1 TB, $250 SSD is fast. It transfers 400,000 IOPS versus a paltry 150,000 IOPS for the HDD. And the SSD actually replaces an enterprise-grade HDD that costs close to $450 and that isn't much faster than a consumer HDD. In an all-flash data center, storage is faster and companies get more for their dollar.
Some might argue that an ultra-fast NVMe SSD -- which costs a lot more than $250 -- would actually replace that enterprise-grade HDD. But NVMe is only necessary if the app it supports needs to perform in the 2 million IOPS range. For many use cases, the $250 SSD is adequate.
RAID is declining. The old approach to data integrity is falling victim to controller performance bottlenecks and a lack of flexibility, coupled with the effect of 10+ TB drives. Software-defined storage will replace RAID with small virtualized storage appliances, with a blurring between storage and server.
With the move to hyper-converged appliances and away from RAID arrays, dual-ported drives are irrelevant in a data availability model. That means SAS is deprecated in favor of either NVMe or SATA. Advances in NVMe approaches and packaging have created compact flash drives in the M.2 form factor at close to SATA 2.5-inch prices for equal capacity.
Where's the flash?
Apart from the innate conservativeness IT staff show, the reason many companies still don't have an all-flash data center might lie in antiquated software. Most apps were written with single-threading, single-core computers in mind, on a model where I/O took an eternity. These programs won't attain the huge benefits of SSDs without some rewrites.
For example, an app built on the idea that an I/O to HDD takes 13 milliseconds will issue the I/O and then disconnect, effectively going to sleep. Compound this for perhaps 20 I/Os, and that's a computer eternity. All of that state swapping and idling eats up system overhead.
With an SSD, an app can get a whole bunch of I/O completed in the typical 100 microsecond slice granted by the OS before switching to another process. The OS and compilers don't address these performance issues.
Still, even without rewrites, an all-flash data center would make apps run faster, with few exceptions. The improvement seems to be between two and five times, which pays for a lot of SSDs by saving on the cost of servers and appliances.
Storage vendors have figured out that most systems don't use all the SSD IOPS. They have applied the excess to a back-end process to compress objects, something slow HDD-based storage systems don't do well. This reduces the total raw capacity required for a given effective capacity by a large factor, typically five times, both in primary and secondary storage. That's another large savings, and there is also a comparable gain in network load and a reduction in latency for loading data to memory.