Slide 1

Slide 1 text

Cloud-Native Observability Thorsten Hans Cloud-Native Consultant @ Thinktecture

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Hi 👋🏼, I'm Thorsten Hans Cloud-Native Consultant @ Thinktecture Technology Focus #CloudNative #Kubernetes #Azure #Go #Containers #Rust #WebAssembly Awards Microsoft MVP for Azure Docker Captain Contact thorsten-hans.com thinktecture.com [email protected] | @ThorstenHans

Slide 4

Slide 4 text

Talking Points What is Observability Observability in Cloud-Native OpenTelemetry Instrumenting a .NET app Alerting Conclusion

Slide 5

Slide 5 text

SECTION What is Observability

Slide 6

Slide 6 text

What is Observability With Observability we gain insight into complex systems by monitoring their states and behaviors It involves collecting and analyzing data from various sources Observability helps to identify and diagnose issues in systems We use logging, metrics collection, and distributed tracing Observability allows developers to better understand how their systems are performing in real-world environments

Slide 7

Slide 7 text

How Observability looks like Distributed Traces

Slide 8

Slide 8 text

How Observability looks like Metrics

Slide 9

Slide 9 text

How Observability looks like Logs

Slide 10

Slide 10 text

DEMO Let's explore traces, metrics, and logs

Slide 11

Slide 11 text

SECTION Observability in Cloud-Native

Slide 12

Slide 12 text

Observability in Cloud-Native Cloud-native applications are highly distributed, complex systems that can be difficult to monitor without observability Observability provides a way to gain insight into the behavior of cloud- native apps By implementing observability practices, developers can collect and analyze data from various sources to gain a comprehensive view of their cloud-native app. Especially in cloud-native apps, it makes performance penalties discoverable

Slide 13

Slide 13 text

Common Observability Tools Distributed Tracing Jaeger Zipkin Grafana Tempo Metrics Prometheus Grafana Metrics Logs Grafana Loki Elastic Search Log Shipping FluentBit (or FluentD) Logstash Promtail Visualization Grafana Kibana

Slide 14

Slide 14 text

SECTION OpenTelemetry

Slide 15

Slide 15 text

OpenTelemetry OpenTelemetry (otel) https://opentelemetry.io/ OpenTelemetry is a set of open-source libraries for collecting and analyzing telemetry data from cloud-native applications It is available for most popular programming languages It works with a wide range of cloud environments and platforms It provides an agnostic standard for telemetry data collection It makes it easier for developers to instrument their apps

Slide 16

Slide 16 text

OpenTelemetry in .NET OpenTelemetry is a collection of pluggable NuGet packages of which we’ve to pick and choose: # Fundamental packages dotnet add package OpenTelemetry dotnet add package OpenTelemetry.Extensions.Hosting # pick and choose intrumentation packages dotnet add package OpenTelemetry.Instrumentation.Runtime dotnet add package OpenTelemetry.Instrumentation.AspNetCore # pick and choose exporter packages dotnet add package OpenTelemetry.Exporter.Console dotnet add package OpenTelemetry.Exporter.Zipkin

Slide 17

Slide 17 text

SECTION Hands-On: Instrumenting a .NET app

Slide 18

Slide 18 text

DEMO Instrumenting a .NET app with Open Telemetry

Slide 19

Slide 19 text

SECTION Alerting

Slide 20

Slide 20 text

Alerting Notification engines (e.g. Alertmanager) inform about anomalies based on configurable condiditions Alerts are generated by systems like Prometheues Alertmanager consolidates alerts and actually notifies people Common messaging patterns are built-in: E-Mail Pager Chat messages (e.g. Teams | Slack)

Slide 21

Slide 21 text

DEMO Alerts for custom metrics

Slide 22

Slide 22 text

SECTION Conclusion

Slide 23

Slide 23 text

Conclusion Observability is critical for maintaining the reliability and performance of cloud-native apps. Observability makes the health of an app visible and actionable. Custom metrics are key to identify KPIs OpenTelemetry (otel) is defacto-standard for instrumenting apps it intergates with self-hosted and SaaS targets

Slide 24

Slide 24 text

Thank you @ThorstenHans | [email protected] | GitHub Repository 👋🏼 Thanks for attending my talk 👋🏼