When I started this series I thought application virtualization solutions to be rather simple tools. In the meantime, I tested some of them and read quite a few white papers about the topic. I discovered that there are far more products than I imagined and that the technological differences between the different solutions are substantial. In this and the next article I will summarize all the features that I am aware of.
- Pip install Boto3 - Thu, Mar 24 2022
- Install Boto3 (AWS SDK for Python) in Visual Studio Code (VS Code) on Windows - Wed, Feb 23 2022
- Automatically mount an NVMe EBS volume in an EC2 Linux instance using fstab - Mon, Feb 21 2022
Thus, if you have to evaluate some of the products, you can use this feature list to make sure that the solution of your choice supports everything you need in your environment. This post covers the conceptual differences between the various application virtualization products. In my next my post I will discuss the special features. Please note that it is not always obvious to which list a certain feature belongs.
Virtualization technology: The ways in which the various products isolate the virtualized application from the operating system differ considerably. Some solutions integrate the virtualized environment into the operating system. As long as the virtualization layer is active they are indistinguishable from installed applications. All system changes will disappear only when you disable the application. Other software virtualization solutions entirely isolate the virtualized application from the host. In this case, you cannot even see the processes of the virtualized app with operating system tools.
Application isolation: Many features depend on the virtualization technology. For example, if you want to be able to run different versions of the same application simultaneously on a desktop computer, you have to make sure that all virtualized applications are completely isolated during runtime.
Agent: It usually takes more time to set up the corresponding infrastructure if the solution requires an agent to be installed on all clients.
Software deployment: Often products that require an agent are complete software deployment solutions. If you already have a client management tool it would probably be overkill to introduce a second system. Perhaps you want to switch entirely to software virtualization. In this case it might make sense to also change your desktop management tool. These specialized software distribution solutions better harmonize with application virtualization.
Single executable: Solutions without agent usually pack the whole virtualized application in just one executable. This simplifies deployment of the virtualized application in some environments.
Portability: Usually those products allow you to launch the virtualized app from a memory stick or a CD/DVD.
Steaming: This feature allows you to download only those parts of an app that are required for its start. Additional blocks will be downloaded whenever you access further program functions. Some solutions support bidirectional streaming. Changes to the virtual environment are then uploaded to the server.
Streaming protocol: Thus far I have encountered four different protocols that are used by application streaming solutions: HTTP, HTTPS, SMB, and RSTP. If you evaluate a streaming solution you might want to check out how well it performs and how much bandwidth it needs.
Offline mode: Some streaming solutions enable you to run apps in offline mode. In this case the whole application will be downloaded to the client. This feature will make clients less dependent on the availability of the network and the servers.
Subscribe to 4sysops newsletter!
Package creation: There are two different ways by which an application can be virtualized: the packager compares the snapshots taken before and after the installation, or the packager intercepts all operations of the original installation program. The latter option is more reliable because differences between the master PC and the target computer are less important.