Practical introduction to Observability
Learn how to instrument systems with logs & traces so you can later debug them in production
Description
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!
What You Will Learn!
- Understand what "Observability" is, and how a software system can be "Observable"
- Understand what the major data types (or "Pillars") of Observability are, what the trade-offs are and when to use each
- Be able to instrument a "Go" based example application generating Logs & Traces
- Be able to use the telemetric data generated to debug different production problems.
Who Should Attend!
- Developers with 1 - 3 years of experience building application that are deployed to production