SlideShare a Scribd company logo
1 of 22
Download to read offline
Adopting Open Telemetry as Distributed Tracer on Your
Microservices at Kubernetes
Open Infrastructure & Cloud Native Day Indonesia 2020
07 November 2020
Tonny Adhi Sabastian
tonny.sabastian@go-jek.com
About Me
● Former System Administrator for kambing.ui.ac.id - one of national F/OSS repository ; now defunct (2009 - 2018)
● Former Lead Engineer for Univ. Indonesia Data Center (2012 - 2018)
● Former (Part Time) Lecturer at Faculty of Computer Science , Univ. Indonesia (2014 - 2018)
○ Teaching Subject : Distributed System & System Programming
○ Research Subject : IoT , Deep Packet Inspection, Aeronautical Telecommunication Network, Linux System
Performance
● Co-founding two startup during 2012 - 2018 , but failed - (Rumio - AR Platform & Peentar - IoT Platform)
● Currently : Senior DevOps Engineer at MAPAN (GOJEK Group) - https://mapan.id (2018 - Now)
○ We’re recruiting, please visit https://jobs.lever.co/gojek and find job with MAPAN suffix
○ Send your CV to recruitment@ruma.co.id
● Contact :
○ tonny.sabastian@go-jek.com
○ tonny@segmentationfault.xyz
○ https://segmentationfault.xyz
Agenda
1. Knowing About Performance Tracing
2. Get To Know With Open Telemetry
3. Deploy Go Microservices with Open Telemetry
4. Demo & (Q&A)
Knowing About Performance Tracing
(Why my request took so long ?)
Why We Need Tracing ? (0)
Your system (contemporary) is distributed and
doing distributed concurrency
Images Source : “Mastering Distributed Tracing - Yuri Shkuro”
Why We Need Tracing ? (1)
Observability : Ability To Allow a Human as System Creator and Maintainer to Ask (impactful) Questions
and Get (impactful) Answers on States of Their System
● Which services did a request go through?
● What did every microservice do when processing the request?
● If the request was slow, where were the bottlenecks?
● If the request failed, where did the error happen?
● How different was the execution of the request from the normal behavior of the system?
○ Were the differences structural, that is, some new services were called, or vice versa, some
usual services were not called?
● What was the critical path of the request?
● What about the user experience when the request not getting through ?
What is a Tracing Activity ? (0)
In a nutshell :
● Tracing infrastructure attaches contextual metadata to each request and ensures that
metadata is passed around during the request execution, even when one component
communicates with another over a network.
● At various trace points in the code, the instrumentation records events annotated
with relevant information, such as the URL of an HTTP request or an SQL statement of
a database query.
● Recorded events are tagged with the contextual metadata and explicit causality
references to prior events.
What is a Tracing Activity ? (1)
Mapan © Copyright 2020
Traces
Images Source : “Mastering Distributed Tracing - Yuri Shkuro”
What is a Tracing Activity ? (2)
Mapan © Copyright 2020Mapan © Copyright 2020
Anatomy of Distributed Tracing
Images Source : “Mastering Distributed Tracing - Yuri Shkuro”
Get To Know With Open Telemetry
(Lets Trace Our Code)
Distributed Tracing Libraries
● Open Census ( opencensus.io )
○ Start as Google Census Library to collect metrics and traces
○ Provided set of API and SDK for Distributed Tracing
○ Supported backends include Azure Monitor, Datadog, Instana, Jaeger, New Relic, SignalFX,
Google Cloud Monitoring + Trace, and Zipkin.
● Open Tracing ( opentracing.io )
○ More focus on tracing capabilities, minus metrics
● Open Telemetry ( opentelemetry.io )
○ OpenCensus and OpenTracing combined together to provided a full set telemetry
exporter, collector and analyzer , including metric, traces and logging (incoming)
○ Provided agent collector (planned), serve as endpoint for log, metric, and analyzer.
○ Supported exporters for various trace capture platform like Jaeger, Zipkin, Datadog,
LightStep, NewRelic, etc.
○ Last specification version v0.6.0
Open Telemetry Architecture (1)
Source : https://blog.newrelic.com/product-news/what-is-opentelemetry/
Open Telemetry Architecture (2)
● Open Telemetry API is used to instrument our code, and code authors use it to write
instrumentation directly into their services or libraries.
● Open Telemetry SDK is an implementation from Open Telemetry API. The SDK implements Tracer,
Metrics, and Trace Context.
● Open Telemetry Collector (agent) collect Metrics and Traces , and sending them to the backend of
our choices
● A more specific implementation can only use Open Telemetry Exporter, but this exporters are
specific to certain backend ( ex : Jaeger Exporter , Prometheus Exporter, Datadog Exporter, NewRelic
Exporter)
Deploy Go Microservices With Open Telemetry
(Show me the (snippet) code)
Go With Open Telemetry (0)
Server Side : Initiate Jaeger Exporter with Open Telemetry
Go With Open Telemetry (1)
Server Side : Creating Span
Go With Open Telemetry (3)
Client Side : Init Jaeger Exporter
Go With Open Telemetry (4)
Client Side : Span with Trace Propagator
Go With Open Telemetry (5)
How we in Mapan do it ? Create wrapper library for Open Telemetry, Sentry, etc
Go With Open Telemetry (6)
Some Result
Go With Open Telemetry (7)
Demo - Q&A
https://github.com/tonnyadhi/opentelemetry_example

