Breaking Free with Open Standards: OpenTelemetry and Perses for Observability

A presentation at Cloud Native Computing Rheinland - March Edition in March 2026 in Cologne, Germany by Kasper Borg Nissen

Slide 1

Slide 1

Cloud Native Computing Rheinland Breaking Free with Open Standards: OpenTelemetry and Perses for Observability Kasper Borg Nissen, Principal Developer Advocate at Dash0 kaspernissen.xyz /in/kaspernissen kaspernissen

Slide 2

Slide 2

Who? Principal Developer Advocate at Dash0 KubeCon+CloudNativeCon EU/NA 24/25 Co-Chair (former) Author of OpenTelemetry for Dummies CNCF Ambassador Golden Kubestronaut CNCG Aarhus, KCD Denmark Organizer Co-founder & Community Lead Cloud Native Nordics

Slide 3

Slide 3

tl;dr; OpenTelemetry is standardizing telemetry collection. Perses is standardizing dashboarding. Applying Platform Engineering principles transforms observability into a seamless, scalable, and developer-friendly experience. Building on Open Standards allows you to freely move between vendors, ensuring they stay on their toes and provide you the best possible experience.

Slide 4

Slide 4

Today… … observability promised a lot.

Slide 5

Slide 5

Observability promised a lot Faster root cause analysis Understanding system behavior Lower MTTR Where do I start? Which tool is right? Why is this metric spiking? Reduced guesswork Human correlation Expectation Reality

Slide 6

Slide 6

The current reality: The browser tabs of Observability LOGS METRICS level=DEBUG level=debug LEVEL=DEBUG 100s/1000s of Microservices TRACES RUM PROFILING DISTRIBUTED SYSTEMS Finding the needle in the haystack

Slide 7

Slide 7

The current reality: fragmentation

Slide 8

Slide 8

The current reality: fragmentation Complex Query Languages

Slide 9

Slide 9

The current reality: fragmentation Complex Query Languages Vendor lock-in

Slide 10

Slide 10

The current reality: fragmentation Complex Query Languages Vendor lock-in Metadata Inconsistency

Slide 11

Slide 11

The current reality: fragmentation Complex Query Languages Vendor lock-in No instrumentation due to high complexity Metadata Inconsistency

Slide 12

Slide 12

The current reality: fragmentation Complex Query Languages Vendor lock-in No instrumentation due to high complexity Metadata Inconsistency Lack of unified insights

Slide 13

Slide 13

The cost & complexity paradox More telemetry, more tooling - same time to recovery Cost Relative Impact Complexity MTTR Time

Slide 14

Slide 14

Up to 84% of current observability users struggle with the costs and complexity of their daily monitoring responsibilities. Gartner Hype Cycle Report, 2025 Source: https://www.gartner.com/en/documents/6755734 14

Slide 15

Slide 15

A shift is happening.

Slide 16

Slide 16

A shift toward correlation Find related information Jump between signals Reconstruct chain of events

Slide 17

Slide 17

A shift toward…

Slide 18

Slide 18

OpenTelemetry OpenTelemetry (OTel) is an open source project designed to provide standardized tools and APIs for generating, collecting, and exporting telemetry data such as traces, metrics, and logs The de-facto standard for distributed tracing, metrics, logs, profiling & RUM (experimental) The main goals of the project are: Unified telemetry Vendor neutrality Cross platform

Slide 19

Slide 19

OpenTelemetry in a nutshell OpenTelemetry is a toolkit and a specification. What it is ◗ ◗ ◗ ◗ ◗ ◗ Data models API specifications Semantic conventions Library implementations in many languages Utilities and much more What it is NOT ◗ ◗ ◗ ◗ ◗ ◗ Proprietary An all-in-one observability tool A data storage or dashboarding solution A query language A Performance Optimizer Feature complete

Slide 20

Slide 20

1/1/20251/1/2026 Commits: 37.959 PRs+Issues: 46.709 Commits: 53.495 PRs+Issues: 40.597 Source: CNCF Velocity Report

Slide 21

Slide 21

49% of respondents using OpenTelemetry in production. 26% of respondents evaluating OpenTelemetry. Source: https://www.cncf.io/wp-content/uploads/2026/01/CNCF_Annual_Survey_Report_final.pdf

Slide 22

Slide 22

Signals METRICS 42 LOGS 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 TRACES PROFILES RUM

Slide 23

Slide 23

