Winning the Application Deployment Battle with AppDNA
October 30, 2013
As desktop and application virtualization become central to the modern day workplace, the challenges that come with providing these resources greatly increase.
Of all of the components required for a virtual computing environment, applications are the biggest challenge. Aside from the normal considerations of meeting resource and OS requirements, virtual computing brings a whole new set of options and challenges. The most significant is the delivery methodology. Traditional computing gave us a single deployment method - install the application, in which all we needed to figure out was how to install it. Whether we used Active Directory, System Center, or manual process, installing an application was the same operation. We just needed to know what was needed for the operating system and how to configure it for the users.
With virtual computing the game has changed and the complexity has increased ten-fold. We now have multiple ways to get an application to the user. Yes, we still can install it to the desktop (or virtual desktop) image, but even that is more complicated than it is with traditional desktop computing. Virtual desktops may not simply be a standard Windows client operating system; terminal server desktops could also be leveraged. Terminal or shared hosted desktops require a different installation process compared to traditional desktops. Furthermore, in most cases, abstracting applications from the underlying operating system is the best method for a virtual computing environment. By delivering the application, rather than installing it, we can reduce the number of image required for desktop and server pools. In turn, this decreases the footprint and complexity of the environment.
There are two primary methods to delivering applications to desktops/users without installing them to the desktop operating system. They are publishing and virtualizing/streaming.
Publishing is the act of installing the application on a terminal server or virtual desktop dedicated to providing access to a specific application. The application is launched via a client (Citrix Receiver, RDS client etc.) and it is presented to the users. It interacts with the end user’s computer in much the same way that it interacts when it is installed. A published application is presented using the same delivery protocol that a virtual desktop uses, and can be layered on top of a virtual desktop or may be delivered directly to the user’s client operating system.
A published application leverages the resources of its host operating system, rather than the users desktop operating system. The key advantage is that it allows for the distribution of compute resources. It is also operating system agnostic, published applications can operate on any platform (Windows, Mac, iOS, Android etc.) as there is no OS dependency. The biggest challenge with publishing applications is achieving interaction with the underlying OS in order to make the experience seamless. Although it can be accomplished, it can be difficult to make published apps feel fully integrated with the user’s operating system.
Streaming or virtualizing an application is the act of packaging an application in a “sandbox”. This package contains all of the Windows system files required to function (registry, Windows directory, system32 etc.). Most application virtualization platforms are agent based, although some are not, and allow the packages to run as a process. When a user executes a packaged application, it is accessed from a network share, and downloaded or streamed to the desktop. A virtualized application launches and runs using the local compute resources of the desktop. This produces an experience that is similar to the naively installed experience for the end user.
The advantages of application virtualization are as follows: native-like interaction with the host operating system, centralized package management and updating of apps. It also is a great method for overcoming incompatibilities related to incompatible applications that need to coexist on the same operating system. The disadvantages are that it is often times complicated and difficult to virtualize an application. Applications that require integration with each other can also be extremely complex and burdensome. Virtualized applications are also dependent on the version of the host operating system. Therefore, multiple versions of the application may be required, depending on the different operating systems available in the virtual computing environment.
What all of this means is that most virtual computing initiatives take far longer to see production and maturity than planned for. The processes of testing and remediation alone can take months to validate a single application. Beyond determining what operating system to run an application on, there is the need to address other options, such as 32 or 64 bit. In many cases apps will function with multiple delivery methods, then factors such as performance and ease of integration will drive the deployment method chosen. In the end, there are a lot of options, which makes identifying the best one a time consuming process that often times can derail a project.
Over time, the footprint and goals for virtual computing have become loftier, and so have the challenges related to applications. These challenges can become so insurmountable that projects are derailed or scaled down. This is unfortunate as the possibilities of virtual computing are endless.
Citrix recognized and understood this burden. Challenges with application delivery are not new. Since the early days of WinFrame, delivering apps and desktop have presented different challenges with app configuration.
The acquisition of AppDNA and integration with Citrix’s family of products has been put in place to ease app testing and conversion complexities. It is a proven tool that can reduce the application testing process from weeks to hours. It also can provide an automated system for deploying various application package types to users.
AppDNA allows an administrator to process application installation requirements through a database. This process helps the application owner determine how it will best operate in a virtual environment. By analyzing 68,000 application datapoints it will determine its behavior and compatibility with a broad array of platforms including Windows 7, Windows 8, Citrix XenApp, Microsoft App-V, Windows Server 2008 R2, Windows Server 2012, and Internet Explorer 8,9 & 10.
AppDNA performs a deep analysis of every aspect of the application. Aside from the application’s characteristics, features such as OS dependency, shared DLLs and APIs are also factored into the analysis to provide the most complete and accurate determination.
Various installation methods are supported, such as MSI and EXE files. These files are deployed to an intuitive and easy to use application. The application is reviewed, and a detailed report is generated. These reports grant the user immediate and accurate data on app compatibility and deployment . In addition, if a modification is required to make the application compatible, it will be provided to the user via the report.
Beyond providing statistics, AppDNA can perform remediation to applications and package them in an MSI, App-V or XenApp package for deployment. This automation can provide additional efficiency as well as eliminate the chance of configuration errors with applications.
In summary, many virtual computing projects are either stalled or have their foot print reduced due to challenges with application configuration. AppDNA provides a proven and tested tool to test, certify, prepare and deliver applications in a fraction of the time previously required.
Posted by: Lee Gitzes, Pre-Sales Enterprise Architect
To learn more about what Comm Solutions can do for your organization, Contact Us Here