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

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

The Latest

March 02, 2015

In Part 3 of this interview, Cameron Haight, Gartner Research VP, IT Operations, discusses the new focus of his research: Application Performance Management ...

February 27, 2015

In Part 2 of this interview, Cameron Haight, Gartner Research VP, IT Operations, discusses the focus of his research for the last few years: DevOps ...

February 26, 2015

Cameron Haight, Gartner Research VP, IT Operations, has replaced Jonah Kowall as Gartner's leading Application Performance Management (APM) specialist, since Kowall has taken a VP position at AppDynamics. In Part 1 of this interview, Cameron Haight discusses his background, and the focus of his research for the last few years: DevOps ...

February 25, 2015

Cloud computing adoption is increasing globally, with the majority of respondents citing hybrid cloud as their preferred option for greater agility and security, according to a study conducted by Vanson Bourne for EMC Corporation/

February 24, 2015

A shift to continuous integration (CI) and other agile methodologies is driving a massive change in the way that development and testing professionals approach testing, according to an independent, global developer survey titled Web and Mobile Testing Trends ...

February 23, 2015

In my last post, I shared some key findings from an EMA research report published last fall that dove into the ways in which log analytics is being used to support network operations. Building on that, following are five recommendations that EMA is making on how best to think about log data as part of an integrated management architecture and strategy ...

February 20, 2015

Performance testing is imperative for applications to perform as expected in the real world. In particular, business-critical applications need thorough testing to ensure they can bear the stresses and strains of varying demands.

February 19, 2015

Unplanned application downtime costs the Fortune 1000 from $1.25 billion to $2.5 billion every year, according to an IDC report: DevOps and the Cost of Downtime: Fortune 1000 Best Practice Metrics Quantified. The report brings to light the real costs and impact of outages, and offers real insights into the adoption and impact of DevOps practices in large enterprises ...

February 18, 2015

For a successful application rollout, it is vital to assess the user experience appropriately and have an understanding of how the new app impacts your already deployed apps and infrastructure. This requires a great deal of preparation across various IT functions, from network to application teams. To put your team on the path to a successful rollout, take the time to consider the following points before the wide-scale launch ...

February 17, 2015

With agile and lean influencing our thinking, it’s perhaps no surprise that the impetus behind DevOps has come from development. That’s great for the speed side of the equation, but success requires that IT operations also modify their practices. This means ensuring that Application Performance Management (APM) tools and processes are not only supporting the resilience and service goals of production systems, but that they exhibit the functionality needed to help improve customer experience – even as applications are developed, tested, released and deployed. APM can accelerate the benefits of DevOps, but where do you start and what tools do you use? The tech landscape is littered with many products and services all claiming to be the secret sauce that’s going to support a DevOps-like culture. But don’t be fooled, modern APM can only accelerate DevOps when it exhibits four fundamental characteristics. Quite simply it has to be "EPIC" ...

Share this