Back in 2014 when I left VMware and joined Nutanix, I wrote two articles entitled “Hands Down the Ultimate VDI platform” (here and here) explaining how hyperconvergence and more specifically Nutanix were the perfect platforms for running VDI – and in all honesty that was one of the primary reasons I left VMware EUC CTO Office. I saw the opportunity to help thousands of organizations struggling with VDI deployments….and I was right, hyperconvergence is pretty much the default deployment model for VDI nowadays.
“We are products of our past, but we don’t have to be prisoners of it.”
The hyperconvergence primers that radically changed how VDI is deployed included the ability to efficiently scale-out deployments and seamlessly ramp-up from dozens to hundreds and to thousands of users, the data locality making virtual desktops work primarily from host attached flash, the data services that eliminated duplicated data across hundreds or thousands of virtual desktops, and the ability to provide VM level replication for persistent desktops.
That was in 2014, and now we are in 2018! It’s amazing how new technologies can be created and proliferated in few years. Five years ago you did not play AR games like Pokemon Go, and rockets were not landing vertically.
Today, I am convinced that the technology provided by Datrium is the best solution for on-premise VDI deployments, and I would like to explain what makes it Hands Down the Ultimate VDI platform. Moving ahead I may refer to Datrium as OCI (Open Convergence Infrastructure).
- OCI provides comparable HCI capabilities:
- Scale-Out (Pay as You Go)
- Data Locality with flash for performance
- Data Services (Inline deduplication, compression, and erasure coding)
- VM level replication for persistent desktops
2. Open Convergence drastically improves upon and extends HCI capabilities:
New and Existing Servers
HCI commonly specifies the precise server brand, model, and configuration that needs to be obtained, making the rollout of virtual desktops always a Green Field initiative, with the associated costs of obtaining new hardware.
OCI does not impose hardware limitations, and new and existing servers, rack or blades, can be used as part of the deployment. Moreover, because there’s no East-West traffic between servers, older hardware generations do not impact the performance of new hardware performance, unlike HCI. This approach also directly benefit the Return on Investment and Total Cost of Ownership of the overall solution, making VDI more accessible than ever before.
Stateful vs. Stateless
HCI protect desktops with copies of the virtual desktop data across servers, creating East-West traffic. Data is persistently stored on each server. For large deployments, due to the high networking traffic across servers, networking may need to be updated with Spine-and-Leaf architecture.
The fundamental premise of OCI is that servers are stateless and data is not persistently stored on servers, making all the data on host flash ephemeral. A server failure doesn’t generate data resiliency problems, unlike HCI.
When a server fails, the required data for virtual desktops is instantaneously uploaded to the new target host flash from a highly scalable persistent data pool. Furthermore, universal dedupe and crypto-hashing will ensure that common data across virtual desktops (Windows binaries, application files etc.) already exist on the new target host, removing the need to upload that data in many cases. Because all the data from virtual desktops are fully de-duplicated on the persistent data pool – 1,000 virtual desktops look like a single image from a persistent storage capacity perspective.
Multi-Dimensional Growth (Performance vs. Capacity)
VDI workloads are heavy in IOPs that can be pretty much delivered by most HCI vendors using locally attached flash. I don’t believe performance for VDI is an issue for any vendor today. However, to scale the number of virtual desktops, servers must be added to the cluster, and with new servers, loads of storage capacity are added because HCI vendors specify the hardware vendor, model, and config – generally speaking a combination of flash and HDDs.
Unlike HCI, OCI enables capacity and performance to grow in different dimensions. If performance is needed, add a new server with one or two flash devices; meanwhile, if capacity is required, add another datanode – up to 10 datanodes and up to 1.7 petabytes of usable capacity.
It makes no sense to keep adding storage capacity that will never be used by the VDI solution. In some cases, a portion of this extra capacity can be used for user profiles; but is still overkill.
Non-Persistent, Floating and Instant Clones
When it comes to Non-Persistent, Floating and Instant Clones, makes no sense to run them on servers with persistent storage, replication factors and RAID overhead.
Unlike HCI, OCI will only store ephemeral data on hosts without the overhead of RAID or mirroring. Only the virtual desktop data that is unique across all virtual desktops on the deployment are then erasure coded (triple mirroring N+2 parity) to the persistent data pool. As you can imagine, over hundreds or thousands of virtual desktops the data commonality is exceptionally high. This method and trait also enable drastic reduction on the amount of data being sent over the network.
Many organizations still like to have some of their desktops be persistent across users and sessions.
To be cost-effective, vendors recommend that HCI clusters be configured with two-way mirroring, instead of three-way mirroring. No enterprise that is serious about their data should be using RAID5 in 2018. According to Wikipedia, Dell posted an advisory against the use of RAID 5 back in 2012.
Unlike HCI, OCI always protects virtual desktops with erasure coding (distributed three-way mirroring with N+2 parity stripes) keeping a backup (or copy) of all deduplicated data on a scalable data pool, while the host running the virtual desktop has just an ephemeral copy. Just like with the non-persistent model, only virtual desktop data that is unique across all virtual desktops is persistently stored in the data pool – the universal deduplication operates across hosts and the data pool.
While HCI enabled the scale-out approach for virtual desktops solving the SAN scalability issues, most HCI vendors will recommend a maximum of 16-24 hosts as part of a single cluster deployment. The outcome is significant management overhead for multiple clusters. Sometimes this management can be aggregated via a user interface that combines the deployment view, but clusters still need to be managed independently.
Datrium has been externally validated by IOmark with 128 servers and ten data nodes, providing up to 18M IOPS, 256 GB/s of random write throughput, and 1.7 petabytes of useful capacity (deduplication and compression are assumed here, but virtual desktops, in general, have high data avoidance and deduplication ratios).
Another interesting point is that Datrium will support multiple VMware vSphere clusters as part of the same Datrium domain, presenting a single namespace across VMware clusters.
(*)There is a caveat that I would like to share. Today Datrium supports VMware and KVM (CentOS and RedHat) hypervisors, therefore if you are looking for a different hypervisor solution, we cannot help you today.
I have been in the End-User Computing and storage industry for a long time, and I don’t take my credibility lightly. I am the first one to say that hyperconvergence made a lot of sense and truly helped many organizations. However, when new technologies come to light and start to hit mass adoption, we all must ensure that we are not prisoners from the past and look for alternatives that take us to the future.
Things can change, and maybe in another five years or ten years, there will be another excellent solution that builds atop of OCI and make things even more awesome. Today, and for the foreseeable future, I am convinced that Datrium and OCI offer the best solution for running virtual desktops, be it Horizon or Citrix, Persistent or Non-Persistent, VDI or Session Host.
This article was first published by Andre Leibovici (@andreleibovici) at myvirtualcloud.net