By Gayle Levin, Director of Solutions Marketing, Riverbed Technologies
Your cloud application is behaving way slower than usual. How do you know if the issues are in your code, the network, or the cloud service? You have been unable to reproduce the problems in your development and test environments, and your monitoring tools for the network and the virtual servers do not show any current troubles. What is the next step?
This is where a modern Application Performance Monitoring (APM) tool demonstrates its value. Putting applications in the cloud or using Software-as-a-Service (SaaS) should not be a tradeoff between increased flexibility and reduced visibility. Cloud services give you all sorts of benefits and take on the responsibility of running the underlying infrastructure, but you are still held responsible for application performance and overall user experience. Without APM, you are working in the dark.
Bridge the Cloud Visibility Gap
Along with the benefits, there are a lot of challenges working in a modern, cloud-based application environment, and one of the largest is probably a lack of visibility. Compared to a server-based or virtualized environment, cloud applications are more complex with a large number of objects, multiple microservices, transient workloads, and much shorter lifespans. Many legacy application monitoring tools struggle with the scale and scope of cloud services. Sometimes the sheer number of objects is enough to cause them to crash.
Modern APM tools provide deep visibility into your servers, instances, objects, dependencies, usage patterns, while also providing insight into your customers’ experience. Auto-discovery capabilities can detect all currently running applications, tracking services as they grow and shrink based on demand. This includes visibility of increasingly smaller components, such as containers, microservices, and serverless functions. When you want to move from tracking multiple applications on a virtual machine to tracking multiple containers and microservices, your APM tools should be able to move right along with you. APM tools are a perfect fit with DevOps processes, helping the application team deliver high-quality code faster, perform more effective QA and performance tests, and diagnose problems sooner.
See What’s Wrong Before Your Customers
Hertz is the world’s largest airport car rental company, and they rely on proprietary applications to get customers into cars faster. Many customers interact with the company only electronically, from making a reservation, to getting a text or email notification of where the car is for pick up, to completing the return, resulting in a very high volume of transaction. One of the big advantages they are finding from their APM usage is that the support team gets alerts when a problem is just beginning. They can then proactively address the issue, whether it is in code or network connectivity, before the problem impacts their users.
Collect All the Data and Dependencies
Seeing all of the objects is great, but of little use if you cannot understand the relationships between the various components and identify what is important from all the noise. Some APM systems base their analysis and diagnostics on a sample of the ongoing transactions. With the highly transient nature of cloud applications and services, this method can miss crucial transactions that may hold the key to an investigation. Knowing what is happening to some users on some devices in some of the places some of the time is not good enough.
Fully-featured APM systems start collecting data right away, without having to add instrumentation manually to your applications or adjust configurations. Then they collect all of the data – all transactions for all users all the time, even as instances move from cloud instance to another. Auto-discovery is always watching, keeping track of code changes and ensuring that your data and analysis are always current. Detailed analyses can help verify service level agreements, both from you to your customers and from cloud service providers to you, and hold your vendors accountable to their commitments.
Monitor What Is Hiding in the Clouds
With a complete data set in your APM tool, you can look for issues and trends from various vantage points, including end user, device, server, app, and network. Performance graphs help developers isolate actual problems from noise, clearly emphasizing which transactions and methods are consuming most of an application’s time. Associating monetary values to transactions highlights the most financially impactful services, helping to better allocate DevOps resources.
The Hertz application makes many remote calls to other modules and databases in the course of a car rental. The ability to trace each transaction means that they can clearly see which portion of the rental transaction is causing delays and immediately assign the issue to the correct team, whether it is in-house or a third party. Always having the dashboard up gives the project leader a live overview of application performance and helps focus efforts on overall digital performance and user satisfaction.
See the Whole Picture
Cloud and virtualization deliver their benefits by cutting operations and transactions into smaller and smaller slices. While this is great for flexibility, performance, and cost, it creates a highly fragmented environment for application monitoring. Effective APM tools collect all of the data necessary to rebuild the whole picture from these tiny parts. DevOps can identify problems much earlier in the product lifecycle, with more effective load testing and more detailed transaction traces. Cloud operations teams can proactively manage application performance of highly elastic and dynamic workloads. Modern APM tools are an essential part of your cloud services strategy, helping speed the development of high quality applications, effectively migrating them to the cloud, and ensuring an excellent digital experience for your customers.
About the Author
Gayle Levin is director of solutions marketing at Riverbed Technologies. Previously, she held product marketing and campaign roles at VMware, Oracle, and Splunk as well as several startups. Her interests lie in the impact of technology on the way we think and work today.