What is Virtualization?

What is Application Virtualization?

November 27, 2023 | min


What is application virtualization?

Application virtualization is the process of abstracting (or separating) an application from the underlying computer hardware it is stored on. Virtualizing an application allows an organization’s employees to access that application from almost any device and any location as long as they have an internet connection. While users don’t have to physically install the application on their devices, they can still interact with the application almost as if they did have it installed.

There are a couple ways to create a virtual application - one is through application virtualization and the other is through desktop virtualization. With desktop virtualization, or virtual desktop infrastructure (VDI), the apps run on servers in an organization’s datacenter and users’ entire desktops, including operating systems, are accessed remotely via a range of devices. These apps can be considered “virtual” because they aren’t actually installed on each user’s physical device. Also, the virtualized desktops (including apps) are typically stored on virtual machines that are controlled by a hypervisor.

Application virtualization also makes it possible to access apps remotely on any device. But in contrast to VDI, app virtualization only virtualizes an application, not the surrounding operating system and other components. These virtualized apps are essentially streamed to user devices. Where VDI virtualizes applications and operating systems, application virtualization just virtualizes the application itself.

RELATED

Mission Control

Mission Control gives you everything you need for success with AHV Virtualization, from migration and day-one basics to advanced objectives.

How does application virtualization work

Simply put, application virtualization “tricks” a typical application into acting as if it’s connected to a remote device’s operating system when it isn’t. What makes it work is a layer of virtualization between the application and the OS of the user’s remote device. The virtualization layer acts as a piece of the runtime environment and diverts files and registry log modifications to a separate executable file instead of dispersing that data across the underlying OS. The executable file is stored on the host server as an image, which means end user devices are not at risk of vulnerabilities or other security issues because the application’s data isn’t stored there.

Because all the data is kept in a single file, doesn’t affect the OS it’s running on, and remains “invisible” to the other applications and systems on the user’s remote device, application virtualization can be used on a range of devices - and applications that were incompatible with each other can now run on the same device.

When a user works within a virtualized application, any changes they make to new data they input is saved back at the hosting server’s location where the actual application resides. The remote delivery of the application allows IT to maintain and manage applications in a single, centralized location and also simplifies the processes of patching and updating because they only have to update the application once and when users access it, they’ll be accessing the latest version.

While application virtualization and desktop virtualization are often referred to as similar processes, they are not the same thing. As mentioned above, desktop virtualization through VDI delivers a flexible and more complete remote desktop user experience. Virtualizing specific apps instead of entire desktop environments can be more cost-effective for organizations with significant demand for a single application. Application virtualization can also be a component of a more comprehensive desktop virtualization process.

Benefits of application virtualization

There are many benefits of application virtualization:

  • Simple installation and deployment – An application is only installed once on the host server and then deployed remotely through the distribution of an .exe file to user devices.

  • Easy, centralized management – IT can oversee many applications for thousands of users from a single centralized location.

  • Increased flexibility and scalability – Eliminate the time and effort spent installing applications many times to hundreds or thousands of end devices. As new employees are onboarded, they simply need to be given remote access to already installed apps.

  • Mobility support – Virtualized applications supports mobility and portability; in fact, some devices can’t handle a full remote desktop environment, but almost every device can handle a virtualized app.

  • Reduced potential for system crashes – Virtualized apps can run alongside apps they might not naturally be compatible with. Plus, technical issues with a virtualized app can be handled  by IT from the centralized server location.

  • Enhanced security through isolation – Apps that run virtually are isolated from each other, so if one application is compromised through attack or malfunction, the others aren’t automatically compromised as well. Also, if a device is lost or stolen, the application data is still safe because it isn’t stored on devices - it’s stored on the host server.

  • Better control over access – IT has better control over who can access which applications because they can simply deny access permissions to users who are no longer authorized or have left the company - without having to uninstall actual software from the user’s device.

  • Fast, easy access to critical apps on the go – Remote users can get immediate access to the apps they need to do their jobs. No waiting for installation or long load times.

  • Simpler compliance to regulations – Because data isn’t stored on devices, organizations can maintain compliance with security and privacy regulations such as Health Insurance Portability and Accountability Act (HIPAA) and Payment Card Industry Data Security Standards (PCI-DSS).

  • Ability to run legacy apps alongside today’s advanced appsVirtualization allows organizations to run legacy apps even when they wouldn’t be compatible with more modern applications. This is important because many organizations, especially those in highly regulated industries such as finance and healthcare, still rely heavily on legacy applications.

  • Fast, intuitive incident resolution – IT can easily roll back an application to a previous state if data gets corrupted or an attacker infiltrates the system. This makes it simpler to respond to incidents and keep operations running after an attack.

  • Reduced performance issues – When devices get “bloated” with too many applications, performance can take a nosedive. By keeping applications stored on a host server and delivering them remotely, users’ devices won’t slow down or crash from too many apps.