Let’s stop talking about the three pillars of observability … Kill The Three Pillars Manifesto Metrics Logs Traces

Slide 24

Slide 24

Let’s stop talking about the three pillars of observability … We don’t have a metrics problem, or a tracing problem. We have systems problems. Metrics Logs Traces

Slide 25

Slide 25

Correlation is the superpower METRICS 42 LOGS 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 20/JUN/2025 “GET / HTTP/1.1ˮ 200 TRACES PROFILES RUM

Slide 26

Slide 26

OpenTelemetry: A 1000 miles view Instrumentation OTel API & SDK Telemetry Backends The OpenTelemetry Collector auto-instrumentation Time-series database … Log database Receive Process Analysis Tools Export Trace database Infrastructure … Kubernetes … Generate and Emit transmit Collect, Convert, Process, Route, Export transmit Store & Analyze Inspired by visualizations from LFS148

Slide 27

Slide 27

OpenTelemetry: A 1000 miles view OTel API & SDK Collection of Telemetry is standardized Vendor space The OpenTelemetry Collector auto-instrumentation … Receive Process Export Infrastructure Kubernetes … “The last observability agent you will ever install” Generate and Emit transmit Collect, Convert, Process, Route, Export … and many more. transmit Store & Analyze

Slide 28

Slide 28

Telemetry without context is just data

Slide 29

Slide 29

What are we looking at?

Slide 30

Slide 30

What are we looking at? Awww… Adorable! Cute Cuteness Pretty Normal Unfortunate Creepy Reddit /r/funny, “Cuteness Vs Number of legs” (circa 2010) Gaah! Kill it! Kill it! 0 1 2 3 4 5 Number of Legs 6 7 8

Slide 31

Slide 31

How we talk about system context Organization (By whom) 1 Architecture (What / Why) Which service / system component is this? 2 Compute (How/2) 3 Platform (How) Kubernetes? Which cluster / namespace / deployment / cronjob / job / pod? AWS ECS? Which cluster / service / task? … Which team owns it? “Who you gonna call?” .. 4 Which container? Which process? Pid? Startup args? Which runtime is it? Node.js? JVM? .NET? Which build? Which version? … Infrastructure (Where) 5 Which datacenter / Cloud region / availability zone / account does it run in? …

Slide 32

Slide 32

