Why is Instrumentation Part of a Pragmatic Approach to Running Cloud-Based Applications?
In past blog posts, I have written about the importance of instrumentation. If you’re not sure what instrumentation is, it’s the ability to monitor or measure the level of an application’s performance, to diagnose errors, and to capture informative messages about the execution of the application at run time. The output of your instrumentation goes to your application logs. (You’ll find a similar definition on Wikipedia.)
When you’re running cloud-based applications, even the best code fails at times. Customers behave in unexpected ways. Cloud-based applications are often distributed systems where not everything is in the developers’ control. Running tens or hundreds of virtual servers means there’s a significant chance that something will go wrong with one. For all of these reasons, you need instrumentation. It’s your ticket to being ready for anything.
The Loggly log management services has all of the characteristics I describe above, so we take instrumentation very seriously. (Manoj Chaudhary touched on some of this in a recent post.) For us, instrumentation is the means to:
- Getting a handle on why a particular problem is happening
- Identifying potential issues before they become actual problems
- Optimizing our system’s performance in a data-driven way
Adopt These Pragmatic Best Practices for Application Logging
It can be tough to figure out what to log and how much to log. In the Pragmatic Logging eBook, I share the best practices that we have developed at Loggly to make instrumentation work for us. I have illustrated my advice with examples from a simple web-based application so that you can see how you might apply the best practices to your own business.
Here’s what I’m hoping you’ll take away from the eBook:
- The key question is not whether you should instrument but how you should do it.
- Don’t think about how readable your logs are. Instead, think about how efficiently a machine like Loggly could crunch through them and point out what’s important and interesting.
- Don’t wait to get started. Successfully using instrumentation to solve problems is the best way to spawn more instrumentation.
So: Read, enjoy, and share! And of course, I’m always looking for feedback.