Welcome!

Raman Sud

Subscribe to Raman Sud: eMailAlertsEmail Alerts
Get Raman Sud via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Article

WebSphere Migration

Calming the configuration beast

In the coming months, hundreds of corporations will migrate thousands of applications from the WebSphere 4.x platform to WebSphere 5.0. The reasons for doing so are both many and compelling, not the least of which is that support for the WebSphere 4.x platform will cease to exist in a matter of months.

However, beyond that practical reason, WebSphere 5.0 provides a giant leap in flexibility, functionality, scalability, and expandability with its new distributed architecture. This makes it well worth their while for most companies to upgrade. However, upgrading from 4.x to 5.0 has its difficulties. None is more daunting than the challenge of porting application configurations from the WebSphere 4.x to the distributed WebSphere 5.0 architecture.

For every application deployed on the WebSphere platform, IT personnel must carefully enter dozens of pieces of configuration information to ensure that the application works properly. They also must engage in similar configuration activities across all "dependent" components in the application architecture, such as database servers, load balancers, and firewalls. One slip of the finger can cause a bad configuration, which results in poor application performance or, worse yet, application service outages.

WebSphere 5.0's new distributed architecture means that its configuration requirements are completely different from those of previous versions of the platform. Therefore, if one were to take a WebSphere 4.x application and deploy it on WebSphere 5.0, the application simply would not work. IT personnel have to reconfigure the application so that it works properly on the new platform. However, this can be a daunting task because a simple configuration file in WebSphere 4.0 must be broken apart, extended, and distributed across 30 separate configuration files in WebSphere 5.0.

IBM has published an excellent book entitled Migrating to Websphere v5.0 - an End-to-End Migration Guide. While this provides step-by-step instructions on how to migrate configurations, IBM does not provide any tools for automating this process. As a result, IT departments are forced to do the migrations manually, one application at a time, and must hire additional staff simply to handle the increased complexity in configuration management.

The manual configuration process is the reason why it typically takes roughly half a day to set up a single application server. For a large company that may need to implement hundreds or even thousands of instances of WebSphere, this process represents an enormous productivity drag. Additionally, because each configuration requires keen attention to detail across a multistep process, it is highly error-prone, leading to deployment delays and application downtime.

Part of the problem is that the WebSphere administrative console is built to support a "one-at-a-time" manual process, not a "one-to-many" automated one, in which entire nodes, cells, or hives can be configured and managed collectively. And, there is no reusability of configurations. With every application deployment, IT personnel must "reinvent the wheel" and start from scratch with configurations.

This leads to inconsistent configurations, even among application servers that are supposed to be configured identically. Furthermore, there is no shared knowledgebase for these configurations, because each machine is configured "in a vacuum" by a specific individual. If he or she leaves the department, other staffers have to determine why that person configured the machine in a particular way.

Many companies today are overcoming this problem by adopting new automated infrastructure configuration management solutions. These products have become available to the market throughout the last year, creating a layer of abstraction between IT staff and infrastructure, so they no longer have to understand the specific configuration requirements of each infrastructure component.

These solutions provide a configuration management database so IT departments can create a centralized "library" of configurations that can be examined and reused when appropriate. This reusability can reduce the time of deployment for a new application server from half a day to less than half an hour, radically improving the overall productivity of the IT department. It also eliminates manual configuration errors, enabling "service-oriented IT," in which applications can be flawlessly configured, deployed, and modified on a moment's notice, to keep pace with constantly changing business requirements.

The following sections go into greater detail as to how this type of solution can not only ease the migration to WebSphere 5.0, but also provide an ongoing, consolidated solution for managing configurations across the entire application life-cycle. For the purposes of illustration, we will use a real-life example of a WebSphere migration at a large publisher, which uses an automated configuration management solution.

2004: A Migration Odyssey
A few months ago, the IT department in one of the world's foremost publishers of business information was faced with two substantial challenges. First, the department needed to move all of its production configuration data from a relational database to XML. Second, the company needed to migrate from WebSphere 4.x to WebSphere 5.0, which meant creating and managing all new application configurations for the 1,500 application servers deployed across the company's test, certification, production, and disaster recovery environments.

Both of these challenges required a similar technical solution: a consolidated way in which to create, manage, and deploy application infrastructure configurations. With no commercial solutions geared specifically toward managing these configurations across a large-scale, distributed environment, the department had developed homegrown tools and scripts for managing WebSphere 4.x configurations. However, because WebSphere 5.0 had a completely different management interface and configuration management model, those tools and scripts were obsolete.

Because it was not practical to create new tools to manage WebSphere 5.0, it became clear that the only way to meet these technology challenges was to use an age-old solution: brute force. The company's IT department would simply have to undertake an incredibly time-consuming and laborious process of manually creating and managing configurations for all 1,500 application deployments on the WebSphere platform.

