FlexDisk, a Robust VMDK Delivery System

In just a few weeks, Liquidware Labs will go live with the introduction of FlexDisk, heralding a new evolution in User Management.  ProfileUnity with FlexApp already boasts some of the fastest logon times and smoothest Application Layering in the industry.  However, even our own current impressive performance will pale in comparison to ProfileUnity User Environment Management with new FlexDisk technology.  FlexDisk, planned for release in ProfileUnity v6.5 in Q1 2015, will deliver the entire user profile and application layers to both persistent and non-persistent desktops with unmatched speed and flexibility.

What is FlexDisk?

Before I talk about leveraging VMDKs to deliver an entire user profile or application layers (FlexApp 2.0 driver-based Registry/Filesystem Layering) it’s important to talk about FlexDisk itself and how this feature will offer scalability and high availability (HA) out of the box.

Scalability and HA are critical in VDI environments.   In a scenario where the VMDKs being delivered control whether or not users are able to perform their jobs, it’s important that the VMDK Delivery System is designed to deliver HA and Scalability.  Both of these attributes are equally important and you must provide both reliably or risk having a single point of failure or SLA issues arising from lack of content that is required by users to access workspaces.

At Liquidware Labs we believe it shouldn’t take an admin days to setup HA.  Most vendor demos of what it takes to setup a single node system are over-simplistic.  In fact, there is a great deal of work required to setup an HA system and or a system that can handle 10,000+ desktops out of the box.  Unless you are using ProfileUnity with FlexDisk.

As an added bonus, when you want to scale out your environment, with ProfileUnity and FlexDisk, all you will have to do is run the Installer, hit “Next, Next, Finish” and then tell ProfileUnity about the new nodes, and the rest is handled for you.  We will be making a beta of the product and video available which demonstrates how to setup this product in order to give you a preview of how intuitive it is to use these technologies.

ProfileUnity/FlexDisk in HA mode will be end-to-end where all we bring is operating systems and the  ProfileUnity 6.5 Installer.   No external DB clusters are needed.  No extra software is needed.  No DBA is needed. Keep in mind the super simple ProfileUnity features where the Console can be powered off with NO clustering will still be available, but if you want to leverage VMDK storage to deliver an entire user profile and Application Layers, you will now have the option.

What are the parts that make up FlexDisk?

  • ProfileUnity
  • Fabric (RabbitMQ)
  • FlexDisk Service
  • CSmonitor (Broker Monitor)
  • Database (MongoDB)


ProfileUnity’s role related to FlexDisk is automation of deployment, management and integration of FlexDisk into the ProfileUnity UI to allow the delivery of a user profile or application layers via VMDK to persistent and non-persistent desktops. This automation includes all services in the FlexDisk, Fabric (RabbitMQ) and Database (MongoDB) stack. This consolidation ensures ease of use for deployment, configuration and management of clustering. The goal is to abstract away the under-the-hood management of Fabric (RabbitMQ) and Database (MongoDB) in order to let ProfileUnity handle this for you.

Fabric (RabbitMQ)

RabbitMQ is a message broker.   Below is a definition of a message broker (Wikipedia) and a link to the full article that describes all the attributes of a message broker.
Wikipedia  – http://en.wikipedia.org/wiki/Message_broker
“Message broker is an intermediary program which translates the language of a system from one globally acceptable language to another by way of a telecommunications…” Read More

What is the point of FlexDisk using a Fabric?

The goal here is to AVOID having mission critical actions going to a single IP that could fail or be over burdened with traffic. By using a messaging Fabric to get data between point A and point B, message data is replicated on many stateless nodes and multiple paths to get from point A to point B. In the event of a failure of any one node, the data can still continue to travel to point B via the other many stateless nodes and paths that are still available, creating a highly available and scalable system. Having many nodes ready to handle inbound data also creates a system that can scale at times when you may have many users logging in.  By leveraging a Fabric, it doesn’t matter whether you have only a few hundred users or if you have 50,000 users — it all works — because we can just keep adding nodes for scaling if needed.

FlexDisk Service

The FlexDisk Service is the main service that handles all provisioning of VMDKs, i.e.,  creating VMDKs, formatting VMDKs, taking snap shots, and handling who gets which VMDK, etc.  It’s able to do all of its management remotely via VMware vCenter API’s, so there is no need for SSH or console access to ESXi hosts or the need for heavy vCenter search queries to find the desktop you’re logged into. When a user logs into a desktop, a message is sent to one of the many fabric nodes about who and what desktop is logging in. Then one of the many FlexDisk nodes processes the request and attaches the correct VMDK based on the administrator configuration.


This light weight broker agent sits on each View Broker and sends information to the Fabric about which user has logged in and logged off a desktop. Then one of the FlexDisk services nodes picks up the request to either HOTADD the VMDK for a login or remove the VMDK for a logoff event.


ProfileUnit with FlexDisk includes a highly scalable and highly available database. This database can be configured in a three node+ replica set for high availability.  This is done automatically for you when you make ProfileUnity aware of new nodes. The goal here is again to  provide a layer of abstraction by automating MongoDB clustering and management, as well as removing the need for the client to have a DBA just to manage the database.

In the future, as ProfileUnity adds features like real-time license metering, real-time concurrent licensing and profile statistical reporting, among others; the Fabric and new database are the building blocks that can make all this happen in a scalable and HA method.

Here is just a sample of the UI where you get feedback on node status:


See the Diagram below for a visual reference of the FlexDisk Fabric:FlexDisk

3 thoughts on “FlexDisk, a Robust VMDK Delivery System

    • Chris, to start FlexDisk is only View, we just have to build the broker monitor for Citrix to support VMDK for XenDesktop. However in this same release we plan on supporting FlexApp, our app layering technology with VHD for both XenDesktop and XenApp, XenApp is the really exciting one! Just think about a PVS driven XenApp image without apps, then all the apps are layered in on boot!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.