More Related Content

What's hot

OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdfOSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdfNETWAYS
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For ArchitectsKevin Brockhoff
 
OpenTelemetry For Operators
OpenTelemetry For OperatorsOpenTelemetry For Operators
OpenTelemetry For OperatorsKevin Brockhoff
 
Meetup OpenTelemetry Intro
Meetup OpenTelemetry IntroMeetup OpenTelemetry Intro
Meetup OpenTelemetry IntroDimitrisFinas1
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryEric D. Schabell
 
Opentelemetry - From frontend to backend
Opentelemetry - From frontend to backendOpentelemetry - From frontend to backend
Opentelemetry - From frontend to backendSebastian Poxhofer
 
Everything You wanted to Know About Distributed Tracing
Everything You wanted to Know About Distributed TracingEverything You wanted to Know About Distributed Tracing
Everything You wanted to Know About Distributed TracingAmuhinda Hungai
 
Distributed tracing using open tracing & jaeger 2
Distributed tracing using open tracing & jaeger 2Distributed tracing using open tracing & jaeger 2
Distributed tracing using open tracing & jaeger 2Chandresh Pancholi
 
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...LibbySchulze
 
Improve monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss toolsImprove monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss toolsNilesh Gule
 
OpenTelemetry: From front- to backend (2022)
OpenTelemetry: From front- to backend (2022)OpenTelemetry: From front- to backend (2022)
OpenTelemetry: From front- to backend (2022)Sebastian Poxhofer
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaegerOracle Korea
 
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracingTracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracingYuri Shkuro
 
Distributed Tracing for Kafka with OpenTelemetry with Daniel Kim | Kafka Summ...
Distributed Tracing for Kafka with OpenTelemetry with Daniel Kim | Kafka Summ...Distributed Tracing for Kafka with OpenTelemetry with Daniel Kim | Kafka Summ...
Distributed Tracing for Kafka with OpenTelemetry with Daniel Kim | Kafka Summ...HostedbyConfluent
 
Observability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with SpringObservability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with SpringVMware Tanzu
 
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetryJuraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetryJuliano Costa
 
Introduction to Distributed Tracing
Introduction to Distributed TracingIntroduction to Distributed Tracing
Introduction to Distributed Tracingpetabridge
 
Monitoring_with_Prometheus_Grafana_Tutorial
Monitoring_with_Prometheus_Grafana_TutorialMonitoring_with_Prometheus_Grafana_Tutorial
Monitoring_with_Prometheus_Grafana_TutorialTim Vaillancourt
 
Distributed tracing 101
Distributed tracing 101Distributed tracing 101
Distributed tracing 101Itiel Shwartz
 

What's hot (20)

OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdfOSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
 
