Application Virtualization or Application Deployment, which one is better? (Part IV)

The ‘desktop’ is changing. The desktop is becoming a portal for users to access services they choose to complete their tasks, rather than providing a way to be given a fixed range of pre-determined applications. This portal is no-longer accessed from the top of a desk. The re-branded presence of externally hosted services as “cloud computing”, is and will have an impact on how organisations access and use software.
But “Cloud Computing” is more likely on the ‘To-Do-List of Future-Me’, rather than your to-do list today. Today, you’re likely wondering “how can I move forward with a desktop upgrade beyond Windows XP?”. Hosting desktops in “The Cloud”  is all very well: you’ve got users who need off-line access; you’ve got application upgrades to contend with now; old applications to keep running while new services are tested. You need to deploy applications. “To-Do-List-Today-Me” is likely very busy.
You likely have an Application Deployment strategy: automated or scripted deployment perhaps, or you integrate your applications as part of deployed images.  This works. If you’ve got all of this working “stuff” in place, why change? Application Virtualization uses different technologies from Application Delivery and is likely new to your organisation.
Application Virtualization is a technology mentioned as part of a hosted desktop service. Why undergo a virtualization when Application Delivery (AppD) has been working? Why not just use AppD for your hosted desktops?  Is there a point to Application Virtualization in a non-virtualized environment? Is Application Virtualization something else to put on the to-do list for “future me”. If not, what solutions are available now? If it is so absolutely fabulous, what could possibly go wrong?
In this two-part trilogy, we’ll discuss which technology – Application Virtualization or Application Deployment – is best for you to deploy to give your users access to their applications and data.
In this episode, we’ll offer you a new hope that while Application Delivery is useful solution – Application Virtualisation can Make It Better and offer
Application Delivery
Having an application workspace is pretty useless without having any applications installed in it. On reflection, there is little use you can make out of having a calculator, a notepad and the ability to sweep for mines. Granted, access to a browser can in turn deliver access to a wide range of applications: but remember that browser too is an application.
Application Delivery is focused on configuring an application to be distributed to end-devices. This process can encompass ‘taking the installation media from the box and manually configuring it on each and every device’ through to creating an automated  installation program and using a distribution framework to launch that installation on devices across your network.
Tools for such application delivery include Microsoft’s System & Configuration Management Centre (SCCM), Symantec’s Altiris,  Quest’s MSI Studio. These tools allow two core functions to help you manage user application access:
1. To deploy applications user’s requested applications to their workspace
2. To manage those application instances once they are installed on the end-devices.
However, with such tools the application is installed locally, it is integrated into the local environment. Deployment may be automated, it is not without issues:

  • Applications need to be regression tested to ensure that they don’t impact on other applications.
  • For large applications, the installation process can impact on user’s productivity as it can take a long time.
  • The existence of an existing application can prevent or impact on the installation of a new application.
  • Roll-back of installations and updates is not always straightforward.

Take the need to deliver an application upgrade: say from Microsoft Office 2003 to Office 2010. With application delivery you will have to deploy the version of Office to each device. You can’t have two versions of Office together on the same device: it is not going to work.
What Can Application Virtualization do for you?
Portability, manageability and compatibility of applications. How? Using two components:
1. Application Streaming: which delivers the application code to the user as quickly as possible. Rather than copy the entire application code base to the end device..then start (which may take a long time, and require a good deal of bandwidth) – deliver the core components so that the application and its main functions can start – and send the remaining information as needed.
2. Application Isolation: allows you to execute the application on the local device, but encapsulate the application code and settings in a separate environment from the underlying operation system: operate in a sandbox, if you will. That environment may offer the option to allow you to play nicely outside of the sandbox with other applications as long as you promise not to make a mess: or not and each application runs independently.
These two components combine to provide a number of benefits:

  • Applications can be delivered to users and launched with a greater confidence that they will not impact other applications.
  • .. and in turn, that existing applications in the workspace will not impact on them.
  • Application delivery time is reduced (as less time needed for regression testing, the process of sending the virtualized application often reduces the application size).
  • Easier roll-back and forward for applications.

