NVMe arrays are the highest performance storage solutions available, offering a massive speed boost for enterprises willing to make the investment. Here’s how to select the right NVMe solution for you.
Storage will never be as fast as system memory–that’s just the nature of system architecture. But thanks to NVMe (nonvolatile memory express), SSDs can deliver such blazingly fast performance, the penalty of “going to disk” tends to be miniscule.
NVMe encompasses a family of specifications for how software talks to storage. It works over a number of transport methods, including PCI Express, RDMA, and TCP. Storage arrays that support the NVMe standard are the sports cars of storage, exposing super-fast storage media more directly and efficiently than any other mainstream method allows.
The performance, efficiency, and flexibility supported by NVMe enables entire database instances to be run from the storage array with performance similar to that of an in-memory database. Or, to take another example, you can scale up virtual machine (VM) deployments and container-based applications on a single host with minimal performance cost.
NVMe storage arrays have been widely available from the usual storage vendors since the middle of the last decade. While the speed benefits are clear, the cost of purchasing a fully loaded NVMe array should not be underestimated. Here’s what to look for when selecting one, along with some of the key vendor product lines to consider.
Know your NVMe workloads
NVMe arrays are overkill for document storage (though it’s hard to imagine your users complaining). The real value lies in handling such workloads as real-time and/or machine-learning-based analytics against large amounts of data, where CPU and storage need to work together efficiently and with optimal performance. High-volume financial systems where thousands of transactions come across each second are also prime candidates.
Hosting virtual machines at massive scale is another easy win, whether virtual servers in a clustered environment for high availability or VDI (virtual desktop infrastructure) deployments for all the security and management benefits they bring.
Container-based applications also benefit from NVMe-based storage. For one, the scalability of containerized apps couples perfectly with the parallelism embedded in the NVMe spec. For another, the ability to instantly ramp up additional container instances when needed can be a real boon for your devops team.
NVMe’s parallelism is fundamental to its value. Where SAS-based storage supports a single message queue and 256 simultaneous commands per queue, NVMe ramps this all the way up to 64,000 queues, each with support for 64,000 simultaneous commands. That massive increase is key to enabling you to ramp up the number of VMs on a single physical host, driving greater efficiency and easing management.
Identifying individual workloads and planning for growth over time–along with high availability needs and continuity requirements (backup/restore, replication, geo-redundancy, or simply disaster recovery)–can help paint a picture of what you need in an NVMe array. While each of these considerations has the potential to drive up the initial cost of whichever NVMe array you select (or multiple arrays, when you consider redundancy), smart investments that match your needs ultimately reduce your cost of ownership in the long run.
Keep storage efficient
NVMe arrays are big-ticket items, so efficient storage practices are critical to making the most of the hardware you buy and extending the lifecycle of your storage media.
Data deduplication and compression are first steps, because they help reduce the amount of storage used on your array and, more importantly, help limit the number of write actions on your media, increasing the life span. Most NVMe arrays should be able to handle both deduplication and compression with ease. Just make sure you verify that before you commit.
Another key feature several vendors offer is tooling to optimize data placement. The idea is to keep files contiguous, which reduces fragmentation and ultimately limits the need for data maintenance tasks and the reads/writes they require.
Not only will these features increase longevity, but they also hold the potential to decrease power consumption and improve performance. At minimum, your NVMe system should support optimization of data placement, but if the vendor offers AI-based tools to throw at the problem, that’s even better.
Plan your NVMe array migration
It stands to reason that the workloads you intend to run on your NVMe array are critical to your enterprise. Downtime (or even degraded performance) must be avoided whenever possible. For many organizations, this isn’t even about saving money, it’s about staying in business or even saving lives.
One of the first challenges you’ll face when deploying an NVMe array is how to get existing business-critical workloads onto NVMe storage without downtime or a noticeable performance hit.
Just about every enterprise NVMe storage vendor has its own idea of how you should transfer gobs of data to your new storage device. You can bet it’s going to be a lot more sophisticated than a simple file copy. Look for vendors that have robust tools and capabilities focused around seamless migration and zero downtime.
If you’re short on in-house expertise, it may be worth having your initial migration handled by either an engineer from the vendor or by a certified partner. Check out what services are available to ensure your migration goes as planned.
Develop a storage-array exit strategy
We’ve all experienced scenarios in which a particular vendor is more than happy to help you migrate onto its system, but less enthused about helping you migrate away. Fortunately, NVMe array vendors have been forced to invest in outbound migration in order to stay competitive.
With outbound migration, you can target more cost-effective local storage solutions, cloud-based storage, or other NVMe arrays. Migrating data off your NVMe array may be necessary for a number of reasons: creating a development instance of a database or application, moving business apps for performance or business purposes, or even migrating archival data to the cloud for cost-effective, long-term storage.
The bottom line here is that the NVMe array vendor you select should offer flexibility, including the ability to automate or schedule migrations. You should be able to target a full range of on-prem platforms, particularly those in which you company has already invested–not to mention the storage services offered by big cloud providers. The more options you have, the better you can future-proof your investment.
Plan for storage scale
Growth is a goal of just about any business–and data growth is an inevitability no matter what. Do your best to plan how you’ll increase capacity from the start. Whether the NVMe array offers the ability to add media to empty slots–or provides some method of grouping multiple arrays into a single addressable endpoint–your long-term growth strategy should be top of mind when evaluating vendors.
Scalability is one area where solutions that offer software-defined storage (SDS) can benefit immensely. Because SDS solutions provide a layer of abstraction from the physical media where the data resides, they have the potential to scale seamlessly without your customers or even your applications knowing the difference. If you anticipate the need for that sort of flexibility, an SDS-capable NVMe array provides a good solution.
Check integration with existing workflows
There’s nothing worse than investing time, money, and personnel in building out an optimized set of administration tools and workflows, only to be stuck managing new systems on an individual basis. Whichever solution you select for your NVMe storage array should be able to integrate seamlessly into existing administration tools.
On top of admin tools, many businesses looking for NVMe storage could very well have mature devops workflows with robust automation capabilities. Being able to incorporate the creation of objects in storage, or even manage security or how individual storage needs are met, may be a future requirement you haven’t yet identified. At a minimum you should look at what APIs or command-line tools your vendor offers and make sure the available options meet both your immediate and long-term needs.
Think about hypervisor integration
This one is worth calling out separately because it’s a major use case for NVMe storage arrays. Not only can your virtual machines benefit from the fast storage that NVMe provides, but also, properly configured hypervisors can assign NVMe storage devices directly to a VM, further enhancing performance and reducing latency.
With I/O-intensive VM deployments or devops workloads, it’s ideal to be able to handle disk assignment dynamically–so the ability for your hypervisor to integrate with your NVMe array in order to discover and allocate NVMe devices becomes critical. In some cases, hypervisors may support abstracting the management of individual devices so you can administer performance tiers for your VMs, with NVMe at the top.
It’s important to establish your business requirements and performance goals in relation to your VM deployments. Once that’s done, you can start shopping for vendors that offer the integration and dynamic capabilities your business needs.
Ensure the security of your NVMe array
Business and industry requirements are going to drive which security features are necessary in an NVMe array. There will be some common ground, including the need to provide documentation or artifacts attesting to the security configuration.
At minimum, you should be concerned about encrypting data at rest, because a huge amount of your critical business data is going to reside on your NVMe array. Additionally, the ability to provide role-based access control (RBAC) and separation of duties will be key factors for many industries.
Auditing is another major requirement for many businesses. For example, both DoD STIGS and HIPAA have specific rules for minimum auditing requirements, both generally based on universally recognized best practices.
In addition to simply having the ability to audit, you should be able to determine which actions are auditable. Typically, you’ll encounter requirements to audit admin-level activities. There may also be a requirement to audit read/write activities either for specific files, or in extreme cases, all files. Finally, both audit and system logs should be able to feed into an SIEM or other enterprise monitoring system.
Key NVMe array vendors
You won’t see any surprises in this list of leading vendors–and in all likelihood, any of these companies offers a solution that meets 90% of your business requirements. These following eight vendors are leaders in the most recent Gartner Magic Quadrant analyst report. This list is sorted alphabetically, not hierarchically. Inclusion on this list should not be considered a recommendation, nor should omission be considered a condemnation.
Dell EMC: The EMC brand has been a leader in the network storage space pretty much forever, and that hasn’t changed since it’s been under the Dell banner. The Dell EMC PowerMax line of NVMe storage offers all the performance you’d expect, as well as the ability to scale seamlessly, and even offers policy-based snapshots to the cloud platform of your choice.
Hitachi Vantara: It’s almost as if Hitachi Vantara read this guide before building its storage solutions, because they check almost every box on this list: deduplication, compression, scalability, virtual storage, and SDS. Along with standard purchasing or leasing, Hitachi Vantara offers multiple cloud-like, consumption-based pricing options for on-prem storage.
HPE: Another elder statesman of enterprise hardware, HPE and its NVMe-based storage systems reflect the maturity you would expect. One of HPE’s key strategies is to port the efficiencies of the cloud to the corporate data center through its consumption-based GreenLake program. That strategy comes to life not only in a management console that bridges cloud and on-prem, but also in AI-based optimization and on-prem storage as a service.
Huawei: More and more enterprise IT departments are choosing Huawei to power their critical business infrastructure and it’s not hard to see why. Huawei may be better known for its networking hardware, but don’t miss Huawei’s NVMe storage solutions. Huawei offers many of the management and efficiency features of its competitors, but one feature that stands out is predictive analysis of performance, capacity, and even disk failures.
IBM: Another pillar of the enterprise IT community, IBM sells an innovative line of NVMe storage systems. Whether it’s Safeguarded Copy with immutable/isolated data copies to protect against ransomware attacks, or the geo-redundant, 100% uptime offered by IBM HyperSwap, you’ll definitely want to give IBM’s solutions a look before making a final purchase decision.
Infinidat: Infinidat’s NVMe arrays offer feature sets in line with what you would expect from a premier storage provider. That includes 100% availability and reliability through a self-healing architecture, predictive failure analysis, and triple hardware redundancy–all big selling points. Couple that with a modern HTML5-based control panel, REST APIs, and command-line tools, and Infinidat’s offerings stand up well against those of competitors.
NetApp: NetApp offers a variety of storage solutions across a couple of product families. In addition to conventional NVMe storage arrays, NetApp also offers its StorageGRID SDS suite. StorageGRID enables a hybrid storage solution that has the potential to save you money by optimizing where your data resides in order to balance performance against cost.
Pure Storage: Pure Storage tackles availability and redundancy head-on with its Purity ActiveCluster solution. While clusters traditionally require hardware from the same vendor, Pure Storage really doesn’t care where you keep your data, whether that’s another Pure Storage array, an NFS target, or a cloud endpoint. Obviously, there are performance and management benefits to keeping things in the Pure Storage family, but the flexibility to make use of existing infrastructure is a huge benefit.