OpenTelemetry For Architects
OpenTelemetry For ArchitectsOpenTelemetry For Architects
OpenTelemetry For Architects
 
OpenTelemetry For Operators
OpenTelemetry For OperatorsOpenTelemetry For Operators
OpenTelemetry For Operators
 
Meetup OpenTelemetry Intro
Meetup OpenTelemetry IntroMeetup OpenTelemetry Intro
Meetup OpenTelemetry Intro
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Opentelemetry - From frontend to backend
Opentelemetry - From frontend to backendOpentelemetry - From frontend to backend
Opentelemetry - From frontend to backend
 
Everything You wanted to Know About Distributed Tracing
Everything You wanted to Know About Distributed TracingEverything You wanted to Know About Distributed Tracing
Everything You wanted to Know About Distributed Tracing
 
Distributed tracing using open tracing & jaeger 2
Distributed tracing using open tracing & jaeger 2Distributed tracing using open tracing & jaeger 2
Distributed tracing using open tracing & jaeger 2
 
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...Understand your system like never before with OpenTelemetry, Grafana, and Pro...
Understand your system like never before with OpenTelemetry, Grafana, and Pro...
 
Improve monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss toolsImprove monitoring and observability for kubernetes with oss tools
Improve monitoring and observability for kubernetes with oss tools
 
OpenTelemetry: From front- to backend (2022)
OpenTelemetry: From front- to backend (2022)OpenTelemetry: From front- to backend (2022)
OpenTelemetry: From front- to backend (2022)
 
Opentracing jaeger
Opentracing jaegerOpentracing jaeger
Opentracing jaeger
 
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracingTracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
Tracing 2000+ polyglot microservices at Uber with Jaeger and OpenTracing
 
Distributed Tracing for Kafka with OpenTelemetry with Daniel Kim | Kafka Summ...
Distributed Tracing for Kafka with OpenTelemetry with Daniel Kim | Kafka Summ...Distributed Tracing for Kafka with OpenTelemetry with Daniel Kim | Kafka Summ...
Distributed Tracing for Kafka with OpenTelemetry with Daniel Kim | Kafka Summ...
 
Observability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with SpringObservability: Beyond the Three Pillars with Spring
Observability: Beyond the Three Pillars with Spring
 
Observability
ObservabilityObservability
Observability
 
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetryJuraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
 
Introduction to Distributed Tracing
Introduction to Distributed TracingIntroduction to Distributed Tracing
Introduction to Distributed Tracing
 
Monitoring_with_Prometheus_Grafana_Tutorial
Monitoring_with_Prometheus_Grafana_TutorialMonitoring_with_Prometheus_Grafana_Tutorial
Monitoring_with_Prometheus_Grafana_Tutorial
 
Distributed tracing 101
Distributed tracing 101Distributed tracing 101
Distributed tracing 101
 

Similar to Adopting Open Telemetry as Distributed Tracer on your Microservices at Kubernetes

Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...AgileNetwork
 
linkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service Meshlinkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service MeshDario Simonetti
 
Suricate
SuricateSuricate
Suricatebefreax
 
Achieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of ThingsAchieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of Thingsiotest
 
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...iotest
 
Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxOpsTree solutions
 
Docker microservices and the service mesh
Docker microservices and the service meshDocker microservices and the service mesh
Docker microservices and the service meshDocker, Inc.
 
Go Observability (in practice)
Go Observability (in practice)Go Observability (in practice)
Go Observability (in practice)Eran Levy
 
IRJET- Review On Semantic Open IoT Service Platform
IRJET- Review On Semantic Open IoT Service PlatformIRJET- Review On Semantic Open IoT Service Platform
IRJET- Review On Semantic Open IoT Service PlatformIRJET Journal
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxGrace Jansen
 
Open IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APIOpen IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APISensorUp
 
Trends on Data Graphs & Security for the Internet of Things
Trends on Data Graphs & Security for the Internet of ThingsTrends on Data Graphs & Security for the Internet of Things
Trends on Data Graphs & Security for the Internet of ThingsGhislain Atemezing
 