Early application virtualization solutions were designed to serve applications (games if I remember correctly) to consumers. While that doesn’t sound very “business focused”, the delivery concept is relevant. IT is increasingly finding that the Business demand for application access is  not in step with a long delivery cycle. The business needs solutions for delivering access to applications beyond the desktop PC to partner, contractor and home devices. In addition, Business & IT are realising that changing the payment model of applications can reduce costs: instead of expecting money to paid up-front for an installed ‘thing’  there is a benefit in being in a position to access (and pay for) applications as used. If you only ever use an application twice a year –  why pay for 50 licenses? Why do you 1000 copies of that editing tool, when only 20 people use it?
Is Application Virtualization Better?
Application Deployment solutions reduce the cost of delivering applications and help you manage license use – isn’t that enough? With the end-of-support for Windows XP in 2014, many businesses are moving towards Windows 7 now. Ideally, this inevitable cost is kept low. You may have discounted moving towards some form of virtualised desktop for this as being too costly, too complex, too time-consuming or just to darn different. Hosted desktops may not be the solution you are looking for.
Application Virtualization can be used on ‘traditional’ desktops and laptops. Application Virtualization can be used in client side-hypervisors. Application Virtualization extends and increases the efficiencies of desktop virtualization as well as enabling portability and improving compatibility of applications. Application Virtualization can free you, not only from the limitation of having to “install within each device”, but lead the way  in offering an alternative to “install on only corporate devices”. Application Virtualization can be a tool to reduce the complexity and time needed  to move from Windows XP to Windows 7, and from future application updates. Indeed, for many companies, Application Virutalization is an option that can be used now by utilising existing license agreements, or for less cost than converting the application to run as a web-based service.
Do We All Get Medals Now?

If you are sure you didn’t nod off – sure. Remember, we’ve struck only struck the first salvo. We understand the nature of the difference between Application Virtualization and Application Delivery, but what next? There are a number of vendors offering application virtualization solutions: Citrix, Endeavours, InstallFree, Novell, Microsoft, Spoon, Symantec and VMWare: how do these differ?
In the next episode of this gripping saga, we’ll take a look at what these vendors offer, what options their solutions give you, and consider – Application Virtualization vs Delivery – is it a choice? Not quite “your father could well be a 6’2″ asthmatic magic cyborg” although it’ll be far far away from being a boring conversation anyway.

But “Cloud Computing” is more likely on the ‘To-Do-List for Future-Me’, rather than your actual to-do list today. Now you’re likely wondering “how you can move forward with a desktop upgrade beyond Windows XP?” Hosting desktops in the data centre, or out in the cloud, is all very well but you’ve got users who need off-line access, you’ve got application upgrades to contend with, old applications to keep running while new services are tested your data is in your data centre. You need Application Deployment.
You likely have an application deployment strategy: automated or scripted deployment perhaps, or you integrate your applications as part of deployed images.  This works. If you’ve got all of this working “stuff” in place – why change? Application Virtualization is a fundamentally different technology from Application Delivery and is likely new to your organisation.
Application Virtualization is a technology that is mentioned as part of a hosted desktop service. Why undergo a virtualization when Application Delivery (AD) has been working? Why not just use AD for your hosted desktops?  Is there a point to Application Virtualization in a non-virtualized environment? Is Application Virtualization something else to put on the to-do list for “future me” but if not, what solutions are available and if it is so absolutely fabulous, what could possibly go wrong?

