These days, companies run on their Web applications infrastructure. Companies increasingly rely on their Web-based environments to create customer-facing applications. These are often self-service applications and they provide tremendous benefits. In a world where customers want to get answers and responses in real time,
Even when companies use commercial configuration management tools and frameworks, there are still problems.
companies have no choice but to make their development environments dynamic and ever changing. And that creates an interesting problem. The problem is not about the actual design or look and feel of these applications, but rather it is the difficulty of managing the changes to these Web-based applications demanded by the business.
In order to change Web applications, developers, often using Java Enterprise Edition (EE), make changes to configuration scripts. Java EE presents challenges to companies because of the complex configurations required to support these Web servers. To make matters even more complicated, these Web applications are often changed several times a week. Therefore, we are seeing a situation where the same configuration script may be modified almost perpetually. The hidden secret that development organizations are reluctant to discuss is that changes to scripts are difficult to manage and are not well controlled. The bottom line is that poorly managed scripts cause unexpected downtime that is difficult to manage. When downtime occurs, few organizations are likely to first look at Java EE scripts as the source of the problem.
Hurwitz & Associates in conjunction with Techtarget conducted a Web-based survey of 249 companies to determine the impact of complex Java EE Web application development, modification, and deployment. Not surprisingly, 86% of the companies reported that their Web-based applications were either very important or mission-critical. It is clear that the more Web applications these companies have, the more likely they are to have a huge maintenance requirement. This was born out by the survey that indicated that companies with large deployments are finding that their maintenance load has increased from between 11 percent and 20 percent annually. And the burden on the IT organization is significant. The survey indicated that large sites with huge Web-application workloads are finding that the costs of the resulting downtime can be as high as $72,000 an hour.
With all of the automation and management tools available on the market, you might expect that software management is getting better -- not worse. But unfortunately this is not true. There are three primary issues that organizations are facing as they cope with building and deploying Web applications:
- When Web applications need to be modiﬁed, developers are required to modify existing deployment scripts. These scripts are often poorly documented and managed. A single error in a script can cause an important application to fail. If the company is managing hundreds or thousands of scripts it is hard to determine precisely where the error might be.
- Because changes in scripts can cause unexpected downtime, more people are needed to track errors.
- Transcription errors within scripts lead to many unanticipated errors.
Another significant trend that is putting pressure on development organizations is the increase use of server virtualization. This has the effect of increasing the workloads of existing Web applications. Therefore, configuration failures have a greater impact. You might expect that developers would acknowledge this impact and many did. In the survey, 58% of respondents acknowledged that configuration errors were a major problem. However, we suspect that many developers would be reluctant to admit that they are having trouble with managing configuration scripts. Had these developers who answered the survey been completely honest, we would suspect that the percentage of developers who admitted to major problems would be closer to 75%.
So, what does this say about Web applications management? It is indeed a serious problem. Even when companies use commercial configuration management tools and frameworks, there are still problems. Manual scripting is still at the heart of the problem. Too many developers rely on this approach that inevitably leads to mistakes. Even when the original script was well written, the next develop and the developer that takes over that project are very likely to misunderstand the script and introduce errors. The only way to change the impact of configuration script problems within a Java EE environment is to automate the scripting process so that configuration changes can be managed in a planned manner.
About the author
Judith Hurwitz is the president of Hurwitz and Associates, a research and consulting firm, and author SOA for Dummies.