The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrumentJonah Kowall
 
SensorThings API Webinar - #1 of 4 - Introduction
SensorThings API Webinar - #1 of 4 - IntroductionSensorThings API Webinar - #1 of 4 - Introduction
SensorThings API Webinar - #1 of 4 - IntroductionSensorUp
 
WTF is a Microservice - Rafael Schloming, Datawire
WTF is a Microservice - Rafael Schloming, DatawireWTF is a Microservice - Rafael Schloming, Datawire
WTF is a Microservice - Rafael Schloming, DatawireAmbassador Labs
 
Distributed Tracing with Jaeger
Distributed Tracing with JaegerDistributed Tracing with Jaeger
Distributed Tracing with JaegerInho Kang
 
Tools for the Open Source Internet of Things
Tools for the Open Source Internet of ThingsTools for the Open Source Internet of Things
Tools for the Open Source Internet of ThingsMichael Koster
 
Tools for the Open Source Internet Of Things
Tools for the Open Source Internet Of ThingsTools for the Open Source Internet Of Things
Tools for the Open Source Internet Of ThingsMichael Koster
 

Similar to Adopting Open Telemetry as Distributed Tracer on your Microservices at Kubernetes (20)

Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
 
linkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service Meshlinkerd: The Cloud Native Service Mesh
linkerd: The Cloud Native Service Mesh
 
Suricate
SuricateSuricate
Suricate
 
Smart net
Smart netSmart net
Smart net
 
Achieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of ThingsAchieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of Things
 
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
Naming, Search and Discovery in IoT: Issues and proposed solutions in the FP7...
 
Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptx
 
Docker microservices and the service mesh
Docker microservices and the service meshDocker microservices and the service mesh
Docker microservices and the service mesh
 
Go Observability (in practice)
Go Observability (in practice)Go Observability (in practice)
Go Observability (in practice)
 
IRJET- Review On Semantic Open IoT Service Platform
IRJET- Review On Semantic Open IoT Service PlatformIRJET- Review On Semantic Open IoT Service Platform
IRJET- Review On Semantic Open IoT Service Platform
 
ThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptxThroughTheLookingGlass_EffectiveObservability.pptx
ThroughTheLookingGlass_EffectiveObservability.pptx
 
Open IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings APIOpen IoT Made Easy - Introduction to OGC SensorThings API
Open IoT Made Easy - Introduction to OGC SensorThings API
 
Sebastian Hellmann
Sebastian HellmannSebastian Hellmann
Sebastian Hellmann
 
Trends on Data Graphs & Security for the Internet of Things
Trends on Data Graphs & Security for the Internet of ThingsTrends on Data Graphs & Security for the Internet of Things
Trends on Data Graphs & Security for the Internet of Things
 
The differing ways to monitor and instrument
The differing ways to monitor and instrumentThe differing ways to monitor and instrument
The differing ways to monitor and instrument
 
SensorThings API Webinar - #1 of 4 - Introduction
SensorThings API Webinar - #1 of 4 - IntroductionSensorThings API Webinar - #1 of 4 - Introduction
SensorThings API Webinar - #1 of 4 - Introduction
 
WTF is a Microservice - Rafael Schloming, Datawire
WTF is a Microservice - Rafael Schloming, DatawireWTF is a Microservice - Rafael Schloming, Datawire
WTF is a Microservice - Rafael Schloming, Datawire
 
Distributed Tracing with Jaeger
Distributed Tracing with JaegerDistributed Tracing with Jaeger
Distributed Tracing with Jaeger
 
Tools for the Open Source Internet of Things
Tools for the Open Source Internet of ThingsTools for the Open Source Internet of Things
Tools for the Open Source Internet of Things
 
Tools for the Open Source Internet Of Things
Tools for the Open Source Internet Of ThingsTools for the Open Source Internet Of Things
Tools for the Open Source Internet Of Things
 

More from Tonny Adhi Sabastian

The_Story_of_Microservices_YAI_KALBIS.pdf
The_Story_of_Microservices_YAI_KALBIS.pdfThe_Story_of_Microservices_YAI_KALBIS.pdf
The_Story_of_Microservices_YAI_KALBIS.pdfTonny Adhi Sabastian
 