Who benefits from app virtualization?

Application virtualization delivers benefits to many people across an organization:

End users

End users of virtualized applications have the freedom to use the devices they prefer and the flexibility to work where and when they want - with easy remote access to the business-critical systems they need to do their jobs. With remote, virtualized apps, employees can switch devices at will and don’t have to worry about security issues or installation or maintenance hassles. They get all the advantages of remote access to applications with none of the downside of having to manage them.

IT admins

Application virtualization reduces the application deployment and management burden for IT. Instead of having to install software on hundreds or thousands of devices - and then making sure to patch and upgrade each one when needed - IT can simply deploy an application on a host server and make it remotely available to authorized users when needed. They have a single, centralized location for applications and can manage and maintain those apps much faster and more efficiently. Some studies have shown that app virtualization can also result in fewer support tickets, as users don’t have software to worry about on their devices. Implementing security and configuring policies is easier and more streamlined in a centralized location as well. And decommissioning apps or removing employee access permissions can also be done easily.

Developers

Application virtualization benefits software and app developers because it makes resources more accessible. IT can virtualize several apps and environments on the same system so teams can test their software on various OS versions or systems and make improvements as needed. With virtualization, developers can also safely access or test files that might be contaminated or corrupted because the virtualization layer separates the application from the OS and contamination won’t be able to infiltrate the entire system.

Organizations

Thanks to application virtualization, organizations can implement BYOD initiatives simply and securely, and no longer have to provide corporate-owned devices for employee use. That can help keep costs down. Costs are also reduced when it comes to IT workloads - now that IT teams don’t have to spend most of their time installing and managing software on many individual devices. Streamlined IT management can translate into real savings for an organization. The company can accomplish more with a smaller staff and lower capital expenditures for multiple copies of software. Organizations can also benefit from providing employees easy, secure access to apps where and when they need them. That keeps workers productive and efficient, which also can have a real effect on any company’s bottom line.

RELATED

Modernize Your Environment with Red Hat Enterprise Linux and Nutanix Cloud Platform

Challenges of application virtualization

Just like any technology, application virtualization isn’t the answer for every use case or company need. There can be some challenges, which include:

  • Graphics-intensive apps might be glitchy – Latency in these types of applications can cause some stuttering during the rendering process.

  • Device drivers could affect use of peripherals – Any application that requires a device driver that is OS-specific could make it difficult to use equipment such as printers or scanners.

  • Dependency on solid network – To use a virtualized application, you need access to a reliable internet connection. This can be a challenge for workers who are typically out in remote areas without coverage, etc.

  • Network monitoring software – Virtualized apps can cause problems with this software and make it tougher for the system to pinpoint and address and performance issues.

  • Offline access – A virtualized app should be accessible offline. If it’s not, it won’t be as useful to a remote worker who doesn’t always have great coverage.

How does app virtualization differ from traditional application installation?

