Slide 1

Slide 1 text

OPEN TELEMETRY

Slide 2

Slide 2 text

fractional CTO https://linkedin.com/in/goeldeepak [email protected] +65 91832161 CTO-as-a-Service ABOUT US

Slide 3

Slide 3 text

Nilesh Gule ARCHITECT | MICROSOFT MVP | First Docker Captain in Singapore “Code with Passion and Strive for Excellence” nileshgule @nileshgul e Nilesh Gule NileshGul e www.handsonarchitect.co m https://www.youtube.com/@nilesh-gule

Slide 4

Slide 4 text

AGENDA • Observability in general • Open telemetry an introduction • Open telemetry in action • Local Dev Environment • Docker + Dev IDE • Docker • K8s Cluster • Azure K8s Cluster • K8s Otel Operators • K8s Declarative Collector configuration • K8s Loki

Slide 5

Slide 5 text

LOGS METRICS TRACES OBSERVABILITY IN GENERAL

Slide 6

Slide 6 text

OPEN TELEMETRY EVOLUTION Greek word Open + Tele + Metry Open Source + Remote + Measurement --------------------------------- Merged from two projects Open Tracing + Open Census OPEN TELEMETRY INTRODUCTION

Slide 7

Slide 7 text

OPEN TELEMETRY INTRODUCTION • OpenTelemetry is an Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs. • Crucially, OpenTelemetry is vendor and tool-agnostic, meaning that it can be used with a broad variety of Observability backends, including open source tools like Jaeger and Prometheus, as well as commercial offerings. OpenTelemetry is a Cloud Native Computing Foundation (CNCF) project. OFFICIAL DEFINITION

Slide 8

Slide 8 text

OPEN TELEMETRY INTRODUCTION CNCF CONTRIBUTION GRAPH Source CNCF Website

Slide 9

Slide 9 text

OPEN TELEMETRY INTRODUCTION SUPPORTED LANGUAGES

Slide 10

Slide 10 text

OPEN TELEMETRY INTRODUCTION INSTRUMENTATION STYLE Auto instrumentation Manual instrumentation

Slide 11

Slide 11 text

IT’S A STANDARD ◦ It’s a standard. ◦ It is not a observability tool like Datadog, ELK, Jaeger, Grafana. ◦ No Vendor locking OPEN TELEMETRY INTRODUCTION

Slide 12

Slide 12 text

SUPPORTED BACKEND – COMMON Supported Backends Cloud FULL LIST https://opentelemetry.io/ecosystem/vendors/ OPEN TELEMETRY INTRODUCTION

Slide 13

Slide 13 text

OPEN TELEMETRY INTRODUCTION Language Traces Metrics Logs Java Stable Stable Stable Python Stable Stable Experimental Java Script Stable Stable Development Ruby Stable Not Implemented Yet Not Implemented Yet PHP Beta Beta Alpha MATURITY LEVEL OF SUPPORTED LANGUAGES FULL LIST BY LANGUAGE https://opentelemetry.io/docs/getting-started/dev/

Slide 14

Slide 14 text

THE LOCAL DEMO

Slide 15

Slide 15 text

DEMO WITH MICROSERVICES ◦ Auto Instrumentation ◦ Spring boot stand alone application ◦ Using docker Compose ◦ Using K8s cluster ◦ Scenario with error ◦ Integration with Jaeger ◦ Manual Instrumentation ◦ Frontend – NodeJs App OPEN TELEMETRY IN ACTION - LOCAL

Slide 16

Slide 16 text

OPEN TELEMETRY IN ACTION - LOCAL SERVICE ARCHITECTURE DIAGRAM

Slide 17

Slide 17 text

OPEN TELEMETRY IN ACTION - LOCAL ARCHITECTURE DIAGRAM

Slide 18

Slide 18 text

CODE & CONFIG ◦ Docker compose ◦ Java configuration ◦ Otel-config.yml ◦ Node/Express App manual instrumentation OPEN TELEMETRY IN ACTION - LOCAL

Slide 19

Slide 19 text

THE DEMO AZURE K8S CLUSTER

Slide 20

Slide 20 text

OPEN TELEMETRY IN ACTION – K8S K8S OPERATOR ARCHITECTURE DIAGRAM

Slide 21

Slide 21 text

CODE & CONFIG ◦ Operators ◦ Service Monitor ◦ Allocator ◦ OTel Configurations ◦ Auto instrumentation OPEN TELEMETRY IN ACTION - K8S

Slide 22

Slide 22 text

REFERENCES • https://opentelemetry.io/docs/what-is-opentelemetry/ • https://github.com/open-telemetry/opentelemetry- demo/blob/main/docker-compose.yml • https://logz.io/learn/opentelemetry-guide/#overview • https://techblog.cisco.com/blog/getting-started-with- opentelemetry • https://github.com/open-telemetry/opentelemetry-demo/

Slide 23

Slide 23 text

SOURCE CODE https://github.com/infofractionalservices/microservices.git Contributors are welcomed

Slide 24

Slide 24 text

Q & A

Slide 25

Slide 25 text

THANKS