Imagine if application users could see behind the serenity of the well-crafted (OK, sometimes cobbled together) user interfaces that deliver seamless user experiences envisioned in brainstorming whiteboard sessions, agile scrums, big room planning and/or flow diagrams?
If they could, they would likely have an eye-opening moment as they grasp the modern application architectures and come to understand the range of technologies working across on-premise and cloud infrastructures, middleware, APIs and microservices to present data, ensure security, optimize availability and performance, all while being readily adaptable to address new business requirements. It’s a truly remarkable feat.
Oddly, none of this happens seamlessly; instead, countless seams must be navigated and managed to give users a seamless experience.
And, none of this complexity is delivered overnight. It accumulates over time, causing challenges for IT:
- How do we monitor performance across the full expanse of a modern application?
- How do we know our customers are getting the best value and experience from the application?
- Do we have the information needed to precisely isolate issues when they arise?
- Is the data in a meaningful actionable context for each group of stakeholders?
- Are teams using the data, remediating issues and learning over time?
To deliver desired capabilities, modern application management systems bring disparate technologies together for developers, testers and operators. To deliver the desired performance and user experience, application performance management (APM) needs to work across technologies and present data and insights in a context meaningful for developers, testers, operators and product owners. APM must collate and provide user views with timely, precise, accurate and actionable insights. By interpreting, baselining and differentiating between minor anomalies and major incidents, APM brings value to all levels of application ownership, not just to the developer who can interpret the raw data. All this is quite reasonable until one looks at a complex application ecosystem such as an ERP solution, where complexities can expand exponentially.
As an example, consider an SAP environment.
With a mix of programming environments (Java and SAP Advanced Business Application Programming, or ABAP) for SAP, customers often use multiple tools to manage performance. As a result, specific issues may be overlooked or not monitored by the right stakeholders and, more importantly, an issue’s context may be lost or not clearly conveyed.
Many SAP customers use a combination of SAP Extended Diagnostics (SED)- and SAP Solution Manager (SSM)-based components to capture and independently present performance metrics and transaction data. Think of this as a cross-platform “swivel-chair approach,” with users of the data pivoting from issue to issue, and not seeing the full ecosystem in a context-rich, coordinated way. This approach can be time consuming, frustrating to stakeholders and difficult to sustain over time. The worst scenario is that teams responsible for performance lose focus and incorrectly limit the scope of what they monitor due to the effort and complexity of using many tools.
Context helps teams learn.
Since modern applications increase in complexity during their lifecycle, teams often benefit from an APM approach that provides context that connects performance data to actionable insights and outcomes. For the SAP example, teams benefit when they can see cross-application transaction traces that traverse Java, J2EE and ABAP environments—something that all ERP shops can get excited about!
This makes for a much better APM user experience when diagnosing an issue whose cause is unclear.
Stay tuned. In Part II of this blog, I will provide technical detail focused on SAP/ABAP performance management, Java, PHP, .NET and Node JS.
Related Links: CA APM video and data sheet.