Cloud Observability in Action

A Return-on-Investment driven, hands-on approach

View the Project on GitHub mhausenblas/

Cloud Observability in Action

Welcome to Cloud Observability in Action, your hands-on guide to applying observability in the context of cloud native environments.

Observability is the capability to continuously generate and discover actionable insights based on signals from the system under observation with the goal to influence the system.

MEAP cover

In this book you will learn about the basic signal types (logs, metrics, traces, profiles), telemetry including agents, back-end and front-end destinations, and goood practices around dashboarding, alerting, and SLOs/SLIs.

The first five chapters of the book are now available via the Manning MEAP Program and you can find all the code snippets we use for the hands-on exercises throughout the book via the site you’re on, currently.

The WIP table of contents looks as follows:

Chapter 1: End-to-end Observability Example

In the context of this book we focus on cloud native environments such as Kubernetes and serverless offerings (such as FaaS like AWS Lambda). We mainly use open source observability tooling (Grafana, Prometheus, Jaeger) so that you can try out everything without license costs. While it is important that we use open source tooling to show the concepts in action, they are universally applicable (that is, using any of the commerical offerings). In this chapter we have a look at an end-to-end example and define terminology, from sources to agents to destinations.

  1. What is Observability?
  2. Roles and Goals
  3. Example Microservices App
  4. Challenges and How Observability Helps

Chapter 2: Signal Types

In this chapter we review different signal types most often used, how to instrument and collect each, and discuss the costs and benefits of doing that. With observability you want to take an Return-On-Investment (ROI) driven approach. In other words, you need to understand the costs of each signal type and what it enables you to do.

  1. Reference Example
  2. Assessing Instrumentation Costs
  3. Logs
  4. Metrics
  5. Traces
  6. Selecting Signals

Chapter 3: Sources

This chapter covers signal sources. We discuss the type of sources that exist and when to select which source, how you can gain actionable insights from selecting the right sources for a task and how to deal with code you own including supply chain aspects.

  1. Selecting Sources
  2. Compute-related Sources
  3. Storage-related Sources
  4. Network-related Sources
  5. Your Code

Chapter 4: Agents

In this chapter we discuss instrumentation and review different agents, from log routers to OpenTelemetry. You will learn how to select and use agents with an emphasis on what OpenTelemetry brings to the table for unified telemetry, including correlation of signals.

  1. Log Routers
  2. Metrics Collection
  3. OpenTelemetry
  4. Other Agents
  5. Selecting An Agent

Chapter 5: Back-end Destinations

The chapter focuses on back-ends as the source of truth for your telemetry signals. You will learn to use and select back-ends for logs, metrics, and traces with deep dives on TSDBs and column-oriented datastores such as ClickHouse.

  1. Back-end Destinations Terminology
  2. Back-end Destinations for Logs
  3. Back-end Destinations for Metrics
  4. Back-end Destinations for Traces
  5. Columnar Datastores
  6. Selecting Back-End Destinations

Chapter 6: Front-end Destinations

In the chapter we talk about front-ends as the place where you consume the telemetry signals. You will learn about pure front-ends and all-in-ones and how to go about selecting them.

  1. Front-ends (Grafana, Kibana/OpenSearch Dashboards)
  2. All-in-ones (Jaeger, Pixie, commerical offerings)
  3. Selecting Front-ends and All-in-ones

Chapter 7: Cloud Operations

ETA: 12/2022

Chapter 8: Distributed Tracing

ETA: 01/2023

Chapter 9: Developer Observability

ETA: 01/2023

Chapter 10: Service Level Objectives

ETA: 02/2023