Before virtualization became possible and widely used across industries, organizations had to install applications manually on every user’s device. Twenty or thirty years ago, that might not have been the burden it is today because organizations were using fewer applications. Today, however, the number of applications has exploded and hundreds of millions of applications are developed every year. There’s no way an organization would be able to manage and maintain all of their applications today without virtualization and/or cloud-based services.

Local installation and management of applications would be too time-consuming for IT today. The only way an organization can work with so many applications is by virtualizing them and making them available remotely. Application virtualization enables fast, easy delivery of critical applications to practically any endpoint an employee wishes to use. Managing and updating that application is much faster and more streamlined for IT because they only have to manage and update that app once at the host server (not thousands of times on each individual device).

Manually installing software also affects the end user experience. Even if installation is self-service, they need to take the time to download and install the app on their device. And most people have several devices they might want to work from, such as a smartphone, tablet, laptop, or desktop computer. Application virtualization makes app access so easy and efficient for end users, with no need to install or download or manage or update.

Application virtualization vs server virtualization vs desktop virtualization

While similar in that they all entail virtualization, application virtualization differs from server virtualization and desktop virtualization in some key ways. 

Server virtualization 

Server virtualization is the most common type of virtualization today. It allows organizations to create multiple virtual machines on a single physical server, which are clustered into groups. This helps IT make the most of the organization’s available computing, network, and storage resources and can simplify and streamline recovery if a server malfunctions. It also enables VMs to run previously incompatible operating systems on the same machine without issues.

Application virtualization 

Application virtualization entails making an application available to remote users over a virtualized layer that keeps the application separated from the end user’s device OS and hardware. The application is stored on a host server in a datacenter or a third-party hosting company and all actions taken by users in that application are actually executed on the host server. Similar to server virtualization, application virtualization allows users to operate previously incompatible apps on different OSes, such as running Microsoft Excel on Linux via an Opera browser.

Desktop virtualization 

Desktop virtualization entails virtualizing the entire desktop environment, which includes the OS, applications, databases, and other components. Regardless of what device they user, employees will have the same desktop layout and features across all devices because the desktop environment is saved on a host server. 

Using application virtualization software

When it comes to finding the right application virtualization solution, you have a lot of choices. Not all solutions are created equal. Here are some considerations to keep in mind when choosing a solution and a vendor:

  • Suitability for today’s and future needs – Technology is continually evolving and becoming more advanced. You need a virtualization solution that not only meets today’s needs but that can also anticipate and support what’s coming tomorrow.

  • Flexibility – As your organization grows, your application virtualization solution should scale as well. Look for a solution that is secure and scalable enough and that delivers the flexibility that allows you to run workloads on-premises in your datacenter, in the cloud, or on the edge.

  • Compatibility and integration – Find a solution that works with your existing infrastructure and integrates with your existing applications as well as back-end systems such as file servers, directory services, and user data stores. The goal is seamless remote access across all users and devices.

  • Technical and after-sales support – You’re not just purchasing a solution, you’re also making a decision to partner with a particular vendor. Make sure that relationship is transparent and that the support team is engaged from the start and committed to your success.

  • Ease of use, deployment, and management – Your app virtualization solution should be intuitive and easy to use and manage. It shouldn’t require specialized IT skills. It should lighten your IT load and make adoption of certain applications easier!

  • Cost – Many factors contribute to total cost of ownership (TCO), but make sure to find a solution that delivers a healthy return on investment (ROI). Be sure to consider hidden cost savings, too, such as the ability to handle bigger workloads with fewer staff, and so on.

  • Security and compliance – You want a virtualization system that comes with built-in security features that control and monitor access and usage. Other considerations include end-to-end data encryption, multifactor authentication, and intrusion detection and prevention systems.

  • Licensing – Make sure you understand the licensing structure of applications you want to virtualize. You should be permitted to run the app on multiple machines.

