Workshops

Getting started with application observability

Elena Grahovac

elena-grahovac

Short description

Observability - one of the key properties for modern applications. Typically, when we talk about it, we mean logs, metrics, and traces. However, according to the definition, observability is a measure that shows our ability to understand the current state of the system or any component of the system. In this workshop, we will see how applications themselves can contribute to observability of the whole system.

Details

We will discuss the importance of observability and the role of application in building observable systems. During the workshop, we will focus on practical examples and cases. We will start with an application that doesn’t provide any observability and will see how to improve the situation step-by-step. At the end of the workshop, our application will achieve a significantly better level of observability. The ideas and techniques of this workshop are applicable to different tools but for simplicity, we will use DataDog to analyze the data. If you would like to work with your own code, feel free to bring it to the workshop. Otherwise, you will be provided with a typical web service.

Workshop plan

  • Observability oveview
  • Three main states of application: starting, stopping, running
  • The concept of application performance management
  • Error and panic handling
  • Logging levels and how they might help
  • Log message format and useful tags
  • Logger performance. How to choose the right tool?
  • Traces and metrics, the OpenTelemetry (OpenTracing + OpenCencus) project and its current state
  • How much data we might need?
  • Distributed tracing techniques
  • What we can measure inside the application?
  • How to test metrics locally?
  • How to analyze the data we collected?
  • Practical observability analysis with DataDog

Prerequisites

  • Source code examples will be provided in Go, some basic knowledge of the Go programming language is expected
  • If you would like to join this workshop as a participant, you need to install:
    • A stable version Go (the latest stable version is recommended)
    • An IDE or editor to be able to write in Go
    • Docker Community Edition (as a part of the workshop, we are going to work with containers)
  • During the workshop, we will also install and set up some additional tools and libraries

Bio

Elena is an Engineering Manager at GetYourGuide and a co-hosts of the GolangShow podcast. With 12+ years of overall experience in IT, she values DevOps culture and passionate about automation, software architecture and site reliability engineering topics.


Github
Twitter

The Art of SLOs

Ishuah Kariuki

Summary

Reliability is the most important feature of a service. In a perfect world, our services would have 100% reliability and software bugs would never exist. Sadly, we have to account for failures, bugs and other barriers when running a service. This workshop will introduce you on how to measure site reliability with examples and hands-on experience. This workshop is meant for both technical and non-technical attendees interested in taking a deep dive into the SRE workflow.

Details

Over the course of this workshop we will define reliability and put things in the perspective of your users, error budgets and taking a hands on approach in defining and developing SLIs and SLOs. We will work through an example and slowly refine our SLOs. This is an interactive workshop and questions are welcome throughout the workshop.

Workshop plan

  • The basics of Service Level Objectives
  • Spending your error budget
  • Selecting SLIs
  • Defining and refining SLOs and SLIs
  • Hands on example of how to approach reliability

Prerequisites

All workshop materials will be provided, just bring your note taking tools.

Bio

Ishuah Kariuki is a Senior Software Engineer and SRE lead at Hover. He's based in Nairobi, Kenya. Besides writing code, he's a budding triathlete, adrenaline junkie and an avid hiker.



Github
Twitter
LinkedIn