How to set resource attributes? ● ● ● Resource detectors & manual “hard-coding”. OTEL_RESOURCE_ATTRIBUTES env var Added to telemetry “in transit” using the OpenTelemetry Collector. import import import import { { { { NodeSDK } from ‘@opentelemetry/sdk-node’; ConsoleSpanExporter } from ‘@opentelemetry/sdk-trace-node’; envDetector, processDetector, Resource} from ‘@opentelemetry/resources’; awsEcsDetector } from ‘@opentelemetry/resource-detector-aws’; const sdk = new NodeSDK({ traceExporter: new ConsoleSpanExporter(), // Skip metric exporter, auto-instrumentations and more. See // https://opentelemetry.io/docs/languages/js/getting-started/nodejs/ instrumentations: [getNodeAutoInstrumentations()], // Specify which resource detectors to use resourceDetectors: [envDetector, processDetector, awsEcsDetector], // Hard-coded resource resources: [new Resource({ team: ‘awesome’, })], }); sdk.start(); Sample initialization of the OpenTelemetry JS Distro in a Node.js application

Slide 33

Slide 33

without context semantic conventions is just data

Slide 34

Slide 34

Semantic Conventions Semantic Conventions define a common set of (semantic) attributes which provide meaning to data when collecting, producing and consuming it. https://github.com/open-telemetry/semantic-conventions Semantic Conventions by signals: ● ● ● ● ● Events: Semantic Conventions for event data. Logs: Semantic Conventions for logs data. Metrics: Semantic Conventions for metrics. Resource: Semantic Conventions for resources. Trace: Semantic Conventions for traces and spans.

Slide 35

Slide 35

OpenTelemetry semantic conventions to context layers 1 Organization 😢 Architecture Service (stable) and (experimental) Deployment Environment 2 Compute 3 Platform Kubernetes Cloud (cloud.platform specifically) Cloud-provider specific 4 COM NOT PRE A HE LIST NSIVE ! Telemetry SDK (stable) and (experimental) Compute Unit and Instance Operating System Process & Process Runtimes Device, Browser, Webengine, … … 5 Infrastructure Cloud (general stuff)

Slide 36

Slide 36

So, why OpenTelemetry? Instrument once, use everywhere Separate telemetry generation from analysis Make software observable by default Improve how we use telemetry

Slide 37

Slide 37

That’s all great, but how do I make it easily accessible for my developers?

Slide 38

Slide 38

The dual role of Platform Engineers in Observability

Slide 39

Slide 39

Observe the platform Enable developers (cloud, cluster, CI/CD, shared DBs, etc.) (traces, metrics, logs, profiling)

Slide 40

Slide 40

Slide 41

Slide 41

What types of Telemetry do I need? Prevalent telemetry types End-user devices and IoT — — —— —- — — — —— — ——- — — Runtimes, applications and services — — —— —- — — — —— — ——- — — Cloud, FaaS, Container orchestration — — —— —- — — — —— — ——- — — Operating system — — —— —- — — — —— — ——- — — Virtualisation Bare metal Infrastructure context — — —— —- — — — —— — ——- — — — — —— —- — — — —— — ——- — — Application context Based on: “What is observability?” by ubuntu.com

Slide 42

Slide 42

Platform Engineering for Observability Self-Service Experience Explicit and Consistent APIs Golden Paths Modularity Platform as a Product Core Requirements

Slide 43

Slide 43

Platform as a Product 🥳 Developer Product 1 Product 2 Platform Kubernetes Product 3

Slide 44

Slide 44

Paved Paths for Observability 󰠁 Paved Observability Path Logs Metrics Storage Traces Collectors Correlation Engine Instrumentation

Slide 45

Slide 45

That’s all great, but I ask again, how do I do that?

Slide 46

Slide 46

The answer: Auto-instrumentation + Operators = No-touch Instrumentation

Slide 47

Slide 47

OpenTelemetry Operator Instrumentation OpenTelemetryCollector OpAMPBridge OpenTelemetry Operator TargetAllocator

Slide 48

Slide 48

Operators as the delivery mechanism Instrumentation Instructs how to inject auto-instrumentation Injects instrumentation in to the pod OpenTelemetry Operator

Slide 49

Slide 49

Observability doesn’t stop at instrumentation.

Slide 50

Slide 50

Perses An open specification for dashboards.

Slide 51

Slide 51

Dashboards as code Perses PersesDatasource perses-operator PersesDashboard

Slide 52

Slide 52

Observability doesn’t stop at instrumentation Vendors How humans and agents understand the system Explorers Dashboards Alerting … and many more. Synthetic Checks Service Maps Agents Your environment (k8s, cloud, etc) OSS How telemetry is produced and collected Where telemetry lives and how it’s accessed Cost Insights

Slide 53

Slide 53

A quick word about AI Garbage In Garbage Out

Slide 54

Slide 54

A quick word about AI Specifications and Semantic Conventions Your Telemetry

Slide 55

Slide 55

Demo

Slide 56

Slide 56

Slide 57

Slide 57

Slide 58

Slide 58

Slide 59

Slide 59

Slide 60

Slide 60

Slide 61

Slide 61

Slide 62

Slide 62

Deployment DaemonSet

Slide 63

Slide 63

Putting it all together…

Slide 64

Slide 64

Golden defaults for developers

Slide 65

Slide 65

Observability is evolving - fast.

Slide 66

Slide 66

OpenTelemetry is standardizing telemetry collection.

Slide 67

Slide 67

Perses is standardizing dashboarding.

Slide 68

Slide 68

Applying Platform Engineering principles can transform observability from an afterthought into a seamless, scalable, and developer-friendly experience.

Slide 69

Slide 69

Observability is a systems problem - not a tracing, logging, or metrics problem.

Slide 70

Slide 70

When we connect signals together, we empower developers to solve problems faster.

Slide 71

Slide 71

And last but not least, Building on Open Standards allows you to freely move between vendors, ensuring they stay on their toes and provide you the best possible experience.

Slide 72

Slide 72

https://university.platformengineering.org/observability-for-platform-engineering

Slide 73

Slide 73

Get a free copy!

Slide 74

Slide 74

Slide 75

Slide 75

Follow us on Merge Forward (CNCF) Building a stronger open source future together! Learn more #merge-forward on Slack! community.cncf.io/merge-forward

Slide 76

Slide 76

Thank you! Kasper Borg Nissen, Principal Developer Advocate at Dash0 kaspernissen.xyz /in/kaspernissen kaspernissen

Slide 77

Slide 77

Get in touch! kaspernissen.xyz /in/kaspernissen kaspernissen