What is Virtual Desktop Infrastructure VDI and Desktop as a Service (Daas)?
Virtual Desktop Infrastructure or VDI sometimes grouped in with Desktop as a Service, hosted desktop, cloud desktops or just virtual desktops is a type of technology that provides users with virtual computer desktops rather than the physical, traditional desktops.
The VDI concept may be a bit hard to grasp. Let's break it down.
Conventionally speaking, a desktop is a computer you go to a store and purchase. You place it on your desktop at home or office and you can then browse the Internet, stream movies or edit documents, etc.
This physical computer you buy has multiple components needed for it to work.
- The computer (operating system and software on it)
- The monitor
- The Keyboard / Mouse
All those components are sitting on your desk (or lap if it's a laptop). They are all in the same place/room.
A virtual desktop is different from a physical desktop in that the computer and applications installed on it are not physically in the same room as you. In fact the computer with the applications may be hundreds of miles away in a data center or a cloud somewhere. The VDI / DaaS technology is what makes you able to access that remote computer as if it is local to you. It will allow you to see the desktop and the applications installed on it on your local monitor and interact with it using your local keyboard and mouse as if its sitting under your desk. This As-If is what makes it virtual.
Wait, what's the difference between VDI and Desktop-as-a-Service DaaS and Cloud Desktop or are they the same?
Oftentimes VDI and DaaS are used interchangeably, however there is a difference. VDI is the actual underlying technology that makes the virtual desktop possible. Desktop as a Service or DaaS is used to refer to a paid service that provides VDI in the Cloud. Usually a hosting company provides DaaS. If you implement VDI in-house, then you wouldn't be using DaaS (since you're not paying a provider to provide it to you).
Benefits of VDI and DaaS?
So You may say that makes sense, but why should anybody use this VDI model? What's the point of moving the actual computer to the cloud?
The benefits are actually huge for the following reasons.
- Your data is never lost.
That's right. VDI is designed to improve manageability and control. A good VDI solution includes continuous backups of the desktop environments of the users. This means if you deleted a file on accident (even from the recycle bin) the file can be restored. Or if you lose your laptop, you can still access your applications and data because it's all in the data center.
- You can access your desktop from anywhere.
VDI allows you to access the applications and data stored on your desktop from the cloud. You can for example, be working from the office on a document on Microsoft Word, go for dinner and come back home and continue working as if you never left your office. You will still see the Word document up where you left it at the office although you are at home.
- If you are a company with many employees, you don't have to manage the employees' physical desktops or upgrade them any more that means you save money.
Companies and IT know that management of desktops is hard. You have to purchase the expensive desktops, install them, upgrade them every few years, add resources, troubleshoot failed drives, etc.. With the centralized nature of the virtual desktop in VDI, all you have to manage physically now is the thin clients. Which are designed to be low maintenance.
- You can roll back your desktop if it gets compromised with malware or viruses.
One of the biggest pains of traditional desktops is dealing with malware and viruses. With VDI, this is much less of an issue because a desktop as whole can be restored to the date before the desktop was infected.
- Easier management of many desktops
Due to the hosted centralized nature of the desktops, IT can access, manage, update the desktops much easier than before when getting physical access was needed.
- Standardize applications and desktop settings for many desktops on your network.
How often has IT seen the case where an application runs on a desktop but fails on another? VDI allows very good standardization of desktop configuration in such a way that all users access desktops that are very identical.
- Easy resource management and scaling.
Say a user needs more RAM or disk space, IT in the past had to order that part, go to the user's computer and install it. If it's a laptop, you need to purchase a new laptop. With VDI, servers are loaded with extra resources and upgrading a desktop is a matter of minutes.
- Cheaper provisioning of new desktops for new employees.
When new employees or contractors come on board, there is no need to order hardware, etc. A new desktop can be provisioned in minutes.
- Self Resetting Desktops (optional)
In certain cases users need only temporary access to a desktop. This is very popular in education. Let's say that users walk into a class to use software during the class. Ideally the computer in the lab will reset back to its good configuration in case the previous users loaded personal data, installed custom software or was even malicious. This guarantees next users a clean slate to work on.
The VDI/DaaS User Experience
It is important when considering a VDI or hosted virtual desktop solution to know how this solution will affect user experience. Many decision makers sometimes overlook the importance of user experience while being excited about the features of the product or service. The same applies to Cloud VDI/Desktop-as-a-Service.
What we want to answer is under optimal circumstances, how does the experience of a user on a virtual desktop differ from his/her experience on a traditional desktop? Of course if the user is in a remote area with bad internet connection, their experience will suffer. That is not what we cover here but under ideal conditions (IE excellent internet connection, low latency, high bandwidth, plenty of horsepower on the server) how does this solution feel like to the user?
Latency is worst- One fact is that anything remote will experience latency. What is latency? Let's simplify it and say that latency is the time it takes a keystroke on your keyboard to appear on your screen. Because the hosted desktops are natively remote, if you press a button on your computer your local computer has to send this command to the server, the server has to process it and then the server has to send back the updated visual on your screen to show the newly typed letter. Bottom line is latency is worse when using VDI period than a local computer. Good news is that internet speeds are so good now that this is almost negligible so users never tend to complain about it. To have a good experience with VDI you must ensure that the latency is sub 80-100 milliseconds.
Visual Refresh is slower - Say you are watching a video or YouTube on this system the user will likely not have a fast enough refresh rate coming from the server to show a seamless video no matter what. Certain implementations of VDI with GPUs can improve this experience but it will probably always exist.
Audio (speakers and microphone) is choppier - Same goes with audio. Traditional audio on a virtual desktop will need to be transferred from the local user's computer to the server hosting the desktop and out to the people on the other end of the line then back to the server and finally back to the user's local computer. That is a lot of hops which will add lags and possibly lost packets to keep up. There are different types of solutions that address this which we will not cover in this guide.
User's Workflow may be the same or even better. By workflow we mean doing work on the hosted desktop, accessing files, editing files, email, browsing etc. This should be very identical. It may improve because the space may be cleaner, more organized and less cluttered than a local computer. This is because often those virtual hosted desktops are usually locked down and designed for work. For example users are often not allowed to install their own software there that they download from the web etc.
Disadvantages to VDI
Just like any solution, there are benefits and drawbacks. Some things to consider about VDI.
- It may be expensive to set up
- It is complicated to set up
- It requires technical expertise
- Requires ongoing maintenance on the data center side
- All your users depend on the internet, so if the internet goes down you users can't do work.
If you decide to go with a DaaS provided by a service provider, then of course there will be an ongoing cost to have the desktops hosted.
Barriers to Adopting VDI
VDI may not work well for your company or you as an individual if:
- You have a poor Internet speed. Since VDI depends on network / Internet access it may not be the best option for you.
- You use special software such as Graphics/CAD. Although proper VDI deployments do tackle that issue, GPU and Graphic software need special VDI requirements hardware and can be expensive.
- Licensing Complications. Some software vendors may have special licensing requirements for VDI desktops
- You are looking for hosted Mac Computers. Those are not supported because Apple doesn't allow MACs to be accessed as virtual machines.
Types of VDI Implementations
There three types of VDI solutions that are common.
Session Based Desktops
Session based desktops is a type of desktop access where multiple desktops are created for each user on the same master machine. Desktops are isolated from each other by sessions. Those session desktops are essentially using the same master desktop except each user is separated by screen divider if you will.
Those types of desktops are not very personalizable and users often can't do much other than use the applications available to them.
Remote Apps are a way for users to access desktop applications without having to log into a full remote desktop. Users can launch applications and they will appear on their computers as if it was locally installed and will show in their local desktops task bar.
This type of desktop deployment is interesting and quite smart. This is a type of solution where compared to session based, each user actually gets a dedicated virtual desktop with designated RAM and CPU just for them and isolation is done at the VM rather than just memory.
This type of deployment is driven by a virtual desktop image (sometimes referred to as the golden image. Think of this image as the baseline for all users logging in. It has the most basic and fundamental configuration, software you want all users to have.
When a user logs in, they get a virtual desktop based on that image. At that point they have a full machine just for them.
When they log off, all changes done to the machine are gone. That's right. If they installed software, the software is gone. But what is the point of this you may ask?
It has some good use cases:
- Students logging into a computer lab are usually only accessing the desktop for the purpose of training. When they leave the lab, new users don't want to see the files, etc of the previous user. Even when the user himself logs back in, he/she needs to start have an untampered environment with bad configurations.
- Employees logging in to do some work will always have a consistent desktop environment to work on.
Note that personal files that users work on can be stored for next time use. This user specific data is stored under the user's profile. However, everything about the configuration, software on the machine is gone.
As you may know from personal experience, desktops are fickle and can be destabilized with malware, custom software, configuration changes, etc. This makes the desktop break eventually and this type of self resetting desktop is perfect to create consistency and stability.
Dedicated / Personal Desktops
Personal Desktops is the classic desktop we know. It is still virtual, however here each user is given their own virtual desktop that is persistent and never resets itself. If a user installs software, downloads files, logs off and logs back on, everything remains there.
Those desktops are perfect for developers, users that need good control over
What are Thin Clients and Zero Clients and their Role in Virtual Desktops?
To connect to a virtual desktop that is hosted on VDI infrastructure you need a client. This can be your computer or it can be a thin client. The thin client is also a computer, except it is thin in capabilities. So it may have less CPU and RAM and even software installed on it that a traditional computer client. So really all it is is just a computer with the bare minimum and lowest cost with the sole purpose of connecting you to a hosted virtual desktop.
A Zero Client is also a computer except even thinner than a thin client. So a Zero Client gives you even more bare-bone system that almost has no capability at all but to connect to a remote desktop.
A thin client does allow you for example to launch a browser or possibly install some software, a zero client does not.
Who Are the Big Players in VDI?
VDI has become very popular. Many large technology companies are competing and offering competitive VDI solutions. The biggest VDI solutions are provided by:
- Citrix XenDesktop and XenApp.
- VMWare Horizon
- Microsoft VDI
- Microsoft Window Virtual Desktop (WVD) on Azure
Those are solutions that you can take and implement onsite by buying the servers and installing those vendor's software on it. Each of those vendors may have their own Desktop-as-a-Service Option as well.
How can my company get VDI?
To get a VDI hosted desktop solution, there are a few ways to get started:
- You can set up an in-house VDI at the data center, install the servers, hardware needed, etc. If you don't have any expertise with this option you can hire a firm that specializes in setting Virtual Desktop Infrastructure deployments. Those are often IT consulting companies or Systems Integrators.
- Use a VDI Hosting Provider that has a turn-key solution. Often known as Desktop as-a-service (DaaS). Essentially the VDI is ready to go and use from the cloud. This option is pain free, fast to set up and you can be up and running very quickly and nothing to manage.
How do users connect to the VDI Desktop?
Users will need a client installed on their machines to connect to a remote desktop. If connecting to a windows remote desktop that client would be Remote Desktop Connection program that comes with Windows. To learn more about how to use Remote Desktop Connection and all the options that come with it please visit our Complete Guide to Remote Desktop Connection for End Users.
If the VDI solution you are using is VMWare Horizon or Citrix a different client will be provided by those vendors.
Should my company implement VDI on their own or subscribe to a Desktop as a Service (DaaS)?
Here the answer depends.
Reasons to implement your own VDI would be:
- Maybe you are a very large corporation and find that it may be cheaper or more cost effective.
- You already have internal IT resources available 24/7 so you don't need to outsource the support for the infrastructure.
- Compliance Reasons. Maybe a compliance control requires you to keep the data onsite
- You prefer a CapEx pricing model.
Reasons to outsource VDI and go with hosted DaaS Solution:
- You are a small to medium sized company (5-500 Employees) and don't want to hire or train IT personnel to handle the infrastructure
- You are a smaller team so it will probably save you money to outsource this to a professional DaaS provider.
- You just want a predictable pricing model. Usually Desktop as a Service providers charge per desktop and you can scale up and down easily
- You just don't want the headache.
- You prefer an OpEx pricing model.
For a more detailed look at whether you should buy Desktop as a Service we have written this article that goes into more depth to help you make the right decision.
Use Cases and Examples for VDI
Although VDI has struggled to take over the traditional desktop completely, VDI is an excellent solution for many organizations. Here are some examples of what types of users use VDI in order of the most popular.
- The Information Worker - The information worker is the user that needs a desktop to do basic work such as editing documents, spreadsheets, data entry, or using a specific application such as QuickBooks, or any custom desktop application. This user usually doesn't need to install new software on the desktop, just needs to use applications already provided to them.
- The Power User - This is usually a developer or a specialized user that requires their desktop to be more powerful with extra CPU and RAM due to the nature of the work they do. Oftentimes a developer may need to install their own software or change computer settings both which an information worker wouldn't need to do. Power User Desktops are often more expensive.
- Graphics Designer - Those are specialized types of desktops that are packed with CPU and graphical capabilities that allows the user design, render and do specialized GPU workloads on the hosted desktop.
- KIOSK User - Those are very basic users that need access to just one application and cannot launch other applications or do anything else on the desktop. For example they can be a Library Application for people to look up books etc.
Virtual Desktops with GPUs
GPUs stand for Graphic Processing Unit. So What is their role in VDI? One of the challenges in VDI is that the workloads that require better graphical processing may suffer. If you don't need heavy graphical work for example and just need access to Microsoft Word or browsing the web, GPUs may not be needed. However if you are often watching YouTube videos, editing graphics using Photoshop or using any CAD applications like Autodesk AutoCAD, Dassault Systèmes SolidWorks, etc, then you will know exactly why a Virtual Desktop without a GPU can be a terrible experience. You will experience bad refreshes, very high latency in rending and refresh rates.
So if you have those workloads, make sure you shop for a solution that has GPUs. Nvidia is one of the most common GPU companies.
How does a GPU help? Well, a GPU is a specialized technology or chip that allows the handling for graphics and rendering etc much more efficiently than your CPU or computer processor. Your experience here will be much smoother, graphics will render faster and refreshes will not be noticeable.
What Operating Systems are available for the Virtual Desktops?
Probably the most common OS used as a virtual desktop is Microsoft Windows. Macintosh or Mac computers are never really an option because of the way Apple licenses their OS so it's never an option. Apple often ties their OS to their own hardware so they are no fans of virtualizing the desktop and letting users bypass the purchase of their hardware.
Windows Server 2016, 2019 or Windows 10 are common options.
Linux is available as a virtual desktop that could have any flavor for Linux such as Ubuntu Desktop as well.
Desktop virtualization using VDI is an alternative technology in delivering desktops for users to work on. With the increased speeds of the Internet and growth in user devices, desktops are becoming a popular option for many companies. Data, management and security are the top benefits of switching to a VDI solution.