Delivering High Quality Elixir Code using Gitlab
Delivering High Quality Elixir Code using GitlabDelivering High Quality Elixir Code using Gitlab
Delivering High Quality Elixir Code using GitlabTonny Adhi Sabastian
 
Single Sign On (SSO) Services with Free/Open Source Software
Single Sign On (SSO) Services with Free/Open Source SoftwareSingle Sign On (SSO) Services with Free/Open Source Software
Single Sign On (SSO) Services with Free/Open Source SoftwareTonny Adhi Sabastian
 
Cloud Services On UI and Ideas for Federated Cloud on idREN
Cloud Services On UI and Ideas for Federated Cloud on idRENCloud Services On UI and Ideas for Federated Cloud on idREN
Cloud Services On UI and Ideas for Federated Cloud on idRENTonny Adhi Sabastian
 
Towards universitas indonesia_next_generation_firewall_service
Towards universitas indonesia_next_generation_firewall_serviceTowards universitas indonesia_next_generation_firewall_service
Towards universitas indonesia_next_generation_firewall_serviceTonny Adhi Sabastian
 
Paparan menteri kadisdik 141201 - low v.0
Paparan menteri   kadisdik 141201 - low v.0Paparan menteri   kadisdik 141201 - low v.0
Paparan menteri kadisdik 141201 - low v.0Tonny Adhi Sabastian
 
Cloud computing 101 & The Development Beyond
Cloud computing 101  &  The Development BeyondCloud computing 101  &  The Development Beyond
Cloud computing 101 & The Development BeyondTonny Adhi Sabastian
 
Kreatif Dengan Piranti Keras Open Source Raspberry Pi
Kreatif Dengan Piranti Keras Open Source Raspberry PiKreatif Dengan Piranti Keras Open Source Raspberry Pi
Kreatif Dengan Piranti Keras Open Source Raspberry PiTonny Adhi Sabastian
 
RaspberryPi-KopiDarat-IDPython-Oktober2013
RaspberryPi-KopiDarat-IDPython-Oktober2013RaspberryPi-KopiDarat-IDPython-Oktober2013
RaspberryPi-KopiDarat-IDPython-Oktober2013Tonny Adhi Sabastian
 

More from Tonny Adhi Sabastian (13)

The_Story_of_Microservices_YAI_KALBIS.pdf
The_Story_of_Microservices_YAI_KALBIS.pdfThe_Story_of_Microservices_YAI_KALBIS.pdf
The_Story_of_Microservices_YAI_KALBIS.pdf
 
Delivering High Quality Elixir Code using Gitlab
Delivering High Quality Elixir Code using GitlabDelivering High Quality Elixir Code using Gitlab
Delivering High Quality Elixir Code using Gitlab
 
Single Sign On (SSO) Services with Free/Open Source Software
Single Sign On (SSO) Services with Free/Open Source SoftwareSingle Sign On (SSO) Services with Free/Open Source Software
Single Sign On (SSO) Services with Free/Open Source Software
 
Software Delivery Pipeline
Software Delivery PipelineSoftware Delivery Pipeline
Software Delivery Pipeline
 
DevOps Culture and Principles
DevOps Culture and PrinciplesDevOps Culture and Principles
DevOps Culture and Principles
 
Cloud Services On UI and Ideas for Federated Cloud on idREN
Cloud Services On UI and Ideas for Federated Cloud on idRENCloud Services On UI and Ideas for Federated Cloud on idREN
Cloud Services On UI and Ideas for Federated Cloud on idREN
 
Towards universitas indonesia_next_generation_firewall_service
Towards universitas indonesia_next_generation_firewall_serviceTowards universitas indonesia_next_generation_firewall_service
Towards universitas indonesia_next_generation_firewall_service
 
Paparan menteri kadisdik 141201 - low v.0
Paparan menteri   kadisdik 141201 - low v.0Paparan menteri   kadisdik 141201 - low v.0
Paparan menteri kadisdik 141201 - low v.0
 