But just when it appeared that thousands of valuable IT hours would be consumed by manual labor, one of the company's IT executives was introduced to a configuration management solution that automates the creation, management, and maintenance of IT infrastructure configurations. This solution enables enterprises to automatically build, manage, and maintain complex infrastructure configurations throughout the entire application life-cycle, across distributed and off-shore locations. By adopting this solution, the IT department would be able to eliminate the manual processes involved with configuration creation and management, and instead automate them through a single, scalable enterprise solution.

Curing Configuration Chaos
Using manual techniques, the company estimated that for every WebSphere-based application migration from 4.x to 5.0, someone on the IT staff would have to create and manage more than 20 identical configurations across the company's test, certification, production, and disaster recovery environments. To put this into perspective, let's examine the cost savings of employing an automated configuration management solution vs. using manual techniques (see Table 1).

Table 1 illustrates the incredible amount of waste involved with manual configuration, and it does not even touch upon the thousands of opportunities for human error every time a configuration is manually implemented on the WebSphere 5.0 platform. By automating the management of these configurations, the labor savings alone justified the investment in the infrastructure configuration management solution. When factoring in the additional benefits of eliminating the inevitable human errors that arise with manual configuration management, the investment in the solution became a "no brainer."

The company estimated that it would have required roughly two years of work to build a tool that could automate configuration management for the WebSphere 5.0 platform. By moving to a commercial solution, it was able to adopt the solution within a matter of weeks and slash migration time by up to 75% per application.

Ongoing Benefits
The benefits of automated configuration management were felt immediately in the form of radically reduced migration time and the elimination of manual configuration-based errors. The solution also enabled "one-to-many" configuration management, so configurations can now be updated and managed across all application elements from a single console.

This has enabled the IT department to keep all of its configurations consistent across systems. This had always been the department's goal, but when using manual, one-at-a-time configuration processes, it was impossible to accomplish, and, in reality, no two supposedly identical application servers were ever configured exactly alike.

Likewise, the solution automates the management of dependent configurations, such as those of Web servers and database servers. This enables the IT department to implement the configuration changes automatically - every time they need to make a configuration change on the WebSphere platform. Historically, this has been one of the most common areas of configuration errors, not only because it requires configuration changes across a number of different application elements, but also because those elements are usually managed by different people within the IT organization.

Diagnosis and repair of configuration problems has also been simplified. In the past, whenever there was a configuration-related problem with an application, the IT department had to manually compare the bad configuration parameters with a known good configuration to find the problem. It could take hours to find the bad configuration using this technique. This was more than just a productivity problem, however. It actually jeopardized the company's ability to generate revenue, as millions of end users rely on its applications for vital information and purchase millions of dollars of archived content every day. Every minute of application downtime represented lost revenue.

With its new automated infrastructure configuration management solution, the IT department can identify and repair configuration inconsistencies automatically, within a matter of seconds, ensuring that it never has revenue interruptions due to application outages.

Automated configuration management has also simplified the migration of configuration data from relational to XML. All of this data can be stored and managed in the central repository and pushed out to application components as needed.

Before adopting configuration management software, any change in an application required people to go into multiple systems to input manual changes. This led to frequent errors and inconsistencies, often resulting in application malfunctions that required further manual labor to identify the configuration problem. With the configuration data stored as XML in a single repository, the department simply has to change a configuration once, test it against the repository for conflicts, and then push it out to all appropriate infrastructure components. This eliminates configuration-related application downtime and saves an enormous amount of time as well.

Migration, not Migraines
By eliminating the manual configuration productivity drain, the IT department is well on its way to migrating all of its applications to WebSphere 5.0. However, the benefits of the solution will not end once the migration is complete. Any time a configuration needs to be touched - whether it's for deployment, retirement, or simple modification - the threat of configuration chaos looms. Additionally, automated configuration management has radically simplified the company's offshore development operations. In the past, these operations would use their own set of configurations for developing and testing applications; then, the IT department would have to reconcile those configurations with its own infrastructure - again, by hand - before the applications could be deployed.

The automated infrastructure configuration management solution enables all developers - both in-house and offshore - to work off the same, centralized repository of configurations. This allows the company to clone entire application environments to ensure total consistency across all stages of the application life-cycle and across geographic and organizational boundaries. By building sets of configuration files that specify the complete settings of all elements of the application infrastructure, and then storing these configuration sets centrally, the solution enabled the IT department to synchronize the development, testing, staging, and production environments across the U.S. and abroad.

Conclusion
In providing a single, consistent way to manage configurations across the entire application life-cycle - through development, testing, certification, and deployment - the IT department estimates that the automated infrastructure configuration management solution has slashed application migration time by nearly 60%. So, it has paid for itself in a matter of weeks. More importantly, it has substantially improved the return on investment in the WebSphere 5.0 platform, because workers can deploy more applications in a shorter period of time. They can reduce the amount of time and effort required to manage those applications. Outsourced development operations are much more tightly integrated with internal operations. And, most importantly, configuration-related downtime has virtually disappeared.

More Stories By Raman Sud

Raman Sud is the vice president of engineering for mValent, developer of mValent Integrity. Sud has 20 years of experience delivering mission-critical software for enterprises and telecommunication service providers leveraging distributed development and building integrated teams in the US and India.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.