Which applications can be virtualized?

Many, if not most, of today’s applications can be virtualized; in fact, experts tend to approach this question by listing the types of apps that can’t be virtualized. Their recommendations include:

  • Any application that requires OS integration or interaction, such as some antivirus software and malware protection

  • Apps with drivers that need to access the OS

  • Applications that have built-in services that begin to operate independently at system startup, for example, or when users log on, such as firewall clients

  • Any application that is part of an OS, such as Windows Media Player or some browsers

  • Applications with shell extensions, such as one that extends a program with added functions

  • Large applications over 4 GB in size

  • Apps with licenses that don’t allow virtualization

  • Legacy applications with built-in high availability features that might not function correctly if virtualized

What are the hardware and software requirements for app virtualization?

The quick answer to this question is, “It depends” - on a lot of factors, such as how many employees your organization has, how many and what type of applications you plan to virtualize. It’s best to consult with the vendor of the application virtualization solution you choose to see what their recommended hardware and software requirements include. 

Can virtualized applications be used offline?

Your application virtualization solution should have some sort of offline mode for working in an application. It’s recommended because users might not always be in areas with good internet connections. Make sure your application virtualization solution provides comprehensive information for working offline so you can pass instructions on to end users. Typically, solutions will require that the application is fully cached before switching over to offline mode. Many solutions also provide some controls that IT admins can use to authorize offline use or set limits on when or where it’s used. 

Can virtualized applications coexist with locally installed ones?

It is possible for an end user to have applications locally installed on their device that run alongside virtualized applications delivered by a remote access server. Features for this capability can vary by solution or vendor, so be sure to ask while considering your solution options. 

What are some real-world use cases for app virtualization?

There are many common reasons an organization would choose application virtualization over another virtualization strategy, such as VDI. These use cases include:

  • Promotion of BYOD initiatives – App virtualization enables employees to use their own devices to access and work within critical business applications.

  • Cost management – With virtualized apps, you don’t have to provide corporate devices to users, which saves money. You also don’t have to provision hardware or provide software for every individual device across the organization. Also, IT burden is reduced, which allows IT teams to accomplish more with fewer people.

  • Application choice – Application virtualization provides employees access to all the apps they need to get work done, wherever they are and whatever device they want to use.

  • Avoiding migration issues – Employees can use any app on any device, even if their device’s OS wasn’t originally compatible with the application. There’s no need to spend time and effort converting devices to specific OSes.

  • Use of frequently updated internal apps – Virtualization makes it easy to update apps as often as desired without having to take the time to update hundreds or thousands of devices. The app can be updated frequently, and every time a user opens the app they’ll be accessing the latest version.

  • Secure remote access to sensitive data – Because none of the data accesses in an app is stored on the user’s device, application virtualization is a great idea for employees that need to access critical apps remotely.

  • Supporting large numbers of employees – Any organization with thousands of employees that need access to applications should certainly consider application virtualization. It’s the only way to efficiently provide access while keeping management and maintenance streamlined.

Related:

Explore our top resources

default thumbnail

Nutanix AHV is Webscale Virtualization

Security at the Virtualization Layer

Nutanix AHV: Security at the Virtualization Layer

Red Hat OpenShift on Nutanix HCI

Red Hat OpenShift on Nutanix HCI

Related products and solutions

Nutanix Flow Networking

Simplify creating, isolating, and managing software defined networks that connect applications running in private datacenters and in public cloud environments.


AHV Virtualization

Modern and secure virtualization platform that powers VMs and containers for apps and cloud-native workloads on-premises and in public clouds.


Nutanix Cloud Clusters (NC2)

NC2 dramatically reduces the operational complexity of hybrid cloud deployments and management when extending, bursting and migrating apps and workloads.

See what virtualization can do for you

Let’s Get Started!

Schedule a personalized demo with a solution consultant and see how Nutanix Enterprise Cloud can transform your business.