Today we’re going to figure out what is Application Performance Management (APM) and why this crusty old infrastructure engineer cares.
Application Performance Management (APM)
I write mostly about networks and technology infrastructure, so jumping up the stack into the realm of applications warrants an explanation.
This hard-core infrastructure engineer is interested in understanding the performance of applications for two main reasons:
- Infrastructure only matters as a platform upon which to provide services or experiences.
- The definition of infrastructure is shifting as we outsource so much of it to “public cloud” providers.
Infrastructure as a Platform (not IaaP)
Don’t get mad. I’m not saying infrastructure isn’t important. What I am saying is that technology (IT) infrastructure has a purpose. We don’t build it just to see the machine working. It’s built to provide services and experiences through applications running on top of it.
It’s a layer cake, right, the bottom has to be there or the whole thing collapses. The bottom layer’s purpose, quite literally, is to support everything above it.
That’s why I love working on infrastructure, and probably why you do too.
So what does that have to do with application performance management?
It’s something about first principles and leading indicators. More specifically, it’s wrapped up in something I find myself saying a lot lately: We spent the last thirty years getting this stuff to work. Now, luckily, we pretty much know how to do that. The Wi-Fi works on planes for fu*ks sake. So, it’s time to make it work well. We must do more than “keep it up.” Now we need to make it run optimally (still at five nines though). That takes better visibility and more control.
And the visibility we need is as much at the application layer as it is at the infrastructure layer. As any good student of metaphysics will tell you, perception is reality. And that’s as true in IT as it is in life: It’s exactly half the story. Plus, in IT (maybe as in life) it’s the half that has been largely ignored.
So application performance matters to me, because it tells us something about how well our infrastructure is running. I’m sure developers love it as well, since it tells them how well their code is running.
Infrastructure is shifting Up
The other reason I’m getting more curious about managing application performance, is that what we call infrastructure is sliding up closer and closer to the top of the stack as companies “adopt the cloud.”
When organizations outsource chunks of their physical technology infrastructure to a few massive managed service providers (that we tend to call the public cloud); the job of managing infrastructure changes because the infrastructure is different. And when the infrastructure you’re managing is a K8s environment, understanding application performance is a really great way to understand how your infrastructure is doing.
So what is APM?
Well, what is application performance management anyway?
It’s getting visibility into what an application is doing, how it’s functioning, is that application actually performing well, and ultimately is the end user experience for that application actually working in the way that you expect as a business.
That’s SolarWinds‘ Jim Hansen explaining, and he does an excellent job of it. So, instead of fumbling my way through it, just watch the rest of what he said (“about APM” starts at 4:40 – seriously watch it, it’s great):