October 16, 2018
Key Differences Between VMware Horizon and VDI
Virtualization and cloud-based services are rapidly becoming more popular. Virtualized servers that are run on virtual machines (VMs) are widely used by companies in production environments due to their advantages such as scalability and cost-efficiency. Using virtualized desktops may be also a good idea in certain cases. This blog post explores virtual desktop infrastructure (VDI), use cases of VDI, and what VMware Horizon is.
What Is Virtual Desktop Infrastructure?
Virtual Desktop Infrastructure (VDI) is a technology that allows users to host a desktop operating system (OS) on servers as well as access VM-based desktops by users remotely from different devices and locations. VDI can be deployed in a private or public cloud and considered as a type of IaaS (Infrastructure as a Service). Hence, managed service providers (MSPs) can provide DaaS (Desktop as a Service).
When Can VDI Be Used?
VDI can be used as an alternative to traditional infrastructure (where real physical desktops are used). There are some use cases for which virtual desktop infrastructure is especially handy:
- Users require access to their desktops during business trips from different locations and devices.
- A company wants employees to work remotely from home (this can eliminate or reduce office rental fees).
- A company doesn’t want to buy new workstations, and would prefer to buy only new servers.
- A company wishes to avoid the issues associated with using different hardware for physical desktops – for example, finding or installing different drivers.
- A company wishes to simplify software updates (updating on virtual desktops is much easier).
What Is VMware Horizon and When Can It Be Used?
Horizon is a solution produced by VMware for deploying virtual desktop infrastructure. VMware Horizon is also known as VMware Horizon View and integrates fully with the rest of VMware’s product line.
Horizon works differently from terminal servers such as VNC or Windows Terminal Services (previously known as Remote Desktop Services). When using terminal services, users can access the server and use applications in their own sessions according to permissions specified by the administrator(s). One physical server or virtual machine is shared by multiple users, and access to local resources may be restricted for them. Some software may not work properly with remote desktop services.
VMware Horizon is based on VMware vSphere and uses the vSphere environment for hosting virtual desktops. User desktops are VMs running on ESXi hosts. Hence, vSphere features such as snapshots, vMotion, High Availability, Distributed Resource Scheduler and others are available. The VMware Horizon VDI solution provides greater flexibility and security than terminal services, because user data is stored on virtualized servers that can be managed, updated, and backed up centrally.
Users can connect to virtual desktops through personal computers (PCs), tablet PCs, smartphones, thin clients, or zero clients. A thin client is a low-cost computing device that has low-performance hardware – typically just enough for connection to the server. A zero client is the ultrathin client that forms part of a client-server model. A zero client is a small box with an attached keyboard, mouse, and monitor. It has a network interface and provides the ability to use these devices as if you are connected to the server directly. A zero client has no storage capacity.
As VMware Horizon is a VDI solution, it can be deployed for any of the use cases listed in the previous section of this article. If you use the VMware vSphere virtualization platform, using VMware Horizon can be especially advantageous.
Components of VMware Horizon
Let’s consider the principal components of VMware Horizon.
vCenter Server is a centralized management system for VMware vSphere. vCenter can be deployed on a physical or virtual machine, but deployment on a VM running on an ESXi host is preferred, as the advantages of virtualization are available in this case. vCenter can be deployed as vCenter Server Appliance from a preconfigured OVA template. If possible, avoid using existing vCenter servers in your vSphere environment for VMware Horizon. Deploying new vCenter servers especially for VMware Horizon is recommended for licensing purposes – a Horizon license includes a license for vCenter.
ESXi Hypervisor is a physical server that hosts virtual machines. Operating systems and applications are installed on the virtual machines, which function as desktops for users. ESXi hosts are managed with vCenter Server.
View Agent is a software component that must be installed on all virtual machines that will be managed by VMware Horizon View. This service provides connection monitoring, USB support, virtual printing, and single sign-on. View Agent must be installed on any machine that should be used as a virtual desktop.
Horizon Client is an application installed on a user’s machine that communicates with View Connection Server (see below) to establish a connection between endpoint user devices and Horizon virtual desktops or applications. The client can be installed on Windows, Linux, and MacOS operating systems.
Horizon View Connection Server is a server that authenticates users through Active Directory, provides single sign-on, associates virtual desktops with users, etc. The LDAP (Lightweight Directory Access Protocol) database that is used for Active Directory authentication is copied to the View Connection Server. This is one of the core components of VMware Horizon’s virtual desktop infrastructure.
ThinApp is an optional component that is used for application virtualization by VMware. This application virtualization tool is agentless, so nothing needs to be installed on a user’s machine to run it.
View Composer is used for managing virtual desktops on vCenter Server and provides rational storage consumption by using linked clones. Rather than creating full clones, linked clones are created from a parent virtual disk (VMDK). Linked clones use special differencing virtual disks to store the unique data that differs from the data on a parent disk. Linked clones don’t work without their parent disks. You can save from 50% to 90% of your storage space by using this technology. View Composer should be installed on each instance of vCenter Server separately.
Horizon Administrator is the web interface for Horizon VDI management. It is recommended to use a dedicated Horizon Administrator instance for each instance of a Horizon Connection Server. The VMware Horizon View Administrator portal allows you to add vCenter Server and View Composer instances to your View configuration.
Connecting to Virtual Desktop and Applications with the Client
As mentioned above, VMware Horizon Client is an application that allows users to connect to VMware Horizon virtual desktop from their devices in different locations. Horizon Client is developed for Windows, Linux, Mac OS, iOS, and Android operating systems. After users enter their credentials in the Horizon Client, the application communicates with the View Connection Server to authenticate them. After authentication by Connection Server, the server finds the appropriate virtual desktops for users and provides access to them with defined permissions.
Special remote display protocols are used for providing interaction between the end user’s device and the virtual desktop. Horizon Client supports connection via VMware Blast, Microsoft RDP (Remote Desktop Protocol), and PCoIP (PC over IP) protocols. VMware Horizon supports only Blast – a special TCP-based protocol developed by VMware. A PNG/JPG-based codec is used for delivering graphic and video data. In Horizon 7.0, VMware released Blast Extreme, which allowed HTML access with a browser (this protocol can also be used for access from v4.0 or later of the Horizon client). In addition to a PNG/JPG-based codec, Blast Extreme can use the H.264 video codec. The most suitable of these codecs is selected automatically depending on the conditions.
Connection from HTML-5 compatible browsers is especially useful for clients who cannot install the Horizon Client on their device.
Users of zero-client devices should use PCoIP if these devices are designed especially for using this protocol and don’t support VMware Blast.
Thin clients must have the VMware View client installed. Visit the VMware compatibility guide page to see which thin clients can run the VMware View client. Follow the user manuals in order to configure thin clients.
VMware Instant Clone Technology and Master Desktop Templates
VMware View Composer includes a cloning option with which you can create linked clones. Before creating linked clones, you should create a Master Desktop Template. To clarify, let’s first define some terms.
A clone is a copy of an existing (source) virtual machine. The source VM is also called a parent VM. Two types of clones are usually used in virtual environments – full clone and linked clones.
A full clone is an exact reproduction of the parent VM that doesn’t share any VM components with the parent VM. A full clone is not dependent on the parent VM during the operation. The performance of a full clone is the same as the performance of its parent VM. All data is copied from the parent VM to the VM clone in this case.
A linked clone is a VM copy that shares the virtual disks of the parent VM. This allows you to save storage space and time spent on clone creation. A linked clone is dependent on the parent VM and cannot function if the parent VM is missing or is not reachable. A snapshot of the parent VM is made to create each linked clone. Differencing virtual disks (delta disks) are created after the snapshots are made. Changes to the virtual disk of the linked clone don’t affect the virtual disk of the parent VM, and vice versa.
Instant Clone is a technology introduced with VMware Horizon 7 that allows you to create clones near-instantly. This is achieved by providing rapid in-memory cloning of a parent VM in running state and using the “copy-on-write” approach. As a result, clones are created rapidly and without affecting the parent VM. Instant clones share the memory and disks of the parent VM. When a file of the VM clone is about to be changed, a copy of that data is first created, and then the changes are written to the copy of the data. Hence, all modifications made with clones are isolated from the parent VM. When a snapshot is created, the VM is momentarily frozen and a delta disk is created (VMware Tools must be installed on the VM).
VMware Instant VM Clone Technology, also known as vmFork, ensures just-in-time desktop delivery. This technology is especially useful for the purposes of providing users with virtual desktops in VMware Horizon VDI. Creating instant clones is faster than using View Composer to create linked clones, as you don’t need to perform time-consuming Refresh, Recompose, and Rebalance actions to update and refresh virtual desktops for users. A desktop can be created in a few seconds.
Let’s compare the sequence of actions for creating a linked clone with View Composer vs. using Instant Clone technology. Overall, creating a linked clone takes about 5-8x longer than creating an instant clone.
|Step||View Composer Clones||Instant Clones|
|1||Cloning||Cloning with vmFork|
With vSphere 6.7, Instant Clone technology was significantly improved; instant clones no longer have such tight dependencies with their parent VMs as they did before. New instant clones use delta disks, but the process differs from the snapshot technique used for linked clones. The new method allows you to get around disk chain length restrictions (previously, maximum 32 snapshots were supported in a chain). Instant clones now can be created not only from a frozen parent VM but also from a running VM, which helps speed up the process.
A master desktop template is a preconfigured virtual machine that is used as a base for cloning and creating VMs for virtual desktops. Using master desktop templates makes creating virtual desktops more convenient and allows you to save time.
The main steps for creating a master desktop template are the following:
- Create and configure a new VM in vCenter using VMware vSphere Client. Remove any unnecessary devices, such as floppy drives.
- Install and configure a guest operating system (OS). Configure the default user profile in the OS. Install and configure the needed software.
- Install VMware View with the VMware Horizon Instant Clone Feature.
- Install the VMware User Environment Manager Agent with the Flex Engine component (if needed). This component allows you to apply policies created by an administrator with the User Environment Manager Management Console. The Environment Manager Agent is a profile management tool that captures user settings for OS and applications specified by the administrator.
- Run the VMware OS Optimization Tool for use with VMware Horizon. This tool disables unnecessary services to improve performance. The provided templates can be customized.
- Clean up the virtual disk and then zero out the free disk space. Learn more how to zero out disk space in our blog post on thin and thick provisioning.
- Clone the newly configured VM with VMware vSphere client.
- Use this VM clone to create a base image for further VDI desktop cloning. There are two procedures for putting the VM into a frozen state, depending on the cloning method. For full-clone desktop pools, the master VM is cloned to a VM template. For instant clone desktop pools, a snapshot of the master VM is created.
Desktop Pools: Persistent and Non-Persistent
When provisioning virtual desktops, you should create desktop pools. Desktop pools allow you to create and manage virtual desktops flexibly. There are two approaches to provisioning virtual desktops when creating desktop pools: using persistent desktops and using non-persistent desktops.
A non-persistent virtual desktop is used when all changes made by a user with the desktop must be discarded after user logoff or VM reboot. This is also known as floating user assignment. In this case, a user is not assigned to any specific desktop, because all desktops in the pool are identical and created from one master desktop template. This type of provisioning makes sense in cases where users all need a standard application set for their working tasks, and do not need to save changes after their work or install new applications. For example, employees at a call center or staff of a financial department use the appropriate set of the applications, and the results of their work, such as call recordings or financial transactions, are saved to the company’s servers. Some users may need access only to browser applications. There is probably no need to provide dedicated persistent virtual desktops for them. Using non-persistent virtual desktops allows you to save storage space on your servers (rational consumption of computing resources) and provides more centralized management, which increases security. Different virtual desktops are assigned to a user after each logon.
A persistent virtual desktop is used when each user must have their own desktop with a personalized user profile and specific applications. This is also known as dedicated user assignment. After the user logs off or the VM is rebooted, the data is retained on the virtual desktop. This type of provisioning should be applied whenever users need to modify their working environments during the working process. For example, software developers or testers need to install new applications, update frameworks, and change their configurations regularly. In this case, choosing persistent virtual desktops is the right choice because it is much more convenient for the users. Persistent virtual desktops are also created from the master desktop template but are not recreated each time, as non-persistent virtual desktops are. A user logs onto the same virtual desktop each time.
Advantages of Using Horizon as VDI Solution
VMware Horizon View is a Virtual Desktop Infrastructure solution that is integrated into VMware vSphere. This makes deploying VDI more affordable for companies who already have vSphere-based virtual infrastructure and use VMware VMs. Horizon VDI supports Active Directory integration and connection to Windows Terminal Services. vMotion and vSphere clustering features such as Distributed Resource Scheduler, High Availability, and Fault Tolerance are also available. Unlike traditional VDI or remote desktop solutions, VMware Horizon allows you to consume resources such as storage space, CPU, memory, and networking more rationally. The solution also improves scalability, reliability, and compatibility.
Virtual desktop infrastructure (VDI) is an alternative way to provide desktops. VDI is a technology developed to provide virtual rather than physical desktops for users, who can connect to such desktops from different locations and with different devices. Virtual desktops are hardware-independent, which allows system administrators to avoid hardware-related issues such as finding drivers for different devices or replacing damaged hardware on desktops.
VMware Horizon View is a VDI solution that combines the advantages of virtual desktop infrastructure with those of the VMware vSphere virtualization platform. If your company is interested in VDI and you already use VMware virtualization products, VMware Horizon is ideal. The main Horizon View components are: vCenter Server, ESXi Hypervisor, View Agent, Horizon Client, Connection Server, ThinApp, View Composer, and Horizon Administrator. With modern remote desktop protocols, users get a better experience and can connect to their desktops from anywhere. VMware Horizon View is worthy of attention if you are looking for alternatives to traditional desktops or remote desktop solutions.