Linux desktops are becoming more and more of a reality. Companies are adopting Linux desktops for a variety of reasons: stability and interoperability, scalability and performance to name a few. Regardless of the platform used much of application management complexity today is due to the consequence of traditional deployment architectures. Since these deployment architectures dictate that the application (including programs, state data, and configuration data) are tightly coupled to the infrastructure on which they run (including hardware, operating system, and environmental information).
When an application is installed onto a server or desktop, the act of installation and configuration creates dependencies that in effect weld the application to its environment. As a result, the application becomes difficult to manage separately from its infrastructure and it is the application, not the infrastructure that delivers the value that the business requires.
Applications become captive to their operating system environment, support costs (expressed in the staffing costs of the IT specialists needed to manage them both on the server and desktop), and availability requirements of the end users. Often, an enterprise lacks the knowledge to disentangle business critical applications from their underlying environments, increasing the time needed to maintain the application, implement migrations to take advantages of the latest hardware and operating system environment, or upgrade applications to increase business value.
IT organizations have a critical mandate: to deliver the applications that allow an enterprise to perform its business functions. If an application is not available on either the server or the desktop when it is needed, then the IT organization has not met its prime objective.
In fulfilling that mandate, the IT organization must deal with a number of challenges — all of them affected by constraints of cost, risk and feasibility.Application Management Trade-offs
Tradeoffs are made everyday to mitigate the loss of application availability, time, and labor costs. The tradeoffs have many causes (as indicated in Table 1) but the disruption and cost incurred by an enterprise can be enormous. The enterprise becomes a captive of the application and often accepts less business functionality from the application to enable a consistent environment.
Table 1: Application Tradeoffs
Challenges |
Causes |
|
Service interruptions, high management costs |
Difficult, error-prone and time consuming application deployment, configuration, updating and patching |
|
Version dependencies |
Loss of cost savings and operational advantages of latest hardware and operating environments |
|
Wasted resources |
Inability to run multiple instances of same application safely |
|
Legal/regulatory requirements and operations overhead |
Preserve and duplicate applications and data for compliance audit |
|
User dissatisfaction |
Inability to address support issues |
|
Lost business |
Inadequate capacity for essential application services |
|
High recovery and opportunity costs |
Expensive or inadequate availability protection |
The challenges of application management require a method that simplifies the management process within the confines of the existing infrastructure, corporate expertise and application management process.
Application Management Made SimpleApplication management (including state and configuration) has until now been a secondary function to the management of the infrastructure upon which the applications are deployed and supplemented by the expertise of the application support staff. It is becoming clear that, in order to unlock the value of applications, enterprises need to enable the management of applications, their data, and configurations independently of the underlying hardware and operating environments.
How do we break these unnecessary links that bind applications to their underlying infrastructure? How do you break the server/workstation (OS and hardware) lifecycle from the application management lifecycle? How do you provide application access to thousands of Linux desktops?
Software that achieves true application virtualization places all the application dependencies into a single entity, allowing the application to be easier to manage, deploy, extend, migrate, fail-over and in any measurable sense greatly simplify application management.
Current Application Standard
Applications make use of application binaries, libraries, configuration files, operating system parameters and user preferences and configuration. An application is built to run on a specific operating system or operating environment (for example, Java).
Developers of homegrown applications, as well as implementers of open source solutions, know that there are many dependencies and much complexity in application installation and configuration, often reflected in complex build environments and make files. But for most commercial applications, complex installation logic is incorporated into elaborate installation scripts or programs, and the complexity and dependencies of application configuration is normally hidden via a graphical user interface. As a result, IT organizations often do not discover the complexity and dependencies of most applications until a service disruption or failure, an upgrade, a migration or consolidation effort — exactly the worst time to do so. Industry analysts estimate that approximately 80 percent of application outages are due to improper configuration.
In the event of service disruption, the focus is on getting the application to function again, and cost issues are secondary. These activities can entail loss of availability, much time, and high labor costs. The current application configuration methodology places emphasis on the skill of the IT staff to correct failures and complete these application specific activities quickly.
Application Virtualization
In order to mitigate the problems that application complexity and dependencies cause, application virtualization technology enables the management of applications, their properties, and files independently of the underlying hardware and operating environments.
Application virtualization software encapsulates entire applications so they can become commonly understood standardized parts that include the dependencies and environmental/application configuration settings. Encapsulation localizes application dependencies to an application specific environment that is independent of the OS or other applications.
The encapsulation of an application is defined as a set of discrete steps:
- Capture – A capsule can be created from an already installed application or by installing the application inside an empty capsule.
- Archive & Compress – The application properties and files are bound together into a single file.
- Configure – The packaged application can be configured or updated.
The product of the encapsulation process is an application capsule. An application capsule is a secure and separate application environment that effectively “decouples” the application from the operating system and the underlying infrastructure.
In summary application management is complicated by the tangled and poorly understood dependencies between applications (programs, data and configurations) and infrastructure (hardware, operating system and environments). Application virtualization removes this hindrance by encapsulating applications into capsules. Encapsulation allows the application to be insulated from the underlying infrastructure (hardware, operating system and environments). Once an application is encapsulated, it can be managed easily, controlled independently and easily deployed.
True application virtualization separates the application management lifecycle from the server, workstation and desktop lifecycle. This reduces the complexity, labor and opportunity costs, and loss of availability of applications by simplifying, rather than breaking, existing corporate application configuration processes. The result is an easier more cost effective way to manage applications and ultimately your desktops.
John Hamilton is executive vice president and COO for Trigence. www.Trigence.com
