SlideShare a Scribd company logo
Wonderful World
of
Apache Kafka
@daveklein
dave@tabular.io linkedin.com/in/daveklein19
dave@tabular.io
twitter.com/daveklein
linkedin.com/in/daveklein19
data-folks.masto.host/@daveklein
Dave Klein
Senior Developer Advocate at Tabular, an open
table store from the creators of Apache Iceberg
Co-author of Kafka in Action
http://tabular.io
What is Apache Kafka?
Kafka
Connect
Service
Kafka
Connect
Streams App
Service
ksqlDB
MongoDB
Kafka
Connect PostgreSQL
Kafka
Connect Elasticsearch
Event Streaming Platform
Noti
fi
cation State
{item:123, price: 29.95,
qty: 2}
{temp:29, unit: F,
time: 1606949836369}
Event
Order Placed
Temperature Read
"key": "a1",
"value": {
"eventType": “added-to-cart",
"title": "Kafka Streams in Action”,
"author": "Bill Bejeck",
"price": 44.99
}
1 2 3 4 5 6 7 8 9 10 11
Topic (log)
1 2 3 4 5 6 7 8 9 10 11
Topic Partitions
1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11
P1
P2
P3
Brokers and Replication
Broker 1 Broker 2 Broker 3
1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11
{100}
{200}
{300}
Topic
{101}
{103}
{201} {400}
{301} {401}
1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11
1 2 3 4 5 6 7 8 9 10 11
a1:
{100}
b1:
{200}
c1:
{300}
Topic
a1:
{101}
a1:
{103}
b1:
{201}
d1:
{400}
c1:
{301}
d1:
{401}
1 2 3 4 5 6 7 8 9 10 11
Producer
1 2 3 4 5 6 7 8 9 10 11
Producer
1 2 3 4 5 6 7 8 9 10 11
Producer
Consumer
1 2 3 4 5 6 7 8 9 10 11
Producer
Consumer
1 2 3 4 5 6 7 8 9 10 11
Producer
Consumer
1 2 3 4 5 6 7 8 9 10 11
Producer
Consumer
Committed Offset: 3
Consumer
1 2 3 4 5 6 7 8 9 10 11
Producer
Committed Offset: 3
Consumer
1 2 3 4 5 6 7 8 9 10 11
Producer
Committed Offset: 3
1 2 3 4 5 6 7 8 9 10 11
Producer
Consumer
Committed Offset: 3
Producer<String, String> producer = new KafkaProducer<String, String>(props);
String key = "acme";
String value = "some info about acme, probably in JSON”;
ProducerRecord record = new ProducerRecord<String, String>(topic, key, value);
producer.send(record, new Callback(){
@Override
public void onCompletion(RecordMetadata m, Exception e) {
if (e != null) {
e.printStackTrace();
} else {
System.out.printf("Produced record to topic %s partition [%d]",
m.topic(), m.partition());
}
}
});
Sample Kafka Producer
Consumer<String, String> consumer = new KafkaConsumer<String, String>(props);
consumer.subscribe(Arrays.asList(topic));
try {
while (true) {
ConsumerRecords<String, String> records = consumer.poll(100);
for (ConsumerRecord<String, String> record : records) {
String key = record.key();
String value = record.value();
System.out.printf("Consumed record - key: %s and value: %s", key, value);
}
}
} finally {
consumer.close();
}
Sample Kafka Consumer
Consumer Group A
AppInstance01
AppInstance02
AppInstance01
AppInstance02
Consumer Group A
AppInstance03
AppInstance04
Consumer Group A
AppInstance01
AppInstance02
Consumer Group B
OtherApp01
OthereApp02
Kafka Connect
Producer
JDBC
Kafka Connect
Consumer
JDBC
con
fl
uent.io/hub
Producer
Consumer
stream(input topic)
.
fi
lter()
.map()
.
fl
atMap()
.branch()
.reduce()
.groupByKey()
.peek()
.to(output topic)
Kafka Streams
Input Topic
Output Topic
public Topology buildTopology(Properties envProps) {
final StreamsBuilder builder = new StreamsBuilder();
final String movieTopic = envProps.getProperty("movie.topic.name");
final String rekeyedMovieTopic = envProps.getProperty("rekeyed.movie.topic.name");
final String ratingTopic = envProps.getProperty("rating.topic.name");
final String ratedMoviesTopic = envProps.getProperty("rated.movies.topic.name");
final MovieRatingJoiner joiner = new MovieRatingJoiner();
KStream<String, Movie> movieStream = builder.<String, Movie>stream(movieTopic)
.map((key, movie) -> new KeyValue<>(String.valueOf(movie.getId()), movie));
movieStream.to(rekeyedMovieTopic);
KTable<String, Movie> movies = builder.table(rekeyedMovieTopic);
KStream<String, Rating> ratings = builder.<String, Rating>stream(ratingTopic)
.map((key, rating) -> new KeyValue<>(String.valueOf(rating.getId()), rating));
KStream<String, RatedMovie> ratedMovie = ratings.join(movies, joiner);
ratedMovie.to(ratedMoviesTopic, Produced.with(Serdes.String(), ratedMovieAvroSerde(envProps)));
return builder.build();
}
1 2 3 4 5 6 7 8 9 10 11
a1:
{100}
Stream
Table
a1 {100}
1 2 3 4 5 6 7 8 9 10 11
a1:
{100}
b1:
{200}
Stream
Table
a1
b1
{100}
{200}
1 2 3 4 5 6 7 8 9 10 11
a1:
{100}
b1:
{200}
c1:
{300}
Stream
Table
a1
b1
c1
{100}
{200}
{300}
1 2 3 4 5 6 7 8 9 10 11
a1:
{100}
b1:
{200}
c1:
{300}
Stream
a1:
{101}
Table
a1
b1
c1
{101}
{200}
{300}
1 2 3 4 5 6 7 8 9 10 11
a1:
{100}
b1:
{200}
c1:
{300}
Stream
a1:
{101}
b1:
{201}
Table
a1
b1
c1
{101}
{201}
{300}
1 2 3 4 5 6 7 8 9 10 11
a1:
{100}
b1:
{200}
c1:
{300}
Stream
a1:
{101}
b1:
{201}
c1:
{301}
Table
a1
b1
c1
{101}
{201}
{301}
1 2 3 4 5 6 7 8 9 10 11
a1:
{100}
b1:
{200}
c1:
{300}
Stream
a1:
{101}
a1:
{103}
b1:
{201}
c1:
{301}
Table
a1
b1
c1
{103}
{201}
{301}
1 2 3 4 5 6 7 8 9 10 11
a1:
{100}
b1:
{200}
c1:
{300}
Stream
a1:
{101}
a1:
{103}
b1:
{201}
d1:
{400}
c1:
{301}
Table
a1
b1
c1
d1
{103}
{201}
{301}
{400}
https:/
/www.con
fl
uent.io/blog/kafka-streams-tables-part-1-event-streaming
The Broader Kafka Ecosystem
Schema Registry
Producer
Consumer
1 2 3 4 5 6 7 8 9 10
docs.aiven.io/docs/products/kafka/karapace
docs.aws.amazon.com/glue/latest/dg/schema-registry.html
docs.con
fl
uent.io/platform/current/schema-registry
curl -X POST -H "Content-Type: application/vnd.kafka.json.v2+json" 
-H "Accept: application/vnd.kafka.v2+json" 
--data '{"records":[{"value":{"foo":"bar"}}]}' 
"http://localhost:8082/topics/jsontest"
Con
fl
uent REST API
docs.aiven.io/docs/products/kafka/karapace
docs.conduktor.io/platform/con
fi
guration/api-overview
docs.con
fl
uent.io/platform/current/kafka-rest/api.html
Command Line Tools
Kafka Shell Scripts
- Start and stop brokers
- Create / manage topics
- Produce / consume events
Con
fl
uent CLI - https:/
/docs.con
fl
uent.io/con
fl
uent-cli/current/overview.html
- Start / stop services in Con
fl
uent Platform / Cloud
- Manage access control and secrets
kcat (formerly Kafkacat) - https:/
/github.com/edenhill/kcat
- Produce / consume events in style
kcctl (Casey Cuddle) - https:/
/github.com/kcctl/kcctl
- Command-line client for Kafka Connect
Learning Resources
Kafka
Connect
Service Streams App
Service
ksqlDB
Kafka
Connect MongoDB
Kafka
Connect PostgreSQL
Kafka
Connect Elasticsearch
Event Streaming Platform
https:/
/cn
fl
.io/meetup-hub
https:/
/cn
fl
.io/book-bundle
https:/
/cn
fl
.io/community
twitter.com/daveklein
dave@tabular.io
https:/
/aiven.io/developer/kafka
https:/
/www.conduktor.io/kafka
https:/
/developer.con
fl
uent.io
data-folks.masto.host/@daveklein
twitter.com/daveklein
dave@tabular.io
linkedin.com/in/daveklein19
Thank you

