What is Application Virtualization?Application Virtualization is a component of server and desktop operating systems (OS). It enables the user to separate or isolate the application that is running on the OS. It also represents a centralised delivery system for all of the virtualized apps by utilising streaming technology and optimising the delivery speed. To virtualize the application means to previously capture and instantiate it on target machines. This means that virtual apps are the same as regular apps but they just don’t need installation and configuration. Application Virtualization is also used to remediate compatibility issues with older apps and modern OSs. It allows us to isolate apps from the OS and other apps. By separating your apps from OS instances allows you to freely deliver any app to any desktop without fearing the conflict. Each time a new generation of technology is introduced, we are told it would be easier to manage, quicker to deploy, and cheaper to support. But, the reality is that with each new platform we support more technologies, with fewer resources. App-V had been a niche-market tool for many years but came to prominence during the Windows 7 period. App virtualization has merely added to the vocabulary that included: SysDiff, Packaging, App adding, Profiling, Capturing, and Sequencing. More and more businesses are recognising that virtualization can provide all the advantages of fully up-to-date software at minimal per-station ‘refresh costs’… and they’re making corresponding changes to their IT provision. As a result, business IT is witnessing a major migration of software off the desktop and into the datacenter. But there’s more to real-world virtualization projects than converting every app on your corporate infra to App-V format. You need to pay attention to the ‘big picture’… and that’s where Readiness come in. Distilled from ten years of experience in the Application Packaging industry and based on the ChangeBase pedigree, the Readiness ‘Application Readiness’ methodology lends insight and rigour to find the best, most appropriate and cost-effective solution for your virtualization requirements.
How Does Application Virtualization Work?Virtualization hasn’t replaced packaging, it complimented it. We package into MSI’s and we sequence applications. As with every product/service, there are some restrictions, nonetheless, almost every enterprise desktop apps can be virtualized. As implied, not every application is a good candidate for virtualization. Let’s go through the apps that should be avoided for virtualization:
- Apps with Com+
- Apps with DCOM
- Apps that have a boot-time service
- Apps with drivers
- Apps with services that have to run under a special service account
- You should also avoid apps that have a lot of integration to other applications. There are techniques that handle this but it is sometimes better not to virtualize them.
Application Virtualization has multiple steps:
- Packaging applications (including testing, UAT and fixing) – this step involves installing the apps and configuring them using a special capture tool.
- Distributing the applications – Assigning the apps to user or machine accounts in active directory. App-V provides offline capabilities and fast delivery by using a streaming delivery with caching.
- Publishing the package in the user’s OS
- Adding all-important integration points to the OS and placeholders for registry and file settings (App-V extensions)
- The extensions aren’t virtualized because they allow for interaction between the OS (or user) and the virtual app
- Using a combination of filter drivers and client service to enable the app virtualization
- App is installed in the Program Files location but the files are in a different file cache area
Reality check: Compatibility and Suitability
- Kernel Mode Drivers
- COM/DCOM Objects
- ODBC Settings and Drivers
- Inter-application Dependencies
- Sandbox(ed) directories and isolation files
- Reboots (yes, still really)
- Getting 75% of your applications on a virtualization platform is considered very good.
Virtualization will not save you moneyVirtualization is now a part of the deployment fabric, it has become one of the tools that manage your applications. The investment in virtualizing saves money in a couple of areas. The sandboxed nature of virtualized apps means that uninstalls are risk-free. An uninstall of a retired application cannot remove settings or files shared by other apps. Troubleshooting failed or sloppy uninstallations can be very time-consuming such that some organisations prefer to wipe the computer and install everything but an app rather than using its uninstall. It can cost money in other ways too. By allowing users to run multiple versions of the same app on the same computer it can consume multiple licenses of a piece of software. When in the end you make up the balance virtualization will not save you money. It adds time to packaging, you need skills, and to put in a lot of effort to develop deployment scenarios. App-V is harder to debug, edit and update. There are loads of compatibility issues…. But it will provide you with more deployment options.
Virtualization, mobilisationBesides changing the nature of on-site provisioning, virtualization provides one of the foundations of ‘mobile data’. And there’s no doubt that BYOD – the practice of making a company’s IT provision available to an increasingly ‘wired’ workforce via their own tablets and smartphones – is attracting more than its share of ‘mobile data’ headlines. To use the buzzwords, BYOD marks business IT’s abandonment of the ‘workplace’ of locally-installed desktop apps to colonize a ‘workspace’ in which users rely on a variety of connected hardware to access remote data and virtualized apps.
Is it easy to automate App-V?It’s not easy at all. The reality is that you need:
- Reference Configuration Management
- VM and Database management
- Automating the sequence process
- Storage, Security and Transfer infrastructures
- Error handling and UI issues
- Troubleshooting and Support
Virtualization and business transformationThe transformative possibilities of virtualized software extend far beyond the novelty value of accessing corporate data from your seat on the morning train. With businesses placing an ever-higher premium on flexibility and responsiveness, it can be used to provide exceptional levels of support to ‘outworkers’ and staff at ‘remote branches’, making them feel like ‘part of the family’. Indeed, with appropriate security controls virtualization can be used to develop relationships with contractor companies and freelancers. Filesharing is only the beginning. How about virtualizing high-end ‘workstation’ software to create a common space for accessing complex graphics or specs?
Where can automation help.
Assessment of good virtualization candidates.
- Compatibility – Suitability – Quality
- Portfolio level checks
- Ensuring consistent changes across your entire portfolio
- From msi installer packager
- From legacy formats
- From legacy virtualization formats
- To multiple virtualization formats
Where are we now?
- App-V has conquered its place
- Larger organisations offer multiple virtualization technologies
- The industry has matured
- The tools are better (view/edit/update)
- Industry skills have improved
- Technology has stabilised
Maximizing valueVirtualization is in the process of overturning the desktop paradigm that has been IT orthodoxy for 20 years. The possibilities are endless, but one thing is certain: virtualizing your apps using Readiness will meet all your QA requirements. Readiness makes it easy for novices and experienced users alike to organise their app-V readiness process. If you’re looking for a reliable platform to automate your App-V Readiness process, contact us today.
CEO, Product Evangelist
Greg Lambert is the CEO and product evangelist for Application Readiness Inc. Greg is a co-founder of ChangeBASE and has considerable experience with application packaging technology and its deployment.