Cloud computing 101 & The Development Beyond
Cloud computing 101  &  The Development BeyondCloud computing 101  &  The Development Beyond
Cloud computing 101 & The Development Beyond
 
Raspberry Pi GPIO 101
Raspberry Pi GPIO 101Raspberry Pi GPIO 101
Raspberry Pi GPIO 101
 
Kreatif Dengan Piranti Keras Open Source Raspberry Pi
Kreatif Dengan Piranti Keras Open Source Raspberry PiKreatif Dengan Piranti Keras Open Source Raspberry Pi
Kreatif Dengan Piranti Keras Open Source Raspberry Pi
 
RaspberryPi-KopiDarat-IDPython-Oktober2013
RaspberryPi-KopiDarat-IDPython-Oktober2013RaspberryPi-KopiDarat-IDPython-Oktober2013
RaspberryPi-KopiDarat-IDPython-Oktober2013
 
Raspberry Pi 101
Raspberry Pi 101Raspberry Pi 101
Raspberry Pi 101
 

Recently uploaded

HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Ramkumar k
 
Circuit Breakers for Engineering Students
Circuit Breakers for Engineering StudentsCircuit Breakers for Engineering Students
Circuit Breakers for Engineering Studentskannan348865
 
Introduction-to- Metrology and Quality.pptx
Introduction-to- Metrology and Quality.pptxIntroduction-to- Metrology and Quality.pptx
Introduction-to- Metrology and Quality.pptxProfASKolap
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024EMMANUELLEFRANCEHELI
 
Presentation on Slab, Beam, Column, and Foundation/Footing
Presentation on Slab,  Beam, Column, and Foundation/FootingPresentation on Slab,  Beam, Column, and Foundation/Footing
Presentation on Slab, Beam, Column, and Foundation/FootingEr. Suman Jyoti
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxkalpana413121
 
Independent Solar-Powered Electric Vehicle Charging Station
Independent Solar-Powered Electric Vehicle Charging StationIndependent Solar-Powered Electric Vehicle Charging Station
Independent Solar-Powered Electric Vehicle Charging Stationsiddharthteach18
 
Dynamo Scripts for Task IDs and Space Naming.pptx
Dynamo Scripts for Task IDs and Space Naming.pptxDynamo Scripts for Task IDs and Space Naming.pptx
Dynamo Scripts for Task IDs and Space Naming.pptxMustafa Ahmed
 
What is Coordinate Measuring Machine? CMM Types, Features, Functions
What is Coordinate Measuring Machine? CMM Types, Features, FunctionsWhat is Coordinate Measuring Machine? CMM Types, Features, Functions
What is Coordinate Measuring Machine? CMM Types, Features, FunctionsVIEW
 
Basics of Relay for Engineering Students
Basics of Relay for Engineering StudentsBasics of Relay for Engineering Students
Basics of Relay for Engineering Studentskannan348865
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesChandrakantDivate1
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...josephjonse
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashidFaiyazSheikh
 
21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docxrahulmanepalli02
 
Degrees of freedom for the robots 1.pptx
Degrees of freedom for the robots 1.pptxDegrees of freedom for the robots 1.pptx
Degrees of freedom for the robots 1.pptxMostafa Mahmoud
 
engineering chemistry power point presentation
engineering chemistry  power point presentationengineering chemistry  power point presentation
engineering chemistry power point presentationsj9399037128
 
Computer Graphics - Windowing and Clipping
Computer Graphics - Windowing and ClippingComputer Graphics - Windowing and Clipping
Computer Graphics - Windowing and ClippingChandrakantDivate1
 
Scouring of cotton and wool fabric with effective scouring method
Scouring of cotton and wool fabric with effective scouring methodScouring of cotton and wool fabric with effective scouring method
Scouring of cotton and wool fabric with effective scouring methodvimal412355
 
Path loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelPath loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelDrAjayKumarYadav4
 

Recently uploaded (20)

HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 
Circuit Breakers for Engineering Students
Circuit Breakers for Engineering StudentsCircuit Breakers for Engineering Students
Circuit Breakers for Engineering Students
 
