The Secret Life of Software

Rediscover your production system with logging, metrics and tracing. The pillars of observability

Dougal Matthews

Deployment/Continuous Integration and Delivery Distributed Systems Docker Microservices

Software infrastructure is changing. Microservices, Containers, Continuous Integration, Serverless and many other ideas are growing in popularity. This added complexity comes with benefits but it is harder to answer simple questions about system behaviour. Do you know what is happening in your production app?

It is said that there are three pillars of observability; metrics, logs and distributed tracing. We will explore these, cover what they mean, how they should be approached and look at their shortcomings.

1. Logging. Recording discrete events in the system as either structured data or unstructured strings.
2. Metrics. Aggregatable event data, such as response times and counters.
3. Distributed tracing. Recording events across distributed services and systems, usually tied to a specific request.

These all overlap, and indeed the power often comes from their ability to do so. For example, viewing logs and metrics for a specific request/trace.

This talk will finish with practical advice on adding or improving observability and cover some of the best and most popular projects for enabling observability in your infrastructure.

Type: Talk (30 mins); Python level: Beginner; Domain level: Beginner

Dougal Matthews

Red Hat

Dougal is a Pythonista, skier, husband, dad and speaker. He runs the Python Glasgow user group. For work and fun he hacks on and supports a number of Open source projects.