rPath has announced that they have added automated model based deployment for Windows applications to their existing capabilities for Linux based applications. Before we go into rPath and this announcement in some more detail, let’s look at the environments that rPath is addressing and now they are changing:
- Most enterprises have large numbers of business critical applications (for most companies the number is over 100)
- A significant portion of these applications are custom developed by the enterprise, and subject to continued feature enhancement and maintenance
- These applications used to run on dedicated physical servers, but they are now being rapidly virtualized, and some of them are even migrating (at least in part) to public cloud environments
- The deployment model for modern applications has changed dramatically from a few years ago. A few years ago, an custom developed in-house application would be a very large and complex piece of Java code that was maintained by a large team of people and deployed on relatively few very high end J2EE applications servers (running Weblogic or Websphere). Now it is much more common for the deployment platform to be Tomcast or JBOSS, for the application to be broken up into much smaller pieces (maintained by much smaller teams) and deployed across scaled out commodity servers
- Agile Development has emerged as a discipline that allows teams to update code in production as often as once a day or even once a week
- Devops has blurred the line between the developers of the application and the people who support the application in production as this is the only way for Agile Development to actually keep code quality high enough.
This raises the question of how one should manage the process of deploying and managing software in these new dynamic, cross-platform (physical, virtual, cloud), scaled out and rapidly growing environments. Just as virtualization and cloud computing have changed the requirements and solutions that meet these requirements for backup, security, capacity management and performance monitoring, it seems only reasonable that the pace and scale of change to our computing environments would cause us to take a new look at how software deployment and management is done.
If we are going to rethink and re-implement how we deploy and manage software in this new environments then we should meet the following criteria:
- Recognize that while virtualization and the cloud are important, all portions of all applications are not going to end up on any one virtualization platform or in any one cloud. Some portions of some applications may well remain on physical hardware. Some applications may well get split across physical hardware, VMware vSphere and a cloud platform.
- While there might not be many applications that are a mixture of Windows and Linux, almost all enterprises have both. Therefore a common process is needed to be able to manage software across both platforms.
- The new process must be agile and highly automated with detailed tracking, auditing, and rollback features.
- Much like systems management is greatly enhanced when there is a well understood model of the systems, applications management can be similarly enhanced by a well understood model of the application and its dependencies.
rPath rBuilder 5.8
rPath has announced the general availability of rBuilder 5.8 which adds support for Windows applications to the previous support for Linux applications. rBuilder 5.8 includes the following key capabilities:
- Automated dependency discovery and resolution—Inspects .NET, MSI and other Windows formats, automatically discovering and resolving run-time dependencies;
- Deep modeling and automated software packaging—from a blueprint and bill of materials, automatically generates standard MSI packages that are ready to deploy;
- Version and release lifecycle controls—Applies version control to all packaged elements and eliminates drift between dev, test and production release stages;
- Automated image generation—Generates image output on demand for rapid deployment or retargeting between physical, virtual and cloud environments;
- Automated and reversible updates—Enables surgically-targeted and fully reversible changes for low-overhead, conflict-free maintenance;
- Cross-platform automation—Provides a single enterprise solution for automated deployment of any application, running any platform, deployed to any execution environment—physical, virtual or cloud.
With this announcement rPath has therefore delivered automation for a crucial process, the management of software deployment across these new dynamic and scaled out environments that no one else has addressed, and that addresses a critical source of friction and errors for enterprises seeking to benefit from the agility inherent in the new ways of building and operating applications systems.