Introduction-to- Metrology and Quality.pptx
Introduction-to- Metrology and Quality.pptxIntroduction-to- Metrology and Quality.pptx
Introduction-to- Metrology and Quality.pptx
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
 
Presentation on Slab, Beam, Column, and Foundation/Footing
Presentation on Slab,  Beam, Column, and Foundation/FootingPresentation on Slab,  Beam, Column, and Foundation/Footing
Presentation on Slab, Beam, Column, and Foundation/Footing
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptx
 
Independent Solar-Powered Electric Vehicle Charging Station
Independent Solar-Powered Electric Vehicle Charging StationIndependent Solar-Powered Electric Vehicle Charging Station
Independent Solar-Powered Electric Vehicle Charging Station
 
Dynamo Scripts for Task IDs and Space Naming.pptx
Dynamo Scripts for Task IDs and Space Naming.pptxDynamo Scripts for Task IDs and Space Naming.pptx
Dynamo Scripts for Task IDs and Space Naming.pptx
 
What is Coordinate Measuring Machine? CMM Types, Features, Functions
What is Coordinate Measuring Machine? CMM Types, Features, FunctionsWhat is Coordinate Measuring Machine? CMM Types, Features, Functions
What is Coordinate Measuring Machine? CMM Types, Features, Functions
 
Basics of Relay for Engineering Students
Basics of Relay for Engineering StudentsBasics of Relay for Engineering Students
Basics of Relay for Engineering Students
 
Computer Graphics Introduction To Curves
Computer Graphics Introduction To CurvesComputer Graphics Introduction To Curves
Computer Graphics Introduction To Curves
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded Systems
 
21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx
 
Degrees of freedom for the robots 1.pptx
Degrees of freedom for the robots 1.pptxDegrees of freedom for the robots 1.pptx
Degrees of freedom for the robots 1.pptx
 
engineering chemistry power point presentation
engineering chemistry  power point presentationengineering chemistry  power point presentation
engineering chemistry power point presentation
 
Computer Graphics - Windowing and Clipping
Computer Graphics - Windowing and ClippingComputer Graphics - Windowing and Clipping
Computer Graphics - Windowing and Clipping
 
Scouring of cotton and wool fabric with effective scouring method
Scouring of cotton and wool fabric with effective scouring methodScouring of cotton and wool fabric with effective scouring method
Scouring of cotton and wool fabric with effective scouring method
 
Path loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata ModelPath loss model, OKUMURA Model, Hata Model
Path loss model, OKUMURA Model, Hata Model
 

