Reliable Web services demand managed custom code

IT professionals already have standardized tools necessary to manage hardware systems, networks and databases, but they still can't manage the behavior of the most complicated and important link in the processing chain -- the custom-developed software applications themselves. The rapid introduction of new distributed system frameworks, such as Web services, is set to make the problem even more acute and the solutions to correct it more complex. This article details a solution to the problem -- an emerging technology called application behavior management (ABM).

Oded Noy is Chief Technology Officer for PATH Communications, Inc., a Marina Del Rey, CA-based provider of software

products and services that enable companies to manage their customized mission-critical applications. He is the primary architect of PATH's application behavior management (ABM) technology and of P.A.M. (PATH Application Manager), a software-based ABM platform.


Market Analysis

IT and line-of-business professionals already have the standardized tools for managing hardware systems, networks and databases, but they still can't manage the behavior of the customized software applications, the most complicated and important link in the processing chain. As a result, these mission-critical applications often fail, and the results can be catastrophic, including loss of revenue, clients and damage to reputation and, ultimately, shareholder value.

The rapid introduction of Web services and other distributed system frameworks is set to make the problem even more acute because developing, deploying and managing customized applications is much more complex than it was in the past with client/server or mainframe environments.

What is being done today?
In order to minimize downtime, some companies have resorted to developing and maintaining homegrown solutions that address application problems as they occur. The cost of implementing these non-standard solutions is high, though, with diminishing returns. In addition, application availability and performance must be constantly monitored, verified and reported on.

For the most part, determining availability parameters for production applications has relied on external simulation testing, typically using ghost transactions with various levels of sophistication. However, this external view of an application still produces an incomplete picture of its overall behavior in production, for a number of reasons – among them:

  • Because of the lack of data granularity, when behavior issues are detected, it is not possible to clearly and accurately identify the cause of bottlenecks.
  • Ghost transactions must usually stop short of exercising certain production-oriented services used by the application system. For example, system operators do not want dummy credit card transactions in their production databases.
What is ABM and why is it important?
To get the complete picture of a software application's overall behavior in production, one must see into its inner workings. Fortunately, an emerging technology called application behavior management (ABM) provides this internal view in a production environment. ABM ensures the reliability of Web-based applications by collecting specific internal information, analyzing it, and acting on changing conditions as they occur, or even before they occur, thus substantially reducing the frequency and severity of application failures and the related costs.

A true ABM solution will produce and expose application behavior data with various degrees of granularity. It will then process this data to determine the acceptability level of application behavior in real time, as well as maintain database statistics for later reporting and analysis. It will also provide intuitive and flexible management capabilities to respond to changes in application behavior, both proactively and reactively.

ABM is especially valuable for companies experiencing any of the following:
  • Subtle and hard-to-find application performance problems that result in reduced customer satisfaction and increased maintenance costs.
  • Intermittent application failures that result in lost revenue.
  • The inability to determine what percentage of its application code is being exercised by quality-assurance load-testing tools.
Why is ABM critical for Web service reliability?
The aim of distributed computing is to increase our ability to leverage the power of multiple networked computer systems. The promise of distributed system frameworks like Web services is to provide easy access to this power while shielding its users from the underlying complexity. In a distributed system, the execution path of any request made to a software application is inherently complex because of its non-centralized architecture.

When breakdowns occur in production, the additional complexity translates into increased costs in time and money associated with accurately determining the exact source of the problem and resolving it. The only way to quickly and decisively pinpoint the cause of the failure is to have access to behavior measurement data with variable granularity from the various execution points within the application.

Moreover, with distributed system deployments, it is progressively harder to fully and realistically test custom application code before it goes into production; the complex production environment simply cannot be duplicated in a test lab. The software development lifecycle is therefore extended into early production cycles, and customers often experience performance problems and application defects. The ability to collect and manage application behavior data from within the application during production cycles has become critical.

The ABM implementation challenge
The effective implementation of ABM requires that a standardized platform for the collection, distribution and management of application behavior data be provided. There is an inherent challenge best described by the Heisenberg Principle ("What we observe is not nature itself, but nature exposed to our method of questioning.") that must be overcome:
  • How to provide ABM capabilities without burdening the application? (To manage application behavior, the management process itself must stay out of the way of the managed process and not impact performance.)
  • How to supply problem detection and resolution capabilities, both automatically and remotely, without incurring severe security risks by opening up the applications from the inside out.
  • How to generate, collect and make available an appropriate amount of information while not producing information overload.
Conclusion
Distributed systems represent the future of application development, software deployment and mission-critical use. This new and rapidly emerging paradigm puts a great deal of power in the system architect's hands, but it does so with the inherent cost and risk associated with its complexity. It also makes testing and predictive analysis more difficult. For the vision of deploying reliable distributed mission-critical applications to become a reality, we must be able to effectively monitor and manage their behavior in a production-oriented context.

In a perfect world, the people who manage, run and develop distributed applications would all be able to access a single intuitive view into their distributed application. This same viewing facility should also be able to provide the data to determine the level of acceptability of the application behavior in a similarly intuitive way for all parties. And once problems are detected, the ABM system should pinpoint the source of the problem accurately and quickly and provide the means for the appropriate specialist to drill down to the level of detail needed to remedy the problem with confidence.


Copyright 2003, printed with permission. Oded Noy is Chief Technology Officer for PATH Communications, Inc., a Marina Del Rey, CA-based provider of software products and services that enable companies to manage their customized mission-critical applications.

For more information:

  • Looking for free research? Browse our comprehensive White Papers section by topic, author or keyword.
  • Are you tired of technospeak? The Web Services Advisor column uses plain talk and avoids the hype.
  • For insightful opinion and commentary from today's industry leaders, read our Guest Commentary columns.
  • Hey Codeheads! Start benefiting from these time-saving XML Developer Tips and .NET Developer Tips.

  • Visit our huge Best Web Links for Web Services collection for the freshest editor-selected resources.
  • Visit Ask the Experts for answers to your Web services, SOAP, WSDL, XML, .NET, Java and EAI questions.
  • Couldn't attend one of our Webcasts? Don't miss out. Visit our archive to watch at your own convenience.
  • Choking on the alphabet soup of industry acronyms? Visit our helpful Glossary for the latest lingo.
  • Discuss this article, voice your opinion or talk with your peers in the SearchWebServices Discussion Forums.

Dig deeper on Service-oriented architecture (SOA) implementations

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

SearchSoftwareQuality

SearchCloudApplications

SearchAWS

TheServerSide

SearchWinDevelopment

Close