Ultimate Guide: All You Need To Know About VDI
Author: Haziqa Sajid
In this guide to VDI, we will learn together about all you need to know about VDI as a desktop virtualization technology.
By the end of this guide, you’d have learned about:
- What is Virtual Desktop Infrastructure (VDI)?
- Brief history of VDI
- How does VDI work?
- Different types of VDI deployments
- Common use cases for VDI implementations
- Pros and Cons of VDI over other alternatives
Let us begin from the basics.
VDI Explained: What is Virtual Desktop Infrastructure?
VDI stands for Virtual Desktop Infrastructure and is a type of desktop virtualization solution that utilizes Virtual Machines (VMs) to run and manage virtual desktops and applications.
In a VDI deployment, a physical server runs a desktop Operating System (OS), like Microsoft Windows. The desktop is then virtualized as an “image” and is streamed over the internet (the cloud) to an end user’s device.
This scheme allows users to access the OS and the applications managed by the OS without having these OS and applications stored on their own endpoint device, which can offer many different benefits for the end-users and the company investing in VDI.
For example, if an application traditionally requires a powerful desktop computer to run it (i.e., video editing and processing software), with VDI, users can access and run the application from a “weaker” and more affordable device, including thin client devices or even mobile devices (smartphones and tablets).
A Brief History of VDI
The actual term “VDI” was originally introduced by VMware, one of the pioneers in the cloud computing industry, back in 2006.
Since the early 2000s, many VMware users have already used VMware and ESX servers to host virtual desktops using Microsoft’s RDP (Remote Desktop Protocol), but VMWare didn’t offer any real connection broker back then.
In 2006, VMware launched its VDI alliance program together with Citrix and Microsoft, and VMWare also released its first VDI product to support the program, called VDM or Virtual Desktop Manager. VDM was later renamed as View, then evolved as the ever-popular VMware Horizon.
However, the initial adoption of VDI was marred by licensing issues, mainly due to Microsoft’s rather strict requirement for Virtual Desktop Access (VDA). Back then, Microsoft required organizations to pay $100/device/year of VDA licensing for each Windows virtual desktop hosted on servers. This is obviously a substantial cost, especially for companies that use devices with non-Windows devices that weren’t manufactured by Microsoft.
To tackle this issue, many organizations use Windows Server as the main OS for VDI, allowing the organization only to pay a one-time fee for the Windows Server license since Microsoft Software Assurance licensing also included a VDA license for devices with Windows OS.
It was only after 2014 when Microsoft allowed Windows licenses (including VDA) to be assigned per user rather than per device, that the adoption of VDI began to gain widespread popularity.
As a result of this increased adoption of VDI, many companies began offering virtual desktops in a subscription model in the mid-2010s, known as DaaS (Desktop as a Service). Amazon, Citrix, and VMware were among the pioneering companies launching their respective DaaS products back then.
Since then, the VDI market has been growing rapidly, especially for cloud-based VDI (or DaaS). It’s also no secret that the global COVID-19 pandemic throughout 2020 and 2021 has also increased remote working all around the world, and many companies have adopted VDI to facilitate their workers’ transition to the work-from-home environment.
VDI VS Desktop Virtualization
The terms “VDI” and “Desktop Virtualization” are often used interchangeably. Yet, although they are deeply related to each other, VDI and desktop virtualization aren’t one and the same.
To explain, “desktop virtualization is a generic term for any technologies that are designed to encapsulate a desktop OS and desktop environment from the hardware used to run it.
VDI, on the other hand, is a type of desktop virtualization, and there are other technologies of implementations of desktop virtualizations available such as RDS (Remote Desktop Services) or DaaS (Desktop as a Service solution).
VDI VS VM (Virtual Machine)
Similarly, VDI is often confused with VMs (Virtual Machines).
We can think of virtual machines as the technology that makes VDI possible. A virtual machine is a software program that is designed to partition a physical computer (server) into multiple virtual computers/servers by using a hypervisor. Due to its nature, this process is also often called “server virtualization” or “desktop virtualization.”
There are many different use cases of virtual machines, including running a virtual desktop OS in a VDI deployment.
How VDI Works
The main purpose of a VDI deployment, as discussed, is to facilitate easy, fast, and secure access to a virtual desktop so end-users can remotely access full desktop experience from anywhere and with any device (including affordable thin clients and mobile devices).
While different VDI solutions may differ in how they actually operate, all VDIs operate with the following principles:
- The VDI provider server (i.e., stored in a data center) runs Virtual Machines (VMs), which in turn, run virtual desktops.
- Each virtual desktop within the VM runs an image of Operating System (OS), typically Microsoft Windows or Windows Server.
- Depending on the capability of the server hardware, multiple instances of Virtual Machines can be housed on a single server.
- End-user devices access the virtual desktop image by connecting itself to the server (i.e., via the cloud). The connection must be maintained so that access to the virtual desktops can be sustained.
- Hypervisor software is responsible for creating, running, and managing the VMs, each of the VM running an individual virtual desktop environment.
- A connection broker (the VDI software layer, acting as an intermediary between end-users and the VMs) will find a suitable virtual desktop for each end-user.
Requirements of a Successful VDI Deployment
In an established VDI deployment, end-users can remotely access the virtual desktop and its applications in just a matter of minutes, even seconds.
However, behind the scenes, there are actually many different processes involving several distinct technologies before the virtual desktop can be presented to the user.
A successful VDI deployment would require:
- At least one hypervisor, responsible for hosting the Virtual Machines (VMs) that will deploy the virtual desktop as VDI. Different types of VDIs may require a specific type of hypervisor. VMware Horizon, for example, can only run on VMware’s own ESXi hypervisor.
- For applications that will involve heavy graphical performance (i.e., CAD), a virtual Graphics Processing Unit (vGPU) may be needed, and the vGPU may require a specific type of hypervisor (i.e., Citrix Hypervisor or VMware ESXi)
- A method for creating and distributing VDI images, which can vary depending on the clients’ needs. In general, the lower the number of images needed in a deployment, the easier and more affordable the management effort for the VDI will be. However, in complex deployment, it can be difficult to stick to just a single image.
- Storage resources. Depending on the use case, a large storage size may be needed and can be the most expensive aspect of the whole VDI deployment. It’s crucial to closely and regularly monitor the actual storage requirements of the VDI deployment to ensure efficient usage of storage.
- Not a must, but layering technologies may be used to support the VDI images, especially in non-persistent VDIs (more on this later). Layering technologies will provide an easier time for users to customize the virtual desktop. For example, a graphic designer user may choose a layer with Photoshop, while an engineering user can choose another layer with CAD within a single virtual desktop environment.
- Technology and infrastructure to secure user communications, especially by implementing SSL/TLS 1.2. VDI will naturally involve a regular transmission of sensitive/confidential data, so ensuring security, privacy, and integrity is a must.
- The endpoint computing device (i.e., desktop, laptop, thin clients, smartphones, etc.)
HCI and VDI Implementation
For larger enterprises, an HCI (hyper-converged infrastructure) may be needed to implement VDI to accommodate the performance requirements and scalability needs of the said VDI.
However, for smaller organizations (i.e., those that will require under 100 virtual desktops), HCI is not a requirement.
Benefits of VDI
Implementing VDI has many benefits, including but not limited to:
- Lower device requirements
With VDI, very little actual computing actually happens at the endpoint device. This allows users to use less powerful (and more affordable) devices and can also allow the company to extend the lifespan of older devices by repurposing these devices as VDI clients. In the long run, this can lower the overall costs needed to purchase end-user devices.
Another key benefit of VDI implementation is how it supports remote and mobile workers, which are increasingly becoming a substantial percentage of the workforce due to the global pandemic situation in the past couple of years. VDI can be a viable solution for employers in facilitating these remote workers with an optimal working environment as if they were working in the office.
- Improved user experience (UX)
VDI offers stability and consistency for end-users. No matter where and with what device these end-users are working from, they’ll always get a consistent experience: same user interface, same application, same environment, eliminating the need to adapt to a new platform. Today’s technologies have allowed VDIs to offer a very similar experience to a physical workstation with minimal latency and optimal user experience.
- Improved security
VDI allows enterprises to store all confidential and sensitive data in the centralized data center rather than on the endpoint devices. The IT department can also easily monitor everything centrally and implement any updates and security fixes easily when needed. All of these will translate into increased security.
When an organization needs to expand (i.e., when hiring new employees), they don’t need to purchase additional endpoint devices and can simply expand the VDI environment, which typically just requires a phone call to the vendor.
Use Cases of VDI
In theory, VDI can be used in all sorts of use cases. However, it’s still crucial for organizations to first carefully assess their employees’ needs and behaviors, especially regarding the tasks they are performing and where they work.
In general, workers who perform work on desktops from a centrally located site could benefit the most from VDI. However, mobile remote workers who work from a variety of different locations may not always benefit from VDI, although the implementation of non-persistent VDI (more on this later) can still benefit this type of worker.
We can also differentiate users based on how they work (i.e., the resources they use, whether the applications used are graphics-intensive, etc.) and we can basically categorize these employees into four main categories:
- Task workers
Those who don’t require any unique applications and/or resources to perform their work. They mainly work with a small set of applications and don’t need to access their files to perform their tasks. VDI deployment can be a great fit for them. Call center agents are an excellent example of task workers.
- Kiosk users
Users that typically work with a shared resource (i.e., in a computer library). They can benefit from VDI without affecting their workflow.
- Knowledge workers
This type of worker may require a specific application (or set of applications) and typically require more resources than task workers. They can still be a great fit for VDI, especially for non-persistent VDI. Analysts and auditors are some examples of knowledge workers.
- Power users
This type of user requires heavy computing resources and typically needs resource-intensive applications to perform their work (i.e., graphic designers, video editors, 3D designers). Implementation of VDI can be challenging, but in certain cases VDI workstations can be used.
There are also a number of use cases that are uniquely suited for VDI deployments, namely:
- Highly regulated industries
In situations where enterprises are required to comply with regulatory standards (i.e., healthcare companies), VDI can be extremely beneficial since data can be stored centrally in a secure data center to ensure security and integrity. Employees can’t store private or confidential data on their devices.
- BYOD (Bring Your Own Device)
Companies implementing BYOD policies (allowing or requiring employees to use their own devices) can also greatly benefit from VDI. VDI will eliminate the need to integrate applications within the user’s personal devices, allowing users to easily and quickly access the virtual desktop and applications needed to perform their work without additional configuration. This can also allow IT to easily maintain and update OS and applications centrally.
- Highly secure environments
Enterprises that must prioritize high-level security (i.e., banking, finance, military) can also benefit from VDI. The VDI deployment can allow the company to have more thorough monitoring and control over user desktops while also implementing strict access control to prevent unauthorized people and software from entering the secure environment.
- Shift work
Persistent VDI deployments can be a cost-effective option for organizations that have a lot of task workers working in shifts (i.e., call centers).
- Remote workers
For companies with remote employees, VDi can also be a viable solution to facilitate a more secure and streamlined working environment for their remote workers. Virtual desktops can be easily deployed and updated from a centralized location to ensure security and performance.
Persistent VS Non-Persistent VDI Deployments
Based on deployment, we can differentiate VDIs into two main types: non-persistent and persistent.
In a persistent VDI deployment, each end-user has their own desktop image, so a persistent VDI runs in a 1-to-1 ratio.
On the other hand, non-persistent VDIs run in a many-to-1 ratio: many end users share a single virtual desktop image. Both types of deployments have their own benefits and drawbacks, but the main difference between the two lies in whether end-users are able to permanently install applications to the desktop and make any modifications to their virtual desktops.
1- Persistent VDI
In a persistent VDI, an end-user receives their own personalized VDI environment, locked behind their own authentication (i.e., username and password).
Since the VDI environment is permanent and personalized, end users can store their own personal settings (i.e., shortcuts, configurations), and can also save files to the virtual desktop and the applications running within it.
Due to this nature, a persistent VDI offers several unique benefits:
Since a virtual desktop image is assigned to each individual user (and each endpoint device), users can freely personalize and customize their virtual desktops.
- Easier adoption
Since persistent VDIs behave more similarly to the traditional desktop experience, users will have an easier time adapting to the new environment.
- Stability and usability
End-users can save personalized files, shortcuts, and configurations, which can contribute to their efficiency and productivity.
However, persistent VDIs also have their own downsides:
- More challenging maintenance
Since each end-user is given a unique virtual desktop image, maintenance and updates must be performed on each individual image, which can be increasingly challenging as the number of end-users grows.
- Storage requirements
With multiple virtual desktop images, persistent VDIs require more storage space than non-persistent VDIs. More storage requirements can ultimately translate into an increase in costs.
2- Non-persistent VDI
In a non-persistent VDI deployment, all end-users will get a fresh VDI image that is refreshed upon each login. So, users can’t personalize the desktop and can’t save their files and data within the virtual desktop.
This VDI deployment model offers several key benefits, namely:
- Easier maintenance
Since in a non-persistent VDI deployment, there’s only a single desktop image (or very few, depending on the deployment), it’s much easier to maintain, update, and secure the image than managing an individual desktop for each end-user.
- Lower storage requirements
User data is retained in each endpoint device, so the actual VDI deployment will have lower storage requirements. Again, less storage will translate into lower overall costs.
However, non-persistent VDIs will also have their drawbacks:
- Limited personalization
Customization and personalization are more limited for non-persistent VDIs.
Since end-users can’t customize the virtual desktop, it can lead to various issues. Inability to save personalized shortcuts and files can also hinder productivity.
However, in a non-persistent VDI deployment, it’s possible to configure the endpoint device so that user profiles, applications, and other critical data are appended at launch to minimize the personalization issues.
Best Practices in VDI Implementation
While the actual VDI implementation will be unique depending on the enterprise’s actual requirements and needs, below are a number of best practices to follow in any VDI deployment:
- Ensure optimal internet connectivity
No matter how good a VDI deployment is, it will be limited by network performance. Ensure a fast and reliable internet connection, and anticipate when the VDI usage will be the highest/lowest to ensure optimal network performance at all times.
- Know your users’ needs
Your VDI deployment should be designed based on your end users’ needs and not the other way around. Is customizability a must for your users (i.e., for creative and knowledge workers)? Or are most of your employees task workers who can optimally work from a generic desktop environment? What are the performance requirements of your employees? If necessary, you can provision different VDI setups for different users (i.e., persistent VDI for task workers and non-persistent VDIs for graphic designers.)
- Ensure optimal provisioning
Know your team’s needs and requirements. Use performance monitoring and analytics tools so you can accurately understand the overall resource consumption and the resources consumed by each virtual desktop.
- Test everything before deployment
most VDI providers offer test environments that allow you to test the VDI implementation before the actual deployment. Make use of this and test everything. Especially make sure whether you’ve provisioned your resources accurately.
VDI offers more versatility and a better user experience for remote workers while also allowing enterprises to implement more centralized access control and monitoring to improve security and performance.
While VDI is obviously not perfect, it can be a viable and cost-effective solution for any organization looking for ways to facilitate their remote workers with an optimal desktop experience without requiring powerful and expensive endpoint devices.
V2 Cloud offers simple and affordable VDI solutions. With V2 Cloud’s cost-efficient and scalable VDI deployment, you can have more time to focus on achieving your business objectives rather than worrying about your virtual desktop solution’s performance and maintenance.