Achieve Effective APM—Overcoming Obstacles
When done right, Application Performance Management (APM) gives companies increased visibility that reduces risk, enables better decision-making and provides peace of mind. However, many companies face organizational barriers that prevent them from fully harnessing the predictive power this discipline can bring.
Why, knowing that an effective, efficient application performance discipline is so crucial, are so many companies struggling? Moreover, are there proactive steps organizations can take to protect themselves against wasted budget dollars and lost market share as a result of application performance failures?
In this 4-part series, we outline the most common obstacles to achieve effective APM and how to address them to save money, increase efficiencies, and protect the user experience (UX).
Roadblock #1 No End-User Perspective
Many organizations focus on individual application features and functionality or server performance rather than taking a holistic view of operational scalability and end-user experience. Focusing only on discrete system components fails to consider many issues and events that can affect the performance and final delivery of functionality from their perspective. For example, your system under test may be calling on a component or a third party system that another system also accesses. If you do not understand the usage of that shared system, you may overlook slow response times caused by contention for that shared resource. You need to understand and track the latency experienced of each component and consider the effect on the end-to-end delivery process, or your predictions may be inaccurate. Remember, end users are not concerned with the performance of individual components; they are only concerned with their experience.
WHAT TO DO? Create end-to-end performance test environments.
Rather than simply running performance tests, performance management demands an end-to-end, holistic level view of system performance, which includes end-user modeling, monitoring and planning. From the beginning of the software development lifecycle, teams should develop, design and test with an end-to-end perspective in mind. Further, invest the time and effort to build out environments that replicate the entire end-to-end performance of the system under test.
- Be sure to test the integrations and handoffs, not just the individual components.
- Avoid gaps in visibility by continually evaluating how changes to code may impact integration points throughout the system.
This will ensure service to end users is not affected negatively. This becomes especially important when code changes are made in complex, integrated systems.