More Related Content

Similar to The Wonderful World of Apache Kafka

Performance Analysis and Optimizations for Kafka Streams Applications (Guozha...
Performance Analysis and Optimizations for Kafka Streams Applications (Guozha...Performance Analysis and Optimizations for Kafka Streams Applications (Guozha...
Performance Analysis and Optimizations for Kafka Streams Applications (Guozha...
confluent
 
Robust Operations of Kafka Streams
Robust Operations of Kafka StreamsRobust Operations of Kafka Streams
Robust Operations of Kafka Streams
confluent
 

Similar to The Wonderful World of Apache Kafka (20)

Building an Interactive Query Service in Kafka Streams With Bill Bejeck | Cur...
Building an Interactive Query Service in Kafka Streams With Bill Bejeck | Cur...Building an Interactive Query Service in Kafka Streams With Bill Bejeck | Cur...
Building an Interactive Query Service in Kafka Streams With Bill Bejeck | Cur...
 
Windowing in Kafka Streams and Flink SQL
Windowing in Kafka Streams and Flink SQLWindowing in Kafka Streams and Flink SQL
Windowing in Kafka Streams and Flink SQL
 
KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!
 
Performance Analysis and Optimizations for Kafka Streams Applications (Guozha...
Performance Analysis and Optimizations for Kafka Streams Applications (Guozha...Performance Analysis and Optimizations for Kafka Streams Applications (Guozha...
Performance Analysis and Optimizations for Kafka Streams Applications (Guozha...
 
Performance Analysis and Optimizations for Kafka Streams Applications
Performance Analysis and Optimizations for Kafka Streams ApplicationsPerformance Analysis and Optimizations for Kafka Streams Applications
Performance Analysis and Optimizations for Kafka Streams Applications
 
KSQL – An Open Source Streaming Engine for Apache Kafka
KSQL – An Open Source Streaming Engine for Apache KafkaKSQL – An Open Source Streaming Engine for Apache Kafka
KSQL – An Open Source Streaming Engine for Apache Kafka
 
Apache Kafka, and the Rise of Stream Processing
Apache Kafka, and the Rise of Stream ProcessingApache Kafka, and the Rise of Stream Processing
Apache Kafka, and the Rise of Stream Processing
 
Kick Your Database to the Curb
Kick Your Database to the CurbKick Your Database to the Curb
Kick Your Database to the Curb
 
Programming with Python and PostgreSQL
Programming with Python and PostgreSQLProgramming with Python and PostgreSQL
Programming with Python and PostgreSQL
 
MongoDB World 2019: Life In Stitch-es
MongoDB World 2019: Life In Stitch-esMongoDB World 2019: Life In Stitch-es
MongoDB World 2019: Life In Stitch-es
 
Testing Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnitTesting Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnit
 
CQL: SQL In Cassandra
CQL: SQL In CassandraCQL: SQL In Cassandra
CQL: SQL In Cassandra
 
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueRestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message Queue
 
Query Your Streaming Data on Kafka using SQL: Why, How, and What
Query Your Streaming Data on Kafka using SQL: Why, How, and WhatQuery Your Streaming Data on Kafka using SQL: Why, How, and What
Query Your Streaming Data on Kafka using SQL: Why, How, and What
 
Liquid Stream Processing Across Web Browsers and Web Servers
Liquid Stream Processing Across Web Browsers and Web ServersLiquid Stream Processing Across Web Browsers and Web Servers
Liquid Stream Processing Across Web Browsers and Web Servers
 
Kafka Summit NYC 2017 - The Best Thing Since Partitioned Bread
Kafka Summit NYC 2017 - The Best Thing Since Partitioned Bread Kafka Summit NYC 2017 - The Best Thing Since Partitioned Bread
Kafka Summit NYC 2017 - The Best Thing Since Partitioned Bread
 
Stream Processing made simple with Kafka
Stream Processing made simple with KafkaStream Processing made simple with Kafka
Stream Processing made simple with Kafka
 
Spark Barcelona Meetup: Migrating Batch Jobs into Structured Streaming
Spark Barcelona Meetup: Migrating Batch Jobs into Structured StreamingSpark Barcelona Meetup: Migrating Batch Jobs into Structured Streaming
Spark Barcelona Meetup: Migrating Batch Jobs into Structured Streaming
 
Robust Operations of Kafka Streams
Robust Operations of Kafka StreamsRobust Operations of Kafka Streams
Robust Operations of Kafka Streams
 
Real-Time Stream Processing with KSQL and Apache Kafka
Real-Time Stream Processing with KSQL and Apache KafkaReal-Time Stream Processing with KSQL and Apache Kafka
Real-Time Stream Processing with KSQL and Apache Kafka
 

More from HostedbyConfluent

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
HostedbyConfluent
 
Evolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolEvolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at Trendyol
HostedbyConfluent
 

More from HostedbyConfluent (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Renaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonRenaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit London
 
Evolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolEvolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at Trendyol
 
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesEnsuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
 
Exactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaExactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and Kafka
 
Fish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonFish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit London
 
Tiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonTiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit London
 
Building a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyBuilding a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And Why
 
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
 
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
 
Navigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersNavigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka Clusters
 
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformApache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
 
Explaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubExplaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy Pub
 
TL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonTL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit London
 
A Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLA Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSL
 
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceMastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
 
Data Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondData Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and Beyond
 
Code-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsCode-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink Apps
 
Debezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemDebezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC Ecosystem
 
Beyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksBeyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local Disks
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 

The Wonderful World of Apache Kafka