Go Observability Workshop

Description

If your software is destined for production, It’s not enough to write well factored and performant software. Your software needs to be operable, a key part of which is delivering software that is observable. Observable software provides operators rich, context sensitive, insights into its internal workings. This full day workshop teaches students how to write observable Go software and use observability tools to troubleshoot, debug and fine tune applications during the class and in real life situations.

What a student is expected to learn

Students taking this workshop will learn when and how to use the three pillars of Observability: Metrics, Logging, & Tracing.

Students will be introduced to observability tools like prometheus and stack driver. Students will apply those concepts and tools to:

  • Instrument programs with metrics, logging & traces;
  • Use the instrumentation to gain insights into how programs are operating;
  • Use tooling to troubleshoot problems in their programs.

Requirements

  1. http://gopherslack.com
  2. Experience with the Go programming language, having completed at least a beginning Go workshop or A Tour of Go;
  3. Install SF Mono Font on MacOS : This is to ensure that ascii diagrams on Github are rendered properly (on OSX anyway);
  4. Have Go v1.12+ installed;
  5. jq installed;
  6. curl installed;
  7. A text editor and/or IDE you are familiar with installed;
  8. A web browser installed;
  9. A terminal/shell program installed (or IDE with an embedded terminal like Visual Studio Code);
  10. prometheus binaries for your operating system downloaded;
  11. jaeger tracing binaries for your operating system downloaded.