This article has been translated into Chinese thanks to Tommy Huang. Check it out here on his blog
As we jump head long into a new year of exciting advances for App-V I have been taking some time to reflect on the activities in the past year.
I have spent much of the past year working with customers who are starting out with App-V for the first time.
Worldwide there are over 22 million MDOP licenses that have been purchased. I had the opportunity to work with a wide range of customers who purchased some of those licenses.
I worked with customers in government and private industry. The customers ranged from mid-size telecom and cable companies with over 5000 employees and over 2 million customers to governments both at the city and state level. The common thread that all applications managers had was how to make managing application easier. The challenges that they face include supporting
In my Experience, Application Management starts long before we double click a setup.exe, or install.msi. The first thing we need to understand with a new application is how do we install it? That includes questions like what are the dependencies. Are there custom configuration files that need to be created/modified, how much space will the application take? Will users need additional training? Will help desk support technicians need additional training? What is the life time of the application? How will the application maintained and upgraded? Once the application is no longer required how will it be retired? With Virtual Applications we still need to ask these questions.
All these questions should be answered before an application is deployed into an environment. I saw customers answer these questions in different ways. Some had Change Approval Boards or CABS. Some would simply fill in a document template that documented the application before installing it. Depending on the level of process and the complexity of the application it could be very challenging to get an application out to users. What’s more when users have trouble with a new application it usually took time for the help desk to get up to speed.
App-V provides a consistent set of answers for these questions. Let’s dive in a take a look at how those headaches are solved and how customers approach solving them.
THE COMPLEXITY SHIFT
What I tell my customer whenever I’m explaining the value of App-V is that we are shifting complexity. Microsoft has done a terrific job of building a reliable installer executive with MSIEXEC. However there are still many applications that choose to, either use highly customizes routines stringing together multiple MSIs along with various custom configurations step, or a customer install all together. For example many line of business applications have configuration steps that must be completed after the application has been installed. Sometimes this involves editing configuration files or connecting the application to a back end database.
The next complexity is once applications are installed troubleshooting these applications requires specific knowledge of the application so that help desk and administrators can quickly trouble shoot the application. A simple way to look at this is count the number of applications that need to be supported then look at the number of setting and configuration steps required to install them, finally look the troubleshooting steps for those applications. The combination and knowledge required to support a large number of applications increases exponentially. With App-V the sequence engineers packages once and the installation is same regardless of who deletes or refreshes the app. The helpdesk no longer has to worry about how to reinstall if app breaks or which settings to choose. All settings are the same so troubleshooting is the same. Before we can ensure that we get that streamlined complexity shift we need to also think of a few more things.
IDENTIFY YOUR SUBJECT MATTER EXPERTS
Customers found that because they had to get the application working up front when they sequenced the application it required testing that assured a working application on delivery to the end user. Since Virtual Applications are usually installed ready to run it’s important that someone who knows the application very well tests the application to make sure that it behaves as expected. To accomplish this I worked with my customers to identify subject matter experts for the applications we were sequencing. This includes those that are knowledgeable about installing the application and using the application. The last thing you want is for a user to get an error on some feature that is buried under the surface of the application. It’s frustrating and it means having to remediate your App-V package. This leads into the next tip nicely.
USER ACCEPTANCE TESTING
Like any development project, you should try to run a user acceptance test on applications that get sequenced. Since we are in a sense altering how the application is deployed to computers we are changing how the original developer intended for the application to be installed. This isn’t usually a problem so long as the developer followed best practices, but there are always exceptions. By having your expert users validate the packages and sign off that the package works you ensure that your package has met a level of acceptance so that users can be productive with the application.
HOMOGENEOUS HELP DESK PROCEDURES
Unfortunately as careful as we are at some point users might have trouble with applications. This usually means a call to help desk. With traditional applications we needed to provide detailed troubleshooting steps that were often different from one application to the next for example, make sure the application was properly installed and DLL’s were registered. Check .INI files, make sure file extensions were properly associated. This list could go on. With App-V the first steps of troubleshooting can be streamlined to be the same for all applications. Here is an example troubleshooting list:
1. Ensure the application is loaded into the client cache
2. If the application is deployed via SCCM make sure that the App-V client is properly configured for HTTP streaming or to communicate with the SCCM client.
3. If the application continues to have issues reload the application into the
App-V Cache.
4. Clear user PKG file
5. Re-stream all app-v applications
This list is by no means conclusive, or complete. It will be different for many different environments. What remains the same is for applications that are deployed using App-V the steps are always the same. This allows your help desk technicians to deliver fast, consistent and remote application support.
PREPARING THE SEQUENCING ENVIRONMENT
After talking about processes that will be impacted and the various key players that should be implicated with App-V, I then start helping customer prepare a sequencing environment. This environment is key to successfully and efficiently packaging application.
App-V sequencing is very IO bound. You can end up losing a lot of time watching progress bars if you sequence applications on a computer with a slow hard drive. Another consideration that contradicts the first point to some degree is that sequencing should be done on a virtual machine so that the sequencing environment can be quickly reset to clean state. While I have seen many customers work directly on hardware, the time they save using hardware is quickly lost while waiting for the PC to be re-imaged. My own solution for this is to keep a 10k eSATA hard drive in an external enclosure. Whether using a virtual machine or using a physical machines the 10k server class hard drive really boosts performance.
Many customers ultimately locate their sequencing clients on a backend server virtualization technology such as Hyper-V. This allows for 64bit and 32bit VMs and since the hard drive technology is usually based across SAN Disk arrays IO performance is optimal.
TIPS AND TRICKS WHEN SEQUENCING
There are even more great tips such as adding dummy printer drivers and ODBC connections, and in some cases adjusting the registry both on the sequencer and in the virtual package to hide the “q” drive. (This is virtual drive that provides a mount point for app-v virtual packages).
For anyone setting up a sequencing environment I would strongly recommend reading the sequencing best practices guide Link to Guide
COMMUNICATIONS IS KEY
The final point that I always recommend to customers once they are committed to deploying applications using App-V is communicate! Apps may behave a little different than users are used to, make sure users have a high level understanding of why that is. Make sure application owners understand that they way applications will be “packaged” has changed. They should understand that sequencing has a bit more cost up front in terms time and effort to prepare, however they payoff will be streamlined deployment and support. The support staff will need to understand what is different about virtual apps, and why that difference matters to them.
As with any change large or small it’s easy to meet resistance. A good communications plan outlining the value of using App-V will go a long way to smoothing out pockets of resistance across the organization.
This concludes my observations from the field for now. I have more to write up so stay tuned over the next few weeks. With the release of App-V 4.6 we are entering an exciting period where customers will be able to start deploying virtual apps across their entire infrastructure. Some key features to watch out for are x64 client support and enhanced integration with Windows 7.