getting superman x-ray vision: bringing observability to ... · bringing observability to your...

20
Getting Superman X-Ray Vision: Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate

Upload: others

Post on 20-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Getting Superman X-Ray Vision:

Bringing Observability to your

Stream Processing

Ricardo Ferreira, Developer Advocate

Page 2: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

About Me:● Hi, my name is Ricardo Ferreira

● Developer Advocate @ Confluent

● Ex-Oracle, Red Hat, IONA Tech

● Currently ~70% Dev, ~30% Ops

● https://riferrei.net

@riferrei

Page 3: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Stream

Processing

Observability

Challenges

Best Practices

for Kafka

● Part 1: ● Part 2:

Agenda

● Part 3:

Page 4: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Stream

Processing

Observability

Challenges

Best Practices

for Kafka

● Part 1: ● Part 2:

Agenda

● Part 3:

Page 5: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Let’s Tweet the Song!1. Access your Twitter account.

2. Use #dotcnz in your tweet for

correct tracking of your guess.

3. The song name must be within

brackets as shown below.

Page 6: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Apache Kafka and Stream Processing

O'Reilly Books

Page 7: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Application details:● AWS and Terraform

● Confluent Cloud Cluster

● Spring Boot Application

● Apache Kafka Connect

● Kafka Streams / KSQL

● Redis Cache

● AWS Lambda

● Amazon Alexa

Page 8: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Application details:● AWS and Terraform

● Confluent Cloud Cluster

● Spring Boot Application

● Apache Kafka Connect

● Kafka Streams / KSQL

● Redis Cache

● AWS Lambda

● Amazon Alexa

You can find the source-code of this

application here:

Page 9: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Stream

Processing

Observability

Challenges

Best Practices

for Kafka

● Part 1: ● Part 2:

Agenda

● Part 3:

Page 10: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Why Observability is Important for Modern Software Architectures?

Because it allows us to focus on

solving problems instead of finding

where the problem is…

Page 11: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

OpenTracing has the elements to implement tracing transparently

● Multiple programming languages

● Support for multiple tracers

● Large community supporting it

Page 12: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Does it Works with Software Built using Microservices?

Of course!

A B

Page 13: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

So… What are the Problems?

● Collaboration between teams

● Microservices and Serverless

● Binary Protocols with no Headers

● Pub/Sub based Architectures

● Source-Code Unavailability

Page 14: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

So… What are the Problems?

● Collaboration between teams

● Microservices and Serverless

● Binary Protocols with no Headers

● Pub/Sub based Architectures

● Source-Code Unavailability

Stream

Processing

Arena

Page 15: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Stream

Processing

Observability

Challenges

Best Practices

for Kafka

● Part 1: ● Part 2:

Agenda

● Part 3:

Page 16: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Headers Support on Kafka 0.11.X

● Span context can be set there

● All headers are persistent

● Headers are agnostic of schema

Page 17: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

OpenTracing Contributions

● Apache Kafka Instrumentation

● Provides support for:

○ Decorators

○ Interceptors

○ Spring Framework

○ Kafka Streams

You can find the source-code of this

application here:

Page 18: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

Tracing Support for Closed JVMs

● Jaeger Tracing support for REST

Proxy, Connect and KSQL

● Based on the interceptors model

● Instantiate its own tracers based

on JSON configuration file set as

a environment variable

You can find the source-code of this

application here:

Page 19: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application

19

Please Stay in Touch:

@riferrei

riferrei

riferrei

[email protected]

https://riferrei.net

https://cnfl.io/slack

Page 20: Getting Superman X-Ray Vision: Bringing Observability to ... · Bringing Observability to your Stream Processing Ricardo Ferreira, Developer Advocate. About Me: ... Spring Boot Application