If you are in an Application Support team chances are you started to experience the migration of your applications over to containers. For teams used to covering the “three pillars” of application health metrics, don’t be surprised if the engineers and dev ops teams tell you that monitoring in containerized environments will not be the same. But definitely take note if they insist that you no longer need to worry about any one of the three pillars. The three pillars that I am referring to are Metrics, Logs and Traces. This concept was reinforced during a trip earlier this year at Monitorama in Portland. Luke Demi, a extremely funny software engineer at Coinbase talked about how monitoring evolved at his company but those three pillars stayed true in the end.
For the record, we can classify events as logs or logs as events - they are interchangeable here and are any semi or non structured text lines or multi lines. But back to the issue for an Application Support Engineer. When it comes to containers you may hear things like:
“There are no logs in containers, yeah we write them, but they get deleted”
“Infrastructure metrics aren’t important because containers provide us with endless resources”
Don’t let any of this fool you, the three pillars are still what is going to keep your team standing. Arguably they are more important now that a new layer of computing has been put in-between the infrastructure and your companies applications. When the Java Virtual Machine was introduced, did we stop monitoring infrastructure metrics because you had this neat isolated space for your application to run? Heck no! The same goes for logs. The new standard is for containers to log to STDOUT and the Docker runtime will make those available. Insist on access to those logs. If you company is migrating Application to containers the log entries are going to be the last piece, if ever, to be converted into a sensible metric.
Depending on how fast your applications are migrated and truly upgraded to take advantage of containers, will just prove faster, that all the metrics that you collect today are just as important in the future. Be sure to pursue a more seamless monitoring integration from your engineers. Instead of sitting back and waiting for an application to hit production, then trying to monitor it, you companies containerization strategy should have you moving farther back into the dev ops cycle where you can insist that the applications are instrumented with metrics and traces and that your team has access to log and event data at the same fidelity that you have today.