NVMe cloud hosting: everything you need to know
If you’ve already heard about NVMe cloud hosting before arriving here, congratulations! You’re among a small minority of future-thinking developers who are already looking for the next big thing in cloud hosting. But even if you haven’t, we’re happy to have you here, as you’re about to wade into some pretty next-generation waters.
NVMe disks are pretty new, and definitely haven’t gone mainstream yet. Getting one for your personal computer is pretty cost-prohibitive still, and that’s what makes the cloud so compelling—you can, pretty cheaply, get a piece of an NVMe drive in a high-speed data center for a much smaller investment.
Of course, NVMe cloud hosting is much more than just a drive. Let’s dive in.
NVMe stands for NVM Express.
An acronym within an acronym. Great.
NVM stands for non-volatile memory, which refers to memory which retains its stored data even after losing and regaining power. All the common disk storage technology, such as spinning disks and solid-state drives, are non-volatile memory.
In contrast, volatile memory is that which loses its data when power is cut. Your machine’s RAM is a great example.
We can now infer that an NVMe drive uses non-volatile memory technology that retains its data when power is lost. In other words, you can save your files on an NVMe drive and expect them to still be when you reboot.
We need to pause a moment to explain what a solid-state drive (SSD) is, because things get a little confusing from here.
You might have heard of SSDs before. (Hint: They’re in our name!) SSDs are form factor—a certain size and shape of hardware—and use solid-state storage technology to store your data using, most commonly these days, 3D TLC NAND-based flash memory. Solid-state storage is a type of non-volatile memory and uses only electronic circuits to read and write data.
So, both SSDs and NVMe disks use solid-state storage to store your data. But this whole piece is about what NVMe is and why it’s better. What’s the difference?
The answer is in the NVMe.
The e in NVMe stands for Express, remember? In this case, Express refers to the new hardware interface protocol that was “designed to capitalize on the low latency and internal parallelism of solid-state storage devices.” (source) This means than an NVMe drive connects solid-state storage to the rest of the machine using a newer, faster interface.
That’s the difference between an SSD and NVMe drive: Both use the same solid-state storage technology to hold your data, but NVMe uses a much faster hardware interface.
Breaking to all down
When we say “SSD,” as in “SSD cloud hosting,” it means that we’re talking about solid-state storage connected via slower SAS or SATA interfaces.
When we say “NVMe,” as in “NVMe cloud hosting,” we’re talking about solid-state storage connected via the next-generation Express interface.
Our history with NVMe cloud hosting
As our head of engineering Daniel outlined in his NVMe launch post, we’re been looking at NVMe for white some time now. Crafting part specifications, finding vendors, and putting all the pieces together simply takes time.
But NVMe cloud hosting has come to SSD Nodes! To learn more and deploy a 10X server of your own, visit our 10X product page.
It’s so good we might have to rename ourselves NVMe Nodes.
Daniel has the goods on our exact hardware:
Eventually, we insisted that vendors use Intel DC P4610 NVMe drives with a U.2 interface. (We needed the 7.68TB drives, as nothing on our platform is small). … They were a brand we know and trust, as we already use a lot of Intel SSDs in production, without a single failure.
Why it’s faster and by how much
As I mentioned earlier, the Express interface is a vast improvement over previous SAS/SATA interfaces. Let’s grab a few choice quotes from Daniel for some numbers:
A good SSD drive might be able to read 550 megabytes of data per second (sequentially) and write 520 megabytes per second, assuming it is connected to a fast SAS or SATA disk interface.
This same drive might be capable of 10,000 input/output operations per second (IOPS) random read as well.
A good NVMe drive might deliver 3,000 megabytes per second (sequential) read/write and 600,000 IOPS (random read).
We can now make the pretty direct comparison:
SSD | NVMe 550 MB/s read | 3,000 MB/s read 520 MB/s write | 3,000 MB/s write 10,000 IOPS | 600,000 IOPS
Our Intel DC P4610 NVMe drives score a little bit better than that—3,200 MB/s and 640,000 IOPS—but we’ll stick with Daniel’s predictions.
The difference is pretty clear: NVMe offers about 6X faster data transfer and up to 60X better IOPS performance. We do that one a little better by mirroring all our customers’ data across multiple drives.
We effectively double our read performance (shared by all customers on the host node)—the equivalent of 6,400 megabytes per second and 1,280,000 IOPS random read.
Mirroring theoretically brings read performance to roughly 11X faster that SSD—data which we’ve proven through benchmarks:
Test results for NVMe KVM - Large at SSD Nodes Server specs: 4 × Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz 31 GB RAM / 168 GB disk space Centos 7.5.1804 Core Benchmark results summary: UnixBench - 3792.1 Disk Read - 6766 MB/s Disk Write - 1471 MB/s Bandwidth - 1560.67 MB/s More: https://serverscope.io/trials/aODJ
All in all, NVMe is already a proven storage technology that’s going to change the way we use computers. Eventually your desktop/laptop will have an NVMe drive inside it, and you’ll experience the speed while gaming or opening a giant PDF. But, when it comes to servers, NVMe is already here. And, based on the feedback we’ve already gotten, it’s a definite revolution.
It’s like the move to SSDs that happened years ago, but now on hyperdrive. We’re excited to see what our users do with it.