4 “No Fail” Best Practices for Enhanced Application Diagnostics
November 11, 2011
Charley Rich
Share this

Many things can, and will, go wrong during the development of an enterprise application. These issues underscore the importance of using test cycles to detect potential performance-robbing defects before the application is moved into production. To combat the myriad problems waiting to plague the application lifecycle, developers need to equip themselves with items they can employ to troubleshoot such issues when they arise.

User Acceptance Testing, in theory, is used to utilize the end-user to test the application before it moves on to other stages of the application lifecycle and give their approval, but rarely does an application become exposed to the variety of situations it will experience in production.

Too often, the underlying middleware message layer is often regarded as a “black-box” during this process. And that’s ok, as long as there are no problems. Testers know how long a message or transaction took to transit that layer or the architecture. But if that took too long or was routed to the wrong location, they don’t know why.

This lack of visibility can make it rather difficult to reproduce and then resolve a production problem. Lack of visibility also forces development to manually contact the middleware administrator in shared services and request information about message contents. Certainly, this is an interruption to the middleware administrator and a very inefficient, costly and error-prone process.

As more firms move to a DevOps culture, cooperation in usage of tools across development and production is important. At the very least it gets the two teams speaking the same language, which means time spent in trying to reproduce a problem that is adequately specified can be reduced. At best it can help the joint teams rapidly identify a problem, reproduce it in the test cycle and then develop a resolution.

The following “no fail” best practices are designed for Independent Software Vendors to enforce consistent guidelines for application, middleware and transaction diagnostics in order to rapidly identify, trace, replicate and resolve issues that occur during production.

1. Visibility

Ensure that you have the most detailed visibility into the performance of your applications as possible. Synthetic transactions are not enough. Detailed diagnostics down to the message contents or method level are essential -- you need to see more than just what is being passed into and out of an application as if it were a “black box.”

Instead, ensure you have full visibility of each message and transaction. Use diagnostics at each juncture to proactively provide detailed information when an application’s behavior veers from the expected.

2. Traceability

Knowing when a metric has been breached is an important first step in optimizing application performance during test cycles. Knowing exactly what caused the problem is more challenging. Traditional testing methodologies treat the symptoms looking outside-in, not the root cause which often requires an inside-out viewpoint. Make certain that you can trace the message path in its entirety to uncover the precise moment and environment when the problem occurred.

3. Reproducibility

The key to any successful testing program is the ability to reproduce an error. It is the confirmation of a problem solved, and guarantees that the same problem will never need to be resolved twice.

4. Actionability

Once a problem and its trigger have been identified, and after it has been successfully isolated through replication, developers have all of the tools they need to confidently act on the information and permanently resolve application performance problems. This means they need the tools to -- on their own -- create new messages, re-route them and test their problem resolution.

The ability to identify problems sooner in the application lifecycle will yield better results when the need to remediate issues arises in production. This can only happen when development and production are working together as a team, utilizing a common tool set and when development is enabled with full visibility. This approach will save time and money, as well as helping organizations meet SLAs and drive ROI from these applications.

About Charley Rich

Charley Rich, Vice President of Product Management and Marketing at Nastel, is a software product management professional who brings over 20 years of experience working with large-scale customers to meet their application and systems management requirements. Earlier in his career he held positions in Worldwide Product Management at IBM, as Director of Product Management at EMC/SMARTS, and Vice President of Field Marketing for eCommerce firm InterWorld. Charley is a sought after speaker and a published author with a patent in the application management field.

Related Links:

www.nastel.com

Share this

The Latest

June 24, 2016

APMdigest asked the top minds in the industry what they feel is the most important way Application Performance Management (APM) tools must evolve. The recommendations on this list provide a rare look into the long-term future of APM technology. Part 2 covers the relationship between APM and analytics ...

June 23, 2016

At the end of every year, APMdigest takes a look into the future by asking experts to predict the changes that will occur within the Application Performance Management (APM) industry in the coming new year. With this new list, we are looking even farther into the future, to the evolution of APM. This list is comprised of expert opinions on how APM should evolve – an evolutionary wish list for APM. The recommendations on this list provide a rare look into the long-term future of APM technology ...

June 22, 2016

One of the most noteworthy elements of this year's State of DevOps Report is the continued advancement of concrete metrics, and notably ROI calculations, useful in determining the level of impact that organizations are appreciating via use of the practices ...

June 21, 2016

Application performance levels too often fail to meet the needs of the business. This creates what I call a "performance gap" – a widening gulf between the needs of business and what IT is able to provide (or not) to meet those needs. The business impacts include more unhappy customers, contract delays, missed deadlines and lost revenue. So in Part 2 of this series, let's examine the four key elements any organization can address today to bridge this gap ...

June 20, 2016

The technology landscape is littered with confusing terminology. The term "monitoring," for example, can mean any number of things, and while more specified terms like application performance monitoring, network performance monitoring, or infrastructure monitoring are supposed to narrow it down, there is often overlap and confusion into what is supposed to go where. Here are several key areas to focus on when evaluating your next IT purchase ...

June 17, 2016

The demand for real-time collaboration has introduced new performance requirements for enterprise networks to deliver a great user experience. A recent study conducted by BT and InfoVista, Meeting the Network Demands of Changing Generations, found that 90 percent of today’s workforce is unsatisfied with the application performance on their employer’s network overall ...

June 16, 2016

In this blog I'd like to highlight one very critical area of AIA that came out in my research: the growing role of security as an integrated requirement for performance, change and capacity management ...

June 15, 2016

Network communications are a top priority for DevOps teams working in support of modern globally-distributed systems and microservices. But basic network interface statistics like received and sent traffic aren't as useful as they once were because multiple microservices may share the same network interface. For meaningful analysis, you need to dig deeper and correlate network-traffic metrics with individual processes. This is however just the beginning ...

June 14, 2016

The global distributed performance and availability management software market is expected to grow at a CAGR of more than 13% until 2020, according to Technavio analysts.

June 13, 2016

If your company has experience in developing applications or performance management solutions, then you might want to consider joining an APM vendor's ecosystem to grow revenue. Here is how it should work: you develop market solutions incorporating your industry and technology experience, the vendor sells the solution globally through multiple channels, and you collect your check each month. The key is developing solutions for a market, not just one customer ...