Adopting Open Telemetry as Distributed Tracer on your Microservices at Kubernetes

  • 1. Adopting Open Telemetry as Distributed Tracer on Your Microservices at Kubernetes Open Infrastructure & Cloud Native Day Indonesia 2020 07 November 2020 Tonny Adhi Sabastian tonny.sabastian@go-jek.com
  • 2. About Me ● Former System Administrator for kambing.ui.ac.id - one of national F/OSS repository ; now defunct (2009 - 2018) ● Former Lead Engineer for Univ. Indonesia Data Center (2012 - 2018) ● Former (Part Time) Lecturer at Faculty of Computer Science , Univ. Indonesia (2014 - 2018) ○ Teaching Subject : Distributed System & System Programming ○ Research Subject : IoT , Deep Packet Inspection, Aeronautical Telecommunication Network, Linux System Performance ● Co-founding two startup during 2012 - 2018 , but failed - (Rumio - AR Platform & Peentar - IoT Platform) ● Currently : Senior DevOps Engineer at MAPAN (GOJEK Group) - https://mapan.id (2018 - Now) ○ We’re recruiting, please visit https://jobs.lever.co/gojek and find job with MAPAN suffix ○ Send your CV to recruitment@ruma.co.id ● Contact : ○ tonny.sabastian@go-jek.com ○ tonny@segmentationfault.xyz ○ https://segmentationfault.xyz
  • 3. Agenda 1. Knowing About Performance Tracing 2. Get To Know With Open Telemetry 3. Deploy Go Microservices with Open Telemetry 4. Demo & (Q&A)
  • 4. Knowing About Performance Tracing (Why my request took so long ?)
  • 5. Why We Need Tracing ? (0) Your system (contemporary) is distributed and doing distributed concurrency Images Source : “Mastering Distributed Tracing - Yuri Shkuro”
  • 6. Why We Need Tracing ? (1) Observability : Ability To Allow a Human as System Creator and Maintainer to Ask (impactful) Questions and Get (impactful) Answers on States of Their System ● Which services did a request go through? ● What did every microservice do when processing the request? ● If the request was slow, where were the bottlenecks? ● If the request failed, where did the error happen? ● How different was the execution of the request from the normal behavior of the system? ○ Were the differences structural, that is, some new services were called, or vice versa, some usual services were not called? ● What was the critical path of the request? ● What about the user experience when the request not getting through ?
  • 7. What is a Tracing Activity ? (0) In a nutshell : ● Tracing infrastructure attaches contextual metadata to each request and ensures that metadata is passed around during the request execution, even when one component communicates with another over a network. ● At various trace points in the code, the instrumentation records events annotated with relevant information, such as the URL of an HTTP request or an SQL statement of a database query. ● Recorded events are tagged with the contextual metadata and explicit causality references to prior events.
  • 8. What is a Tracing Activity ? (1) Mapan © Copyright 2020 Traces Images Source : “Mastering Distributed Tracing - Yuri Shkuro”
  • 9. What is a Tracing Activity ? (2) Mapan © Copyright 2020Mapan © Copyright 2020 Anatomy of Distributed Tracing Images Source : “Mastering Distributed Tracing - Yuri Shkuro”
  • 10. Get To Know With Open Telemetry (Lets Trace Our Code)
  • 11. Distributed Tracing Libraries ● Open Census ( opencensus.io ) ○ Start as Google Census Library to collect metrics and traces ○ Provided set of API and SDK for Distributed Tracing ○ Supported backends include Azure Monitor, Datadog, Instana, Jaeger, New Relic, SignalFX, Google Cloud Monitoring + Trace, and Zipkin. ● Open Tracing ( opentracing.io ) ○ More focus on tracing capabilities, minus metrics ● Open Telemetry ( opentelemetry.io ) ○ OpenCensus and OpenTracing combined together to provided a full set telemetry exporter, collector and analyzer , including metric, traces and logging (incoming) ○ Provided agent collector (planned), serve as endpoint for log, metric, and analyzer. ○ Supported exporters for various trace capture platform like Jaeger, Zipkin, Datadog, LightStep, NewRelic, etc. ○ Last specification version v0.6.0
  • 12. Open Telemetry Architecture (1) Source : https://blog.newrelic.com/product-news/what-is-opentelemetry/
  • 13. Open Telemetry Architecture (2) ● Open Telemetry API is used to instrument our code, and code authors use it to write instrumentation directly into their services or libraries. ● Open Telemetry SDK is an implementation from Open Telemetry API. The SDK implements Tracer, Metrics, and Trace Context. ● Open Telemetry Collector (agent) collect Metrics and Traces , and sending them to the backend of our choices ● A more specific implementation can only use Open Telemetry Exporter, but this exporters are specific to certain backend ( ex : Jaeger Exporter , Prometheus Exporter, Datadog Exporter, NewRelic Exporter)
  • 14. Deploy Go Microservices With Open Telemetry (Show me the (snippet) code)
  • 15. Go With Open Telemetry (0) Server Side : Initiate Jaeger Exporter with Open Telemetry
  • 16. Go With Open Telemetry (1) Server Side : Creating Span
  • 17. Go With Open Telemetry (3) Client Side : Init Jaeger Exporter
  • 18. Go With Open Telemetry (4) Client Side : Span with Trace Propagator
  • 19. Go With Open Telemetry (5) How we in Mapan do it ? Create wrapper library for Open Telemetry, Sentry, etc
  • 20. Go With Open Telemetry (6) Some Result
  • 21. Go With Open Telemetry (7)