In Part IV we discussed the challenges of Application Delivery, and how Application Virtualization could offer alternatives.
Application Delivery can present difficulties in ensuring applications are installed in different environments, can be complex to manage and introduce compatibility issues that delay deployment and increase costs. Application Virtualization offers a number of advantages for providing access to applications over traditional Application Deployment; but it is not without caveats. Application Virtualization process of creating a virtualized application can be complex; it can require an infrastructure to be in place and there is also an interesting consideration as to whether application can adversely impact a hosted virtual desktop implementation.
Perhaps, those weren’t the answers you were looking for. Perhaps, you considered it a boring conversation anyway.
In this conclusion of the two-part trilogy, we’ll discuss Application Virtualization solutions, and what they can offer you. We look at solutions from Citrix, Endeavours Technologies, InstallFree, Microsoft, Spoon, Symantec, UniDesk and VMWare. We’ll also consider the question “is it a choice between Application Delivery vs Application Virtualization?” to reduce the cost to your business of application deployment.
Application Virtualization Solutions
Are about portability, manageability and compatibility of applications – a solution independent on you moving your devices to a virtualised environment. There are a number of vendors offering application virtualization solutions at the moment.
Citrix: XenApp & Application Streaming
“Citrix XenApp” you may ask, “isn’t that a Presentation Virutalization solution?”. Yes, XenApp can host user desktops on central servers. But, XenApp also allows users to interact with applications remotely or stream and deliver them to user devices for local execution. An advantage in using Citrix XenApp is that, with the wide variety of devices supporting Citrix Receiver, your applications designed to run in a Microsoft OS are able to run on a range devices - from Linux PCs to Apple iPads. You can manage your XenApp environment such that applications are delivered to the XenApp server using Application Delivery, but those applications are in turn delivered to users using Application Virtualization.The down-side is that – a Citrix XenApp environment can have a high implementation cost – although licenses are concurrent they are not inexpensive, you’ll also need server licenses and server hardware to support this implementation.
Alternatively, you can deploy applications to your XenApp server using Application Streaming. Application Streaming is Citrix’s application virtualization function which comprises of two components – application streaming and application isolation. The application streaming feature enables applications to be delivered to devices and run in an isolated protected, virtual environment. While Citrix XenApp requires that a user has an on-line connection in order to access applications, Citrix Application Streaming can be used to deliver applications not only to XenApp servers, but hosted and physical desktops for use off-line. Citrix Application Streaming does not need the data centre infrastructure that XenApp requires.
At Microsoft TechEd this year it was stated that second most used application virtualization solution was Citrix. That is most likely via XenApp – which has generated a large corporate following through its various guises from WinFrame, MetaFrame through to Presentation Server.
For Citrix customers, Citrix Application streaming is a interesting solution, but while Application Streaming can be used off-line and doesn’t need the data-centre infrastructure – it is not a stand-alone product.
Endeavours Technologies: Application Jukebox Enterprise Edition
Endeavours Technologies’ goal is to deliver software as an on-demand service. Application Jukebox Enterprise Edition has two components -
- Application Jukebox Server controls and delivers those application sets to the clients.
- Application Jukebox Player runs on the client machine creating a virtual environment to run the application.
Application Jukebox gives a very granular control of how the application is delivered and interacts with the client. Endeavours have identified four layers of virtualization and uniquely, Endeavours’ solution means applications do not have to be either all isolated or all integrated; the level of virtualization can be set for each file and registry key. The layers are:
- Installed Permanent – this copies the file to the specified location on the user’s system when the application is first delivered and the file is left behind even once the application is removed. This is useful for data files that might come with an application, like an .mdb file or personalization registry settings. It is also used for things that you would want to be persistent should the application be virtualized again in future as the files are not overwritten if already present.
- Installed Temporary – copies the file to specified location on the users system when the application is initially delivered, but the file is then deleted when the application is removed. This leaves no footprint on a device; useful for roaming users who need to install applications on non-corporate devices.
- Virtual Integrated – this is a virtualized file or key that can be seen by the rest of the system and is visible in the file system and registry, as if locally installed, but its use is restricted by Application Jukebox.
- Virtual Isolated – this is a virtualized file or key that is isolated (sand-boxed) and is only visible from within a virtualized application.
Application Jukebox makes it possible to stream applications from different media sources; be that a CD, or a USB drive or network delivery. This gives you flexibility in deploying applications. For example, if a user is in a remote location with limited network access, they can receive a preloaded application on a CD containing only the necessary data to launch the application and then stream any additional data blocks as needed, on-demand from the network.
Application Jukebox runs applications in kernel mode, which means run lower in the application stack, so fewer instructions have to be processed. However, what it does mean is that App Jukebox player, like Citrix’s and Microsoft’s solutions, requires an administrator to install an agent on the client device before users can access the application. While kernel mode solutions can be faster and support a wider range of applications, it can reduce accessibility for roaming/remote users who are using other devices.
InstallFree: InstallFree Bridge
InstallFree have designed their solution to allow virtual (IFV) applications to operate without installing agents on the host computer and without making any changes to the data-centre infrastructure that is required with solutions from Citrix, Microsoft or Endeavours.
InstallFree is promoted as an application compatibility solution when migrating to new operating systems such as moving from Windows XP to Windows 7.
The InstallFree Bridge includes three main components:
- The Bridge Virtual Agent which streams/downloads and integrates the IFV Application into the host’s shell.
- The InstallFree Management Console (IFMC) – A virtual MMC-based management console that allows assigning IFV Application packages to objects found in the organization’s Active Directory schema.
- The InstallFree Encapsulator – an authoring tool used to create virtual applications out of any standard installation file, which usefully does not need a clean PC or special scripting and configuration unlike other solutions.
Unlike Citrix and Microsoft solutions, InstallFree IFV Applications do not require an installed client in order to function, they run entirely in the host OS’s User Mode, without the ability to write any information to the host’s kernel. IFV Applications are completely self-contained. As with other application virtualization solutions they can run side-by-side with conflicting applications, but the IFV Engine allows them to work normally even when running on seemingly incompatible platforms such as Windows Terminal Server or Windows Vista.
Usermode does mean that some applications (anti-virus software for instance) cannot be virtualised, However, InstallFree Bridge doesn’t require infrastructure changes, doesn’t need clean machines to virtualize applications and is capable of creating single packages of virtual applications that work on multiple Windows platforms.
Microsoft Application Virtualization (App-V). As with other vendors App-V delivers application virtualization, dynamic streaming delivery, and centralized management technologies
App-V deployments can appear daunting for larger implementations. Microsoft suggest three types of deployment model for App-V
- Standalone Model. The Standalone Model allows virtual applications to be MSI-enabled for distribution without streaming.
- Streaming Model. The Streaming Model offers application streaming without requiring Active Directory or a database, and enables administrators to stream from existing servers or via System Center Configuration Manager 2007 SP1 with R2 distribution points.
- Full Infrastructure Model. The Full Infrastructure Model provides for built-in software distribution, management, and reporting capabilities; it also includes the streaming of applications.
All models require a Sequencer to be available to generate the virtualised instance of the application and a Microsoft Application Virtualization client to be installed. There are two different types of Application Virtualization Client software: the Application Virtualization Terminal Services Client, which is used on Terminal Server systems, and the Application Virtualization Desktop Client, which is used for all other computers.
There has been much play on the fact that App-V does not support virtualising Internet Explorer. This is probably something it could do – but given Microsoft don’t support a virtualised IE instance – it is unlikely the feature will be added in.
App-V is scalable solution, but it is a solution with a focus on delivering applications to a corporate environment. It requires clients to be in-place, it requires consideration for how those end-devices are configured. While it integrates well with other Microsoft management tools, it is not as straightforward to implement as solutions from other vendors. If you require features such as reporting, license enforcement and group based application publishing you’ll need to implement a costly full infrastructure model.
SPOON (FORMERLY KNOWN AS XENOCODE): Spoon Server and Spoon Studio
Spoon focus on delivering any Windows application over the web directly to the end-user. Spoon Server enables access to applications via internal and external websites.
The core of the company‘s virtualization technology is the Spoon virtual machine (VM) kernel. The Spoon VM Kernel is a user-mode virtualization solution able to run applications without client installations or administrative privileges requirements for the user. This makes Spoon’s technology useful not only for corporate environments to deliver applications to users (be they employees, contractors or partners) but for software publishers to distribute their products directly to end-users. An additional feature is that a number of applications have already been pre-configured as application templates and are freely available for use.
Your application installation size may be large. Spoon includes two components, Adaptive Streaming and Modular Decomposition to deliver the application code to the user efficiently while minimising start-up times and bandwidth use.
While Spoon is focused on delivering applications to a Microsoft Windows environment, there is a choice of application delivery – not only web delivery but standalone-exe, USB drive and MSI installation are all supported.
SYMANTEC: Workspace Streaming and Workspace Virtualization
Symantec have two products dedicated to application virtualization. Workspace Streaming is an application distribution and license management solution that can can be used to stream either virtualized applications (from Symantec and others), or even existing MSI packages. Workspace Virtualization is Symantec’s application isolation product. These two products can be purchased independently.
Symantec Workspace Streaming (SWS) is perhaps the more useful of the two. SWS includes full enterprise-ready and real-time license management. With each streamed application, the license agreement may be captured in all its detail, including type (user/host/concurrent), quantity, and expiration, to insure license compliance for all circumstances. Using SWS, Applications can be rolled out, updated, version-controlled, and retired centrally. Different versions of the same applications may be delivered to specific individuals or groups as necessary, and updates may be done in the background by delivering only the delta that has changed. Applications may be provisioned with a time-out for non-use, especially useful for occasional use applications like MS Visio or MS Project. When these expire, the application license is returned to the pool, but the icon remains for the user if it should be needed in the future. Users may also be assigned a hard expiration date, as with temporary employees or contractors. In this case, the client-side agent forces a removal of the application and the icon, whether the user is connected to the company network or not.
That said, you may already have a solution for application access management in place – in which case you can utilise Symantec Workspace Virtualization (SWV). SWV packages (often referred to as layers) uses a kernel mode driver to provide two sub-layers, a read-only layer that maintains the known good base installation, and a re-writeable layer that contains the changes and user customizations for that application.
Many of the solutions discussed here can be used across devices – be they Presentation Virtualization Servers, Traditional Desktops/Laptops or Hosted Virtual Desktops.
UniDesk ‘s solution is only available today for Hosted Desktop Environments – but if that is your environment and driver for considering Application Virutalization, UniDesk offer a compelling solution.
UniDesk’s Composite Virtualization separates out an workspace into discrete layers – one each for operating system, applications and user personalization. This is what other vendors do with Application Virtualization. However, UniDesk have approached this layering in a different way. With UniDesk, any application can be packaged and delivered as a layer, even those that require device drivers and boot-time services: these application types are typically not deliverable with other Application Virtualization solutions. UniDesk’s solution also supports applications “wrapped” inside other application virtualization solutions.By ensuring that the application is encapsulated in a read-only layer, UniDesk also removes the need for applications to be streamed to the virtual desktop – a process that can be disk-write intensive and impact on the performance of the virtual desktop infrastructure.
It should be noted that while UniDesk offer a very flexible and innovative solution, it is not yet available outside of a hosted virtual desktop solution.
ThinApp, formerly known as Thinstall is an agentless application virtualization solution. As with Spoon, ThinApp allows for the deployment of virtualized applications in user mode, without administrative rights. No device drivers are installed and no registry changes are made because the entire application and its virtual OS are delivered as a single executable file. This means that you can enable your users to be able to run applications on virtually any win32 device they have access to. Applications run directly from portable storage devices, including Flash drives.
At the time of writing, VMware ThinApp Starter Edition, is being offered for free with a purchase of VMWare Workstation 7 until May 2011.
Application Virtualization vs Delivery – is it a choice?
Application Virtualization offers you the opportunity to deploy and manage applications in ways that are just not possible with traditional Application Delivery. Application Virtualization allows you to deliver applications beyond corporate devices, time spent on assessing application integration issues can be quicker and less fraught, you can create an application instance once, and deliver it to desktops, laptops, virtual machines or terminal servers.
Application Virtualization is touted as an essential component in the tool-kit of delivering successful hosted desktops. It is fair to say, Desktop Virtualization is hard and needs a number of components. The dynamic nature of Application Virtualization means it is a more suitable solution when dealing with workspaces that need to serve a number of different users with different requirements. Application Virtualization can be used throughout your desktop delivery strategy, creating dynamic user environments in traditional PCs, hosted desktops and Presentation Virtualization environments.
That said,when a solution sounds so faultless, its easy to become complacent. Application Virtualization is fault free.
- The Choice of What it is We Allow You to Choose: With Application Virtualization, the packaging process needs to be done by an administrator prior to being delivered to the userm, just like in Application Delivery. Application Virtualization allows users to request apps on demand, but only from the choice you’ve provided. AppSense have a goal to produce a self-installed application service, but the act of allowing users to chose their own applications for installation can itself lead to issues of licensing, document compatibility and training as we discussed in User Installed Applications, dream or nightmare.
- Packaging: You do have to re-package the application so that the processes of understanding what components are needed to be delivered to the end device, and when those components are needed is evaluated. Application Delivery can be quick and dirty: not so with Application Virtualization. Some solutions – such as InstallFree, or UniDesk have a packaging processes that is less complex – but it is a process that needs to be undertaken non-the less. It would be helpful if software vendors pre-created the packages – but given the variety of products for application virtualization, this is unlikely to happen: Microsoft doesn’t even offer pre-packaged Microsoft Office instances for App-V.
- Pre-requisites: Some solutions require that a client component be installed: how will this impact on your application delivery? Not all vendors support an x64 environment. Not all vendors allow the delivery of x16 applications. Application Virtualisation can also break links and dependencies between applications: can your virtualised CRM application still dynamically generate the Excel spreadsheet? Isolating applications can in turn disable links vital to having the application work as expected.
- One solution does not rule them all: Not all application virtualization products are able to be virtualize all applications: some application virtualization product can’t for instance virtualize kernel drivers (suc h as AV products); some Application virtualization products don’t virtualize Internet Explorer; is that going to have an impact on your requirements?
An Empire Strikes Back?
You’ve likely already invested in an Application Virtualisation solution without knowing it. If you’ve an MDOP or RDS-cal licence – you can use App-V. Why move?
Each of the other vendors, except for Citrix, highlight the fact that they can virtualize Internet Explorer. Virtualizing IE6 for use on Windows 7 is a popular use cases for Application Virtualisation, because it provides a simple way of delivering multiple browser versions. Yet, as we’ve discussed, virtualising IE is not supported by Microsoft – even though it is technically possible using App-V. IE support alone may not be a good enough reason but, App-V does require an agent; App-V requires an agent; App-V doesn’t support running from removable storage.
Application Delivery vs Application Virtualization – a Choice?
While Application Virtualization is not without its pitfalls, the facility to deliver the tools users need quickly and reliably is core to the concept of delivering a flexible, cost-effective and robust workspace. Application Virtualization isn’t only applicable to hosted desktops or Presentation Virtualization, it can be used for traditional desktops, blade PCs as well – in some instances offering you the facility to deliver applications to devices not supported by your applications, or not used by your users.
Application Deployment is still relevant in delivering applications to users that are not supported by Application Virtualization but, Application Virtualization your desktop strategy can be more flexible in delivering applications to your users and reducing the time, effort and cost of meeting your business’ requirements.