Application Delivery
Having a desktop workspace is pretty useless without having any applications installed in it. There is only so much use you can make  out of having a calculator, notepad and the ability to sweep for mines. Granted, access to a browser can in turn deliver access to a wide range of applications: but remember that browser is an application.
Application Delivery is focused on configuring the application to be distributed to end devices. This process can encompass ‘taking the installation media from the box and manually configuring it on each and every device’ through to creating a automated  installation program and using a distribution framework to launch that installation on devices across your network. To save time, you could also install applications as part of base-image that was installed to devices.
Tools for such application delivery include Microsoft’s System & Configuration Management Centre (SCCM), Symantec’s Altiris,  Quest’s MSI Studio. These methods allow two core functions that help you manage user application access:
1. To deploy applications user’s requested applications to their workspace
2. To manage those application instances once they are installed on the end-devices.
However, with such tools the application is installed locally, it is integrated into the local environment. Deployment may be automated, but it is not without issues:

  • Applications need to be regression tested to ensure that they don’t impact on other applications.
  • For large applications, the installation process can impact on user’s productivity
  • The existence of an existing application can prevent or impact on the installation of a new application.
  • Roll-back of installations and updates is not always straightforward.

Lets take the need to deliver an application upgrade: say from Microsoft Office 2003 to Office 2010. With application delivery you will have to deploy the version of Office to each device. You can’t have two versions of Office together on the same device: it is not going to work.
What Can Application Virtualization do for you?
Portability, manageability and compatibility of applications. How? Using two components:
1. Application Streaming: delivers the application code to the user as quickly as possible. Rather than copy the entire application code base to the end device..then start (which may take a long time, and require a good deal of bandwidth) – deliver the core components so that the application and its main functions can start – and send the remaining information as needed.
2. Application Isolation: execute the application on the local device, but encapsulate the application code and settings from the underlying operation system in a separate environment: operate in a sandbox if you will. That environment may offer the option to allow you to play nicely outside of the sandbox with other applications as long as you promise not to make a mess: or not.
These two components combine to provide a number of benefits:

  • Applications can be delivered to users and launched with a greater confidence that they will not impact other applications
  • .. and in turn that existing applications in the workspace will not impact on them.
  • Application delivery time is reduced (less time needed for regression testing, the process of sending the virtualized application often reduces the application size)
  • Easier roll-back and forward for applications

Early application virtualization solutions designed to deliver applications (games in fact) to consumers. While that doesn’t sound very business focused, the delivery concept is very relevant to today’s business needs. IT is increasingly finding that business demand for application access is  not in step with a long delivery time cycle. In addition, business & IT are realising that change the payment model of applications can reduce costs. Instead of expecting money to paid up-front for an installed ‘thing’  – being in a position to access (and pay for) applications as used, rather than ‘as might be used’. If you only ever use an application twice a year –  why pay for 50 licenses? Why do you 1000 copies of that editing tool, when only 20 people use it?
Application Virtualization Solutions
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
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. 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. Citrix XenApp requires that a user has an on-line connection in order to access applications. This is not always possible. Note that Citrix Application Streaming can be used to deliver applications not only to XenApp servers, but hosted and physical desktops for use off-line.
Endeavours: Application Jukebox
InstallFree: InstallFree

Novell: ZenWorks Application Virtualization
Microsoft App-V
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, Adapative 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. While  Symantec’s EVS also offers a There is a – offering a similar solution to Citrix’s XenApp+Application Streaming.
These two products bought on own, or as part of EVS.
VMWare: ThinApp


Application Virtualization vs Delivery – is it a choice?
Application Virtualization offers you the opportunity to deploy applications in ways that are just not possible  with Application Delivery. A solution such as Citrix XenApp offers you the ability to deploy your applications to devices such as iPads without modification. If you’re a software publisher you could manage your application delivery directly to users using Spoon. Migrating from your application delivery environment will give a return on your investment.
Your range of device support is wider, your application deployment time can be quicker and less fraught. It is true to say that 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 over Application Delivery 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 not a walk in the park.

  • 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.
  • Pre-requisites: Some solutions require that a client component be installed: how will this impact on your application delivery?
  • 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?

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, with Application Virtualization your desktop strategy can be more flexible in delivering applications to your users and reducing teh time, effort and cost of meeting your business’ requirements.

Application Virtualization vs Delivery – is it a choice?