If you’re an avid follower of any of the major sports, then you probably know the names of most of the players. And if you’re planning on placing a bet at the horse races, then you want to know as much about each horse and rider so you can make comparisons that hopefully — wishful thinking, I know — will help you maximize the return on your bet. Not that I ever bet on horses or anything else. I only bet on a sure thing. For example, the field of application virtualization — of packaging and delivering virtualized applications to users’ workstations and devices.
I’ve used application virtualization solutions in the past and some years ago I even wrote a book about Microsoft’s emerging (at the time) solutions in this field, but over the last few years, I’ve been focusing on other stuff and have kinda lost touch with what’s happening in the field. So to refresh my understanding and also help inform our readers, I reached out recently to my colleague Mark Van Noy, who is a technical lead/architect working in the central IT department at the University of Colorado Boulder in the Greater Denver Area. Mark is part of the Educational Technology Group that directly supports technologies in the classroom and the backend infrastructure for those technologies. He describes himself as an information technology generalist, and he thrives on architecting new tools and services in ways that allow his customers to realize gains in efficiency, productivity, and cost savings while ensuring that IT remains a division that provides a competitive advantage. Mark is very knowledgeable in the area of application virtualization and he said he was happy to share some of his knowledge with us for the benefit of our readers.
Benefits of application virtualization
I began by asking Mark to remind us why virtualizing applications is considered beneficial for organizations and the IT pros who provide them with support. “When we talk about any kind of application streaming or virtualization technology,” Mark says, “the real crux of the matter is that we are trying to disassociate applications from the underlying operating system. Some reasons why it may be desirable to separate applications from the OS include: standardizing on a single gold OS image rather than multiple monolithic images, standardizing application versions, managing application versions, and providing applications to non-native devices.”
I asked him next about the importance of container technologies as it relates to application virtualization. Mark replied, “A significant consideration when evaluating application streaming technologies is whether the applications are containerized or not. Some technologies such as App-V, ThinApp, Turbo, and CloudPaging wrap applications in virtualized containers that isolate the applications to various degrees from the operating system and other applications. Non-containerized solutions essentially use standard software installations. Containerized applications will usually function without conflicting with other software on a system, even different versions of the same application, and often install more like a file copy since they generally also containerize any Registry settings. The major downside to containerized streaming solutions is that they require some form of packaging which introduces additional complexity, additional time to deploy, and compatibility challenges,” he said.
“Similar to containerizing technologies are the layering solutions,” Mark continued. “Some layering solutions, such as Citrix AppLayers or VMware App Volumes are designed to work with VDI environments and likely only work in their respective environments. A layering technology that is showing up in an increasing number of products uses VHD files to attach applications at runtime. A notable example of this type of solution is Liquidware’s FlexApp. Because FlexApp uses VHD files the layers can be used for both VDI and physical computers with the repository of applications living on a simple file share. Liquidware’s VHD technology does not promote itself as a containerized solution in that it is not trying to isolate the application residing within the VHD. The applications are containerized in that all their install media is wrapped up in a VHD and they use a packager to create the VHD, but there is no attempt to virtualize Registry access, file access, or network access. Depending on a group’s goal, the lack of isolation could be a pro or a con. For instance, managing non-isolated applications can be the same as managing locally installed applications.”
Having examined both containerized and layered solutions I asked Mark about the different mechanisms used for delivering virtualized apps to users’ devices. “That’s the streaming part of application streaming: delivery mechanisms. How applications are delivered to end-users matters”, Mark says. “As a general rule, end-users do not care about any of the technical details; they simply want things to work. Therefore, any solution that lacks a delivery method may not meet end user’s needs simply because it does not work the way they expect. As a non-product specific example, if a product perfectly packages all applications into a neat self-executable file that is simply copied to the end user’s desktop and run, that seemingly perfect product still does not deliver an end-user experience that matches expectations. Users expect applications to populate the Start Menu at a minimum and potentially have something they double click on their desktop.
“Most of the application streaming technologies are based on the classic Windows RDS technology where multiple users share a server that hosts the streamed applications. Application compatibility of these solutions is very high since applications are simply installed to a Windows server. There is also a lack of any application isolation thus a misbehaving application could potentially crash the entire server. Vendors such as Citrix, VMware, and Amazon’s AppStream extend RDS by providing more efficient transmission protocols and making file access more intuitive as well as providing the illusion of a locally installed application. In many ways, RDS solutions are the same decades-old model of centralized computing. Moving workloads to central servers can be a great solution though it does not leverage the computing resources of the connecting device which may be a significant concern for applications more resource-intensive than standard office applications,” Mark said.
“Microsoft’s App-V and Numecent’s Cloudpaging products are examples of products that truly stream applications to an end user’s computer. In both cases, once an application has been packaged a less than full download is required for the application to launch while the rest of the application downloads to the end user’s computer. This reduces time to download and may decrease the size on disk while fully utilizing the endpoint’s local resources. Since the applications are containerized, application compatibility can be an issue. Also, since these technologies rely on the endpoint’s resources exclusively, they only run on Windows-based computers. It should also be noted that despite Microsoft having added App-V natively to Windows 10 Professional or better, there has not been much visible development of App-V in recent years and it requires an SCCM infrastructure to leverage all of its capabilities.”
Given the growing interest in hybrid solutions, I asked whether there was anything similar happening in the appvirt field, and Mark replied: “Turbo.net provides an interesting hybrid solution that uses containerized applications with isolation that can either be run on servers like RDS or deployed to Windows-based endpoints to utilize local resources. The Turbo solution requires a full download before application launch. The product does provide isolation for both hosting methods so that a misbehaving application crashes inside its container rather than crashing an entire system or server. The ability for leveraging server hosted applications for lower-powered endpoints or non-Windows endpoints while being able to fully leverage appropriate Windows endpoints provides a great deal of flexibility.”
Mark ended by saying, “With end-users demanding more and more flexibility in what devices they use as well as a greater number of network-connected devices, it makes sense to explore the application streaming options. With application streaming, IT departments can focus on providing what end-users care about: the applications to perform their work. Application streaming is starting to realize the potential of end-users being able to access the applications they need on whatever device they prefer from anywhere in the world.” I hope to have Mark dig deeper into some of these newer solutions for application virtualization in the near future for us here on TechGenix.
Featured image: Shutterstock