#1 Global Leader in Data Resilience

What is Application Virtualization?

Application virtualization is becoming an increasingly popular way to manage resources and rapidly deploy applications. It’s the practice of using a virtualization layer to trick an application into thinking it’s interacting directly with the host operating system. This can be useful in situations where you want to run applications that are designed for a different operating system, or to sandbox incompatible applications so they can run on the same machine.

 

Application virtualization differs from server virtualization in that it focuses on allowing applications to run on a machine or in a web browser, without requiring additional dependencies. In contrast, server virtualization requires a hypervisor like Microsoft Hyper-V in order to allow a host machine to run multiple, full operating systems.

How Does Application Virtualization Work?

Application virtualization works by providing a virtual environment that applications can interact with. Instead of the application having to communicate directly with the host operating system, it communicates with the virtualization layer instead. This layer replaces certain parts of the runtime environment and handles requests that the host operating system might not be able to handle by itself.

When an application runs within an operating system without any virtualization, this is called a "native" application. Native applications can take advantage of features that are specific to the device or operating system they were written for. In contrast, applications that run in a virtualized environment cannot access the operating system directly. Virtualization can still carry some performance overhead, but it allows applications to run in a wider range of environments.

Types of Application Virtualization

There are two ways to virtualize applications:

  • Remote application virtualization
  • Streaming application virtualization

Remote application virtualization refers to the practice of running applications on a server so users can interact with them using via a remote control protocol. These applications can look and feel just like a normal desktop application, but they require constant internet or local network connection to use.

Streaming application virtualization refers to applications that are executed on the user's computer. When a user requests an application, its components are delivered on-demand to the user's computer. In most cases, this application will not be downloaded in full. Rather, the most important elements required for the application to run are downloaded first, with other components being downloaded in the background as needed. While a network connection is required for the streaming download, the application can run on its own after it’s installed.

Why Use Application Virtualization?

Application virtualization is useful because it allows applications to run on hardware or operating systems that they were not designed for. In addition, remote application virtualization can offer some data security benefits compared to simply running applications on a user's computer, since data is stored on the server instead of the endpoint.

Some common uses of application virtualization include:

  • Running programs to process sensitive data (such as medical or financial records) while ensuring compliance with HIPAA, general data protection regulations (GDPR) and more.
  • Running legacy applications like ones written for Windows XP or other, older operating systems.
  • Running cross-platform applications (e.g., running Android apps on Windows, or Windows applications on Linux).
  • Running multiple instances of an application that doesn't support them by default or running two applications that might otherwise conflict with each other.
  • More efficient resource usage because remote application virtualization allows a host server to run multiple applications, which might be more cost-effective than purchasing more powerful hardware for end users.

Application virtualization abstracts the application from the operating system. This contrasts with having to run full virtual machines (VMs) on a hypervisor. However, application virtualization is not always the correct approach. There are some clear benefits to using hypervisors like Hyper-V, including:

  • Being able to run several different full operating systems on one machine
  • Being able to have several applications running within a VM and communicating with each other.
  • Having a lot of control over resource allocation for each virtual environment.

The main downsides of the hypervisor approach include:

  • Required performance overhead when running an entire operating system versus only having to run the required libraries and dependencies.
  • Additional configuration, backup and maintenance challenges that come with running VMs on a hypervisor.

Application virtualization is a broad term that doesn’t just include emulation tools and wrappers, but container platforms like Docker containers as well. Other solutions that can perform similar jobs include Remote Desktop Services and application streaming solutions. Docker containers are often used for microservices used by web applications but can be used for other purposes too. For example, Kasm Workspaces lets users access common open-source applications and even entire VMs from their web browsers.

Choosing the Right Application Virtualization

If you're considering using application virtualization in your organization, there are several things you should ask yourself, including:

  • Will your users have a permanent internet connection to support remote virtualization?
  • How powerful are the devices your users have access to?
  • Can your users install client software, or are they restricted to a web browser?
  • Are there any data protection or security considerations to take into account?
  • Do you need to save the state of your application between uses?
  • What platform(s) are the applications you are running designed for?
  • What operating system(s) do you use for your existing servers?
  • Do you want an in-house solution, or would Software as a Service (SaaS)/Desktop as a Service (DaaS) solutions be more suitable?

The size of your organization, existing IT infrastructure, in-house skill sets and budget will all determine which application virtualization solutions are best suited to your needs. Smaller organizations or those without a skilled in-house IT team might benefit from outsourcing their virtualization needs.

How to Get Started

There are many possible approaches to application virtualization. VMware Horizon is a popular platform for application virtualization, as are other tools like Horizon Apps, which offer SaaS features as well. Open-source deployments like Kasm Workspaces offer a flexible and free way to get started with containerized applications. Microsoft offers some powerful solutions in the form of the end-of-life App-V and the more modern Azure Virtual Desktops.

When choosing a solution, consider the devices your users have access to. If you're in a bring your own device (BYOD) environment, a solution that offers flexible access to applications through a web browser might be the best option. If you need a more seamless experience, streaming application installations that can offer the look and feel of a standalone application may be more suitable.

In-house virtualization does not end with configuring applications or VMs. If you run persistent VMs, it's important that you have a plan for your backups and ensure business continuity. Tools like Veeam Hyper-V Backup and Recovery system can assure your VM images and the data stored your virtual drives is safe, and that you'll be able to restore your VMs quickly in the event of data loss or outages.

If you'd like to know more about VM backup and recovery replication software and how it can fit into your overall virtualization plans, contact us today to book a demo, or download a trial of the software and try it for yourself.

Featured Resources

Data protection

2022 Data Protection Trends

The largest data protection industry report from 3K+ IT leaders

Partner icon

Request a Demo

Learn how to modernize your data protection in a live session

Contact icon

Contact Us

Get help selecting the right solution for your organization