Slide 1

Slide 1 text

Distributed Tracing with Jaeger on Kubernetes Onur Kasimlar, Lead Cloud Engineer at Posedio VldgWebDev Meetup 17.05.2023

Slide 2

Slide 2 text

2 POSEDIO GMBH Company founded: • 2020 Locations: • Vienna • Vorarlberg Co-workers: • 17 Cloud experts

Slide 3

Slide 3 text

3 SERVICES Cloud Platform Cloud-Native Consulting Data Platform Application Modernization Multicloud FinOps Automated self- service Platform Data Governance Big Data Data Accessibility Security and Governance Scalability & Cost optimization DevOps Security Review Cloud readiness Review Architecture Review

Slide 4

Slide 4 text

AGENDA 1. Challenge Distributed Tracing 2. Solutions 3. Showcase Minikube 4.Architecture 5. Real World Example

Slide 5

Slide 5 text

CHALLENGE DISTRIBUTED TRACING 1

Slide 6

Slide 6 text

7 CHALLENGE DISTRIBUTED TRACING Example Architecture

Slide 7

Slide 7 text

8 CHALLENGE DISTRIBUTED TRACING What happens if an Error occurs?

Slide 8

Slide 8 text

9 CHALLENGE DISTRIBUTED TRACING What makes it difficult to find the error? • Error is not logged • Logs are not accessible • Request can’t be tracked • Error != Performance Issue • Where is the bottleneck • …..

Slide 9

Slide 9 text

10 CHALLENGE DISTRIBUTED TRACING Solution: Monitoring of Systems • Logs: Textual records generated by software applications • Metrics: CPU, Memory, Error rates, … • Alerts: Notifications generated by monitoring systems • Dashboards: visual representation of monitoring data • Traces

Slide 10

Slide 10 text

11 CHALLENGE DISTRIBUTED TRACING What is a Trace? • Capture execution flow • Request / Transaction path with time • End-to-end visibility

Slide 11

Slide 11 text

12 CHALLENGE DISTRIBUTED TRACING Example Architecture

Slide 12

Slide 12 text

SOLUTION 2

Slide 13

Slide 13 text

14 SOLUTION What is a Trace-ID? • Often referred as X-Correlation-Id • Unique Identifier assigned to a trace • Correlate and track the flow of a request or transaction • HTTP-Header in case of HTTP-requests

Slide 14

Slide 14 text

15 SOLUTION Where/When create a Trace-ID? • ASAP you have the possibility • Check Trace-Id available • (y) – use the existing one • (n) – create one and propagate it

Slide 15

Slide 15 text

16 SOLUTION Source of error • Every component must stick to the rules • Every component = potential single point of failure • Solution: OpenTelemetry / Jaeger

Slide 16

Slide 16 text

17 SOLUTION What is OpenTelemetry • Project under Cloud Native Foundation (CNCF) • Standardization of telemetry data • Telemetry data: logs, metrics, traces • APIs and SDKs to generate data • A lot of programming languages supported

Slide 17

Slide 17 text

18 SOLUTION What is Jaeger • Tool for analyisis of storage and visualization of trace data • Uses OpenTelemetry data

Slide 18

Slide 18 text

19 SOLUTION How does a Trace look like • A trace represents data / execution path through system • Acyclic graph of spans

Slide 19

Slide 19 text

EXAMPLE IN MINIKUBE AND QUARKUS SERVICES 3

Slide 20

Slide 20 text

ARCHITECTURE 4

Slide 21

Slide 21 text

22 SOLUTION Architecture

Slide 22

Slide 22 text

23 SOLUTION Architecture

Slide 23

Slide 23 text

REAL WORLD EXAMPLE 5

Slide 24

Slide 24 text

THANK YOU! POSEDIO GMBH +43 660 8484500 [email protected] Weyringergasse 1-3, 1040 Wien, Millenium Park 4, 6980 Lustenau www.posedio.com