By: Steve Schmidt
Attending a session on Application Management at Microsoft TechEd in Orlando, FL, it strikes me once again that despite a general desire to simplify computing environments, IT organizations find themselves in a world with a more, rather than less, diverse set of applications. The variability exists on many dimensions:
- Application types – These include traditional on-premises apps as well as SaaS apps, and those apps that will exist as a combination of software + service.
- Application packaging types – Applications exist in multiple formats including MSI, application virtualization (including client App-V and Server App-V), and virtual appliances. In addition, an increase in adoption of user profile virtualization is creating another set of templates and data sets that accompany applications.
- Delivery methods – Apps can be installed locally, streamed as needed, and/or hosted in a datacenter (on-premises or off-premises). On another dimension, apps can be delivered as needed as a "layer" on top of an OS image.
- Target platforms – The app can be run on a traditional client, mobile device, or server environment. Many variants of each exist.
- Application counts – The number of applications in use seem to be increasing, based on the requirements for specialized functionality and the fact that additional personnel are now bringing them into the organization.
- Licensing models – The traditional models of per user, per server/CPU, concurrent user, and others have now been augmented with a range of usage-based metrics.
A key reason for this increase is that we are in a state of transition, fueled by multiple major market trends. Virtualization and cloud computing are yielding applications that appear in new formats, such as the virtual appliances and virtual applications. They also give rise to new or redesigned apps built explicitly for multi-tenant hosted delivery. Concurrently, the mobility trend is resulting in many new device types in the enterprise environment, running different apps or apps tailored for those hardware/OS combinations. Additionally, mobile devices bring some different connectivity capabilities and usage patterns which frequently affect how applications will be delivered or presented to them. A third significant trend is the consumerization of IT. End users are often given the ability to select applications they need, resulting in the influx of new applications in new formats. Coming from different sources, there may be other nuanced differences in the way they were versioned, prepared or delivered. The fact that new trends are adding variability is typical, especially in early stages of the trend adoption. It is also likely that the life of many of the incumbent technologies will have a "long tail". Full displacement of key technologies is rare; there are still many uses for mainframe, midrange, and first generation client/server solutions, even as each generation of successive technology was introduced.
So, what should IT organizations do? Some of the planning implications are:
- Application assessment - With so many application packaging format options to consider, a mechanism to determine format suitability for particular applications and users should be considered. These include both application virtualization formats and virtual hosted desktop environments. This compatibility testing should be automated so it can be applied to a broad section of the application estate quickly.
- Flexible processes and tools – Processes and tools should be dynamic enough to create and manage multiple formats. Integration with many other systems, including configuration management and IT Asset Management systems, will be important. Those other systems will be sources of complementary data, as well as delivery vehicles for the apps, whether in traditional client or hosted approaches. Since some organizations will continue to test and use different application packaging options (by department, by region, etc.), tools and processes should be neutral in their support of new technologies from different vendors, supporting all the key options available.
- Coordination – The effort should include centralized management in order to avoid duplication of effort across departments and to retain some control within the IT organization, at a minimum. The functionality in this area can include workflow management for handoff between key process steps and the logging of results at each step, a central repository for the applications and their relevant metadata, and reports to demonstrate progress and future plans.
A hybrid application world is here, and it is increasing in scope. That isn't necessarily bad, as long as we recognize it and prepare for it.