Do you know how your applications are performing? Sure, you know if the services are running right now thanks to the basic monitoring platform you’re using. You know that the VMs for the database server and the front end for the customers are currently responding to pings. But do you know how your users see the application? Are they struggling to make it work? Are they on the verge of just closing the browser tab and buying from your competitors? How would you even know?
Maybe you could set up some kind of tool to just poll the application from the user’s perspective. That’s the traditional way, right? Just have your tool poll the website every minute to see what’s going on. How long does it take to load pages? If that’s lower than a certain number it has to be okay, right?
By now, hopefully you realize that just having a response time monitoring app looking at the front page of your website or application is not the right way to look at things. Because modern applications are more complicated than just a front end or even a traditional three-tier application. There are a lot of moving parts that need to be taken into consideration. There are even more dependencies that your application needs to work correctly that can cause issues without them ever being visible to an uptime or response monitor.
Let’s take an easy example. Say you have a problem with your database tables scaling out of control on the backend. Maybe your VM is RAM-limited or you have some issues with a query running out of control and eating up CPU resources. How would an uptime monitor detect that? If all you’re doing it measuring the amount of time it takes to load a page on your site how can you evaluate the queries in the databases? You need more tools that can accurately describe and evaluate the state of the website in the way that users are actually using it. And you need to see how their individual transactions are affected by the system.
This is where SolarWinds comes into play. They have spent a great deal of time creating the best tool to handle monitoring of your application from the inside out. AppOptics does more than just monitor the response time of your pages. It digs deep into the services that compose the application to find out what’s actually going on when users run complicated queries or connect to a node that is having some performance issues. AppOptics can tell you if all of your application delivery controller (ADC) containers are acting up or if it’s just a single pod in a remote data center that’s throwing off your metrics.
During their recent presentation at Cloud Field Day 7, Chris Erway talked about more of the things that AppOptics can do, as well as how they can take advantage of efforts to standardize application telemetry using OpenTracing, OpenCensus, and OpenTelemetry. You can watch it here:
Application Performance Management (APM) is a complicated dance of knowing what to look at and what those metrics need to look like. If your response time is taking too long users will be frustrated. But if your response times are almost nonexistent it raises the question of how much you’re paying for your infrastructure or cloud provider resources and whether or not you’ve allocated too much to them. It’s a delicate dance of being available and performant for the customer while also using resources smartly and effectively.
One other thing that I think AppOptics excels at is providing context for troubleshooting. Collecting application traces is a great way to understand what’s going on with all the components of the system. But being able to correlate those traces to log files is critical to understanding the overall health of the application.
Bringing It All Together
Gone are the days of looking for simple error messages or hoping that applications are going to work properly with a minimum of monitoring. Instead, we need to have tools that can help diagnose all the issues going on behind the scenes before our users start reporting issues. We need programs like AppOptics that can help us see the concerns before the users do. Getting to them early means fixing them before the users or customers ever see anything other than smooth sailing.