Get it Cheaper

You can save 25% on all courses by using the coupon code:


This helps us both, as you get the course cheaper, and Udemy attributes the course to “my advertising”.

Been part of a Layoff recently? That’s hard luck. Still, we can help each other out! You can help me by trying the course. In return, you can have it for free. Contact me to organise this.

🚧 Practical Introduction to Observability

You can find the course at:

The course is presently under construction. You can access it, but you will need to use the password:


In this course, you'll learn the fundamental building blog of making systems reliable: making them observable.

We'll talk about Observability, why it is such an essential part of making reliable software, how to understand whether or not a system is "observable", and then how to make it observable by instrumenting it with different "pillars" of observability. We'll discuss each of those pillars — logs, metrics, traces, profiles and runtime introspection and we'll talk about what problem each of these solves.

We'll make a practical example application observable by adding the different pillars. We'll then go through and reproduce different failure modes within that application, leveraging our instrumentation to validate that failure mode. We'll visualize the data in a way that helps our colleagues in our team also understand more about our application.

Lastly, we'll go through standard diagnostic models that can be used to reason through a whole range of systems, even if these systems have partial or incomplete data.

This course is designed as the first in a series of courses on operating software reliability. Future courses will build on this material to cover how and when to notify people when there are regressions in the software, how to collaborate on response, how to design software to avoid failure modes and how to create a culture where operations are treated as a first-class citizen. All of this depends on observable software.