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 two of those pillars — logs & traces — and we'll talk about what problem each of these solves.
To help enable you to make this topic practical, we'll go through examples in Go instrumenting sample applications that you can reproduce on your own Linux (or WSL-based) system. We'll examine the output of this instrumentation in the terminal or open-source UIs that you can use to learn the concepts. Lastly, we'll reproduce some failure modes to understand what failure looks like in these tools and give you a wider range of capabilities to debug different production issues.
This course was made for you if you are a mid to senior-level developer with some experience deploying software to production. Still, you’re looking to build the skills and capabilities to run higher-scale services with more traffic and debug these systems when they get into trouble.
Let's get started!