Application Performance Management in the Customer Experience Era
Application Performance Management in the Customer Experience Era
This is an obvious statement, but performance is key to any application's success. Read on to see how APMs can create a more viable, user-friendly, product.
Join the DZone community and get the full member experience.Join For Free
Sensu is an open source monitoring event pipeline. Try it today.
Many of today’s businesses are laser-focused on digital transformation. This reflects two truths: one, that customer and employee experiences are fundamental to the success of any organization, and two, that software performance plays a significant role in this experience. This reality, where software performance can make or break a company, imposes new requirements on IT leaders and staff: to employ a roster of tools and processes to successfully navigate the journey to digital transformation, and ultimately remain relevant in their industries.
In this journey into the digital era, companies such as Google and Facebook have created a high standard for the end-user experience, conditioning customers to expect websites and applications to respond in less than a second. An application that is slow is essentially an application that is broken. Further, the cloud has heightened awareness about the direct relationship that exists between performance, resource consumption, and cost. IT organizations that simply “throw hardware” at performance problems are not only obsolete in their thinking, but will also be ineffective in achieving the performance required and hit an unsustainable expense rate. That said, how can IT leaders ensure that they are meeting—and exceeding—these great expectations?
Holistic application performance management tools can empower IT professionals to reach consumers’ expectations by equipping them with the visibility they need to effectively optimize the performance of their IT environment, maximize resource effectiveness, and accelerate troubleshooting. A truly holistic view of an IT environment gives the team performance certainty, which is the confidence that an operations team understands what drives performance, how each component of the system contributes to performance, and what impact planned changes will have.
Performance management’s essential ability is to identify the root cause of a performance issue and how to solve it—this fosters not only an elevated customer experience but it also supports the businesses’ overall goals through reputation management, and time and cost savings. Take an e-commerce store, for example. An online retailer will thrive if its applications and network experience uptime and efficiency, but a slow or unresponsive website or app response time will likely result in loss of business, decreased cash flow, and overall negative brand reputation.
A clear correlation exists between business performance and application performance, and it’s an IT professional’s job to leverage holistic performance management to monitor and maintain that connection.
Five Elements of a Holistic Performance Management Strategy
For years, APM tools focused on visibility into code execution and transactions. Traditional APM tools have proven effective, yet they are insufficient in providing the complete visibility required by today’s operations teams. Performance certainty cannot be achieved with code-centric APM tools alone; you also need a more comprehensive approach that provides insight into five essential areas of holistic application performance management.
Five main elements required to make holistic application performance management effective include: web, network, code (APM), application and infrastructure performance management (AIPM), and database performance management. Each aspect plays a disparate and significant role; without insight into all five aspects, and correlation of metrics across the five, a holistic view of the environment is impossible, preventing the visibility necessary to successfully manage and optimize performance. Those elements and the role they play in application performance management include:
- Network Performance: Strong connectivity between the end-user and the application is of paramount importance to a seamless end-user experience, and network performance provides insight into this element. An application may be fast, but if the network that connects users to the app is slow, it will slow the app’s performance. IT leaders must understand the performance, latency, and quality (dropped packets) of each hop from the end user’s device, through access points and routers, to external service providers, internet backbone, all the way to the application and back—especially those hosted in the cloud. Understanding network performance is the first step towards application performance management for everything from Software as a Service (SaaS) to traditional applications.
- Code and Tracing: Code naturally plays a critical role in performance management and has been a focus for many years, enabling developers to take advantage of APM tools to analyze code from a transaction perspective, identify which part of the code should be checked out, and optimize distributed applications. Most modern APM tools include or integrate with WPM elements to correlate user experience with code performance.
- Application and Infrastructure Performance (AIPM): These tools provide operations teams with visibility into the critical metrics for each individual application and for the infrastructure that supports it: virtual and application host metrics and resources, storage performance, and contention issues. This includes the entire stack, from the application down to the storage spindle. Like APM, the most effective AIPM tools integrate with WPM to correlate application and infrastructure insights with the end-user perspective.
- Database Performance: Most apps are database-centric—storing data or extracting it from a database is an essential function. Consider a service like Uber. If the database does not identify a vehicle close to a user’s location quickly, the app will respond slowly. Of all the components in an application stack, databases are the most difficult to scale. Up to 70% of performance problems are related to the database tier, yet most operations teams lack visibility into what happens inside them, limiting their understanding to query execution time. A new breed of multi-dimensional wait-time analytics tools is helping operations teams finally see inside their SQL databases and effectively optimize them.
Best Practices for Managing APM:
APM implementation requires many moving parts working together seamlessly and may seem like an extra task to add to an already-overstretched IT team’s to-do list. However, effective performance management can be a critical tool for performing the basic tasks the business expects. Following the below best practices can help organizations achieve performance certainty.
- Get complete visibility: The five main elements to an effective performance management strategy are not isolated aspects of performance. An incomplete approach will hinder the effectiveness of any team, as it’s impossible to fix what is unseen.
- Understand interdependencies: They are called IT systems for a reason: the result is the combination of multiple elements in a stack working together. A system is only as strong as its weakest component. Cross-stack correlation and visibility into the interdependencies between the different elements make successful performance management possible. Performance certainty is achieved only when the operations teams know exactly how performance will be impacted as a result of a change in the business, a change in configuration, or a change in infrastructure.
- Involve the whole team to employ monitoring as a discipline: An effective operations team achieves maturity when it moves from working on what is urgent (firefighting) to focusing on what is important. Monitoring is often considered a necessary evil, a menial task. Effective teams understand the importance of monitoring and embrace it as a discipline that requires resourcing and investment, holding monitoring tools accountable for providing insights to guide the team.
- Align the team with one set of shared metrics: Like systems, teams live or die as a result of their interdependencies. Eliminate silos by making performance the number one job for the entire team, and giving them a single, unified goal: end-user performance.
- Leverage performance for resource optimization: APM provides the basic resource for achieving performance certainty by giving an IT pro visibility to detect the source of a problem, but the IT pro must possess the necessary knowledge and skills to find the correct solution to the root problem. IT leaders searching for a quick fix to an issue may be tempted to throw money at the problem without identifying its source. For example, purchasing a faster storage system will not help a faulty network connection, but will waste time and money, and ultimately reflect negatively on the IT team when the problem isn’t resolved.
Following Performance Management Into the Digital Transformation Era
With the direct connection between business success and application performance, companies that fail to implement a holistic performance management strategy run the risk of falling behind businesses that embrace monitoring as a discipline to help them optimize performance. Providing an exceptional customer experience for app users or web visitors is of utmost importance to a successful business. With its ability to help IT leaders maximize resource utilization, speed-up troubleshooting, and improve customer experience, holistic performance management has the potential to create time for IT professionals to pursue high-value tasks, innovate, and push the business forward in this era of digital transformation.
Opinions expressed by DZone contributors are their own.