SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Why we 💗 Kafka @ Bosch PT
Ralph Debusmann &
IoT Solution Architect
Robert Bosch Power Tools
Lars Dülfer
Distinguished Software Engineer
Novatec
1
WHY WE LOVE
KAFKA @ BOSCH
PT – PART 1
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Agenda
1. RefinemySite – The Digitization of Lean Construction
2. How we use Apache Kafka and the Confluent Platform (on Confluent Cloud Enterprise)
3. Use Cases driven by (Immutable) Event Logs in Apache Kafka
4. Learnings / Pitfalls
3
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Digital Construction Site Ecosystem
„RefinemySite“
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
5
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Welcome to the world of Lean Construction
RefinemySite is inspired by the Last Planner ® System
6
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Many challenges – one solution
Last Planner with RefinemySite
7
Communication &
Documentation
Continuous
Improvement
Collaborative
Planning
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
by continously combining infos from planning and production
RefinemySite supports the continues improvement process
8
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
RefinemySite development fundamentals:
9
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
RefinemySite development fundamentals:
10
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
RefinemySite development fundamentals:
11
HOW WE USE
APACHE KAFKA
AND
THE CONFLUENT
PLATFORM
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Components / Usages
How we use Kafka
 Confluent Cloud Enterprise (Broker, Schema Registry, ACL‘s)
 Spring Boot with Spring Kafka (Consumer and Producer API)
 Topics with infinite retention -> (Immutable) Event Logs
 Topics with time-based retention
 Multiple Schemas per Topic
 Log compaction will be used shortly for some topics
 Write-Through Approach (Current State in Data Store + Events in Kafka)
13
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
14
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
15
Core (Producer) Service
Custom Kafka Connector
Downstream (Consuming) Services
- some are producing events again ...
USE CASES DRIVEN BY
THE CONCEPT OF
(IMMUTABLE) EVENT
LOGS IN APACHE KAFKA
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Activity Streams
RefineMySite Use Cases Driven by Kafka
 The Activity Stream is just a human readable view on the
project event stream
 A dedicated service transforms the events into a human readable
format and provides a REST API for the activities
 Activites are stored in Azure Cosmos DB with sharded collections
17
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Statistics
RefineMySite Use Cases Driven by Kafka
 Statistics are calculated based on the stream
of project events
 Easy to develop new statistics / KPI‘s by re-reading
the event stream and creating new views
18
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Notifications & News
RefineMySite Use Cases Driven by Kafka
 Notification Service subscribes to events,
determines the recipients for each event
(fan-out) and creates notifications based
on the event
 Updates about the „last seen“ status are sent
to the clients via Server Sent Events
19
Deliver all relevant information for the
right people at the right time.
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Live Updates
RefineMySite Use Cases Driven by Kafka
 Live Updates allow clients to react on
server events and update their state
 This enhances the collaborative user experience
 Clients receive events using Server Sent Events
 A service subscribes to all project events and
determines to which online client an event has
to be sent
User A
User B
20
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Business Activity Monitoring
RefineMySite Use Cases Driven by Kafka
21
LEARNINGS AND
PITFALLS
(AT LEAST A FEW OF
THOSE ... )
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Event design decides about applicability of certain features
Learnings and Pitfalls
Snapshots (event-based state transfer / asynch state transfer)
... ...Project
Created
Identifier: ...
Name: ...
Participant
Added
Project: ...
Employee: ...
Role: ...
Task Created
Identifier: ...
Project: ...
Name: ...
Start: ...
End: ...
Task Assigned
Identifier: ...
Participant: ...
Task
Started
Identifier:
Task
Postponed
Start: ...
... ...Project
Created
Identifier: ...
Name: ...
Participant
Created
Project: ...
Employee: ...
Role: ...
Task Created
Identifier: T1
Project: ...
Name: ...
Start: 01.09.
End: ...
Status: Draft
Task Updated
Identifier: T1
Project: ...
Name: ...
Start: ...
End: ...
Assignee: ...
Status: Open
Task Updated
Identifier: T1
Project: ...
Name: ...
Start: ...
End: ...
Assignee: ...
Status:
Started
Task Updated
Identifier: T1
Project: ...
Name: ...
Start: 01.10.
End: ...
Assignee: ...
Status:
Started
„Real Events“ (with Deltas)
23
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
A field is added with a default value – this is backward and
forward compatible
Schema Evolution can be tricky
24
{
"namespace": "example.avro",
"type": "record",
"name": "user",
"fields": [
{"name": "name", "type": "string“},
{"name": "favorite_number", "type": "int"},
{"name": "favorite_color", "type": "string", "default": "green"}
]
}
{
"namespace": "example.avro",
"type": "record",
"name": "user",
"fields": [
{"name": "name", "type": "string“},
{"name": "favorite_number", "type": "int"},
]
}
Version 1
Version 2
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
A consumer with an older schema just ignores the favourite color
Schema Evolution can be tricky
25
Mike, 5 Steve, 13 Peter, 8...
James, 33,
blue
Jon, 19, red ...
Topic
Mike, 5 Steve, 13 Peter, 8... James, 33 Jon, 19 ...
Using version 1 of the schema, the consumer receives:
From this time on,
messages were written with version 2
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Consumers with updated schema use default favorite color
Schema Evolution can be tricky
26
Mike, 5 Steve, 13 Peter, 8...
James, 33,
blue
Jon, 19, red ...
Topic
From this time on,
messages were written with version 2
Using version 2 of the schema, the consumer receives:
Mike, 5,
green
Steve, 13,
green
Peter, 8,
green
...
James, 33,
blue
Jon, 19, red ...
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Depending on the required compatability, only certain schema
changes are allowed
Schema Evolution can be tricky
27
Compatibility Type Changes allowed Check against which schemas Upgrade first
BACKWARD
•Delete fields
•Add optional fields
Last version Consumers
BACKWARD_TRANSITIVE
•Delete fields
•Add optional fields
All previous versions Consumers
FORWARD
•Add fields
•Delete optional fields
Last version Producers
FORWARD_TRANSITIVE
•Add fields
•Delete optional fields
All previous versions Producers
FULL •Modify optional fields Last version Any order
FULL_TRANSITIVE •Modify optional fields All previous versions Any order
NONE •All changes are accepted Compatibility checking disabled Depends
Source: https://docs.confluent.io/current/schema-registry/avro.html
This is required if
you keep events
forever and want
ability to re-read
your event log.
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
What we learned from the „write-through“ approach
Learnings and Pitfalls
28
 You can only guarantee „at-least once“ semantics
 Prepare your consumers for duplicated events (Idempotent Consumers)
 Be carefull how you implement retries in the process that transports events from the DB table to
Apache Kafka
 Using Kafka Transactions (almost) eliminates duplicates
DB of User Service
Table A
Table B
Table C
Table
User
Events
Kafka User Topic
Kafka Connector
(Custom Application)
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Create a decent set of Testing Tools
Learnings and Pitfalls
29
PT/BDO | 2019-11-11
© Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights.
Building idempotent consumers requires a bit of thinking ...
Learnings and Pitfalls
30
 Think about the kind of duplications that can happen in your event stream
 Will there only be duplicates immediately following each other like -> A B C D E E F G H I J K L ... ?
 Will you also have repeating sequences like -> A B C D E F G H I F G H I J K L ... ?
 Spend time and write proper tests for these szenarios
WHY WE LOVE
KAFKA @ BOSCH
PT – PART 2
32
&
Where we are now
Power Tools
33
34
35
36
37
38
39
&
The Future is Databaseless and Serverless
Power Tools
40
41
42
43
44
45
46
47
48
49
50
LOOKING FORWARD
TO SEEING AND
DISCUSSING WITH
YOU AT LUNCH!
THANK YOU!
51

Más contenido relacionado

Similar a Why We Heart Kafka @ Bosch PT (Ralph Debusmann, Bosch and Lars Dülfer, Novatec) Frankfurt 2019 Confluent Streaming Event

@stefferber at Think Monk 2016: What is different in Internet of Things
@stefferber at Think Monk 2016: What is different in Internet of Things@stefferber at Think Monk 2016: What is different in Internet of Things
@stefferber at Think Monk 2016: What is different in Internet of ThingsStefan Ferber
 
Using a Hybrid IoT Event Mesh to Power a Global, Large-Scale IoT Platform
Using a Hybrid IoT Event Mesh to Power a Global, Large-Scale IoT PlatformUsing a Hybrid IoT Event Mesh to Power a Global, Large-Scale IoT Platform
Using a Hybrid IoT Event Mesh to Power a Global, Large-Scale IoT PlatformSolace
 
The adventure of enabling API management in a large enterprise (Josh Wang)
The adventure of enabling API management in a large enterprise (Josh Wang)The adventure of enabling API management in a large enterprise (Josh Wang)
The adventure of enabling API management in a large enterprise (Josh Wang)Nordic APIs
 
Webinar: The Vorto project proposal for Eclipse Internet of Things (IoT)
Webinar: The Vorto project proposal for Eclipse Internet of Things (IoT)Webinar: The Vorto project proposal for Eclipse Internet of Things (IoT)
Webinar: The Vorto project proposal for Eclipse Internet of Things (IoT)Stefan Ferber
 
Bosch: Next Gen Manufacturing and IT
Bosch: Next Gen Manufacturing and ITBosch: Next Gen Manufacturing and IT
Bosch: Next Gen Manufacturing and ITRahul Neel Mani
 
Licensing for cross-platform applications made with Python, PHP, and JavaScript
Licensing for cross-platform applications made with Python, PHP, and JavaScriptLicensing for cross-platform applications made with Python, PHP, and JavaScript
Licensing for cross-platform applications made with Python, PHP, and JavaScriptteam-WIBU
 
OSM Toolchain: Use Cases
OSM Toolchain: Use CasesOSM Toolchain: Use Cases
OSM Toolchain: Use CasesShane Coughlan
 
Dirk Slama Keynote on the Internet of Things
Dirk Slama Keynote on the Internet of ThingsDirk Slama Keynote on the Internet of Things
Dirk Slama Keynote on the Internet of Thingsinside-BigData.com
 
Dr. Denner opening keynote at Bosch Connected World
Dr. Denner opening keynote at Bosch Connected World Dr. Denner opening keynote at Bosch Connected World
Dr. Denner opening keynote at Bosch Connected World James Watters
 
Scott Hibbard MIT STEX Factory Automation Challenges - an industry perspective
Scott Hibbard MIT STEX Factory Automation Challenges - an industry perspectiveScott Hibbard MIT STEX Factory Automation Challenges - an industry perspective
Scott Hibbard MIT STEX Factory Automation Challenges - an industry perspectiveMIT Startup Exchange
 
Industy 4.0 and digitalization
Industy 4.0 and digitalizationIndusty 4.0 and digitalization
Industy 4.0 and digitalizationAMETIC
 
How the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
How the Bosch Group is making use of OSGi for IoT - Kai HackbarthHow the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
How the Bosch Group is making use of OSGi for IoT - Kai Hackbarthmfrancis
 
Open Source as a Business Opportunity
Open Source as a Business OpportunityOpen Source as a Business Opportunity
Open Source as a Business OpportunityAPPSTACLE Project
 
De Bosch reis naar een social business Joachim Heinz
De Bosch reis naar een social business Joachim HeinzDe Bosch reis naar een social business Joachim Heinz
De Bosch reis naar een social business Joachim HeinzPlatformE2E
 
Eliv 2015 bosch-hammel-presentation_v3.4
Eliv 2015 bosch-hammel-presentation_v3.4Eliv 2015 bosch-hammel-presentation_v3.4
Eliv 2015 bosch-hammel-presentation_v3.4Christof Hammel
 
Juergen Lumera (Bosch): The Future of the Workshop Mechanic - A Connected Wor...
Juergen Lumera (Bosch): The Future of the Workshop Mechanic - A Connected Wor...Juergen Lumera (Bosch): The Future of the Workshop Mechanic - A Connected Wor...
Juergen Lumera (Bosch): The Future of the Workshop Mechanic - A Connected Wor...AugmentedWorldExpo
 
Bosch Connect: Under the Hood
Bosch Connect: Under the HoodBosch Connect: Under the Hood
Bosch Connect: Under the HoodLetsConnect
 
Daniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM ConnectionsDaniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM ConnectionsLetsConnect
 
Business Ecosystems in the Factory of the Future
Business Ecosystems in the Factory of the FutureBusiness Ecosystems in the Factory of the Future
Business Ecosystems in the Factory of the FutureStefan Ferber
 
Cloud Foundry for Data Science
Cloud Foundry for Data ScienceCloud Foundry for Data Science
Cloud Foundry for Data ScienceIan Huston
 

Similar a Why We Heart Kafka @ Bosch PT (Ralph Debusmann, Bosch and Lars Dülfer, Novatec) Frankfurt 2019 Confluent Streaming Event (20)

@stefferber at Think Monk 2016: What is different in Internet of Things
@stefferber at Think Monk 2016: What is different in Internet of Things@stefferber at Think Monk 2016: What is different in Internet of Things
@stefferber at Think Monk 2016: What is different in Internet of Things
 
Using a Hybrid IoT Event Mesh to Power a Global, Large-Scale IoT Platform
Using a Hybrid IoT Event Mesh to Power a Global, Large-Scale IoT PlatformUsing a Hybrid IoT Event Mesh to Power a Global, Large-Scale IoT Platform
Using a Hybrid IoT Event Mesh to Power a Global, Large-Scale IoT Platform
 
The adventure of enabling API management in a large enterprise (Josh Wang)
The adventure of enabling API management in a large enterprise (Josh Wang)The adventure of enabling API management in a large enterprise (Josh Wang)
The adventure of enabling API management in a large enterprise (Josh Wang)
 
Webinar: The Vorto project proposal for Eclipse Internet of Things (IoT)
Webinar: The Vorto project proposal for Eclipse Internet of Things (IoT)Webinar: The Vorto project proposal for Eclipse Internet of Things (IoT)
Webinar: The Vorto project proposal for Eclipse Internet of Things (IoT)
 
Bosch: Next Gen Manufacturing and IT
Bosch: Next Gen Manufacturing and ITBosch: Next Gen Manufacturing and IT
Bosch: Next Gen Manufacturing and IT
 
Licensing for cross-platform applications made with Python, PHP, and JavaScript
Licensing for cross-platform applications made with Python, PHP, and JavaScriptLicensing for cross-platform applications made with Python, PHP, and JavaScript
Licensing for cross-platform applications made with Python, PHP, and JavaScript
 
OSM Toolchain: Use Cases
OSM Toolchain: Use CasesOSM Toolchain: Use Cases
OSM Toolchain: Use Cases
 
Dirk Slama Keynote on the Internet of Things
Dirk Slama Keynote on the Internet of ThingsDirk Slama Keynote on the Internet of Things
Dirk Slama Keynote on the Internet of Things
 
Dr. Denner opening keynote at Bosch Connected World
Dr. Denner opening keynote at Bosch Connected World Dr. Denner opening keynote at Bosch Connected World
Dr. Denner opening keynote at Bosch Connected World
 
Scott Hibbard MIT STEX Factory Automation Challenges - an industry perspective
Scott Hibbard MIT STEX Factory Automation Challenges - an industry perspectiveScott Hibbard MIT STEX Factory Automation Challenges - an industry perspective
Scott Hibbard MIT STEX Factory Automation Challenges - an industry perspective
 
Industy 4.0 and digitalization
Industy 4.0 and digitalizationIndusty 4.0 and digitalization
Industy 4.0 and digitalization
 
How the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
How the Bosch Group is making use of OSGi for IoT - Kai HackbarthHow the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
How the Bosch Group is making use of OSGi for IoT - Kai Hackbarth
 
Open Source as a Business Opportunity
Open Source as a Business OpportunityOpen Source as a Business Opportunity
Open Source as a Business Opportunity
 
De Bosch reis naar een social business Joachim Heinz
De Bosch reis naar een social business Joachim HeinzDe Bosch reis naar een social business Joachim Heinz
De Bosch reis naar een social business Joachim Heinz
 
Eliv 2015 bosch-hammel-presentation_v3.4
Eliv 2015 bosch-hammel-presentation_v3.4Eliv 2015 bosch-hammel-presentation_v3.4
Eliv 2015 bosch-hammel-presentation_v3.4
 
Juergen Lumera (Bosch): The Future of the Workshop Mechanic - A Connected Wor...
Juergen Lumera (Bosch): The Future of the Workshop Mechanic - A Connected Wor...Juergen Lumera (Bosch): The Future of the Workshop Mechanic - A Connected Wor...
Juergen Lumera (Bosch): The Future of the Workshop Mechanic - A Connected Wor...
 
Bosch Connect: Under the Hood
Bosch Connect: Under the HoodBosch Connect: Under the Hood
Bosch Connect: Under the Hood
 
Daniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM ConnectionsDaniel Glueck - How Bosch develops for IBM Connections
Daniel Glueck - How Bosch develops for IBM Connections
 
Business Ecosystems in the Factory of the Future
Business Ecosystems in the Factory of the FutureBusiness Ecosystems in the Factory of the Future
Business Ecosystems in the Factory of the Future
 
Cloud Foundry for Data Science
Cloud Foundry for Data ScienceCloud Foundry for Data Science
Cloud Foundry for Data Science
 

Más de confluent

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flinkconfluent
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluentconfluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkconfluent
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloudconfluent
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Diveconfluent
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluentconfluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Meshconfluent
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservicesconfluent
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3confluent
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernizationconfluent
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataconfluent
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2confluent
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023confluent
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesisconfluent
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023confluent
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streamsconfluent
 

Más de confluent (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernization
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time data
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streams
 

Último

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Último (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Why We Heart Kafka @ Bosch PT (Ralph Debusmann, Bosch and Lars Dülfer, Novatec) Frankfurt 2019 Confluent Streaming Event

  • 1. Why we 💗 Kafka @ Bosch PT Ralph Debusmann & IoT Solution Architect Robert Bosch Power Tools Lars Dülfer Distinguished Software Engineer Novatec 1
  • 2. WHY WE LOVE KAFKA @ BOSCH PT – PART 1
  • 3. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Agenda 1. RefinemySite – The Digitization of Lean Construction 2. How we use Apache Kafka and the Confluent Platform (on Confluent Cloud Enterprise) 3. Use Cases driven by (Immutable) Event Logs in Apache Kafka 4. Learnings / Pitfalls 3
  • 4. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Digital Construction Site Ecosystem „RefinemySite“
  • 5. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. 5
  • 6. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Welcome to the world of Lean Construction RefinemySite is inspired by the Last Planner ® System 6
  • 7. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Many challenges – one solution Last Planner with RefinemySite 7 Communication & Documentation Continuous Improvement Collaborative Planning
  • 8. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. by continously combining infos from planning and production RefinemySite supports the continues improvement process 8
  • 9. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. RefinemySite development fundamentals: 9
  • 10. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. RefinemySite development fundamentals: 10
  • 11. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. RefinemySite development fundamentals: 11
  • 12. HOW WE USE APACHE KAFKA AND THE CONFLUENT PLATFORM
  • 13. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Components / Usages How we use Kafka  Confluent Cloud Enterprise (Broker, Schema Registry, ACL‘s)  Spring Boot with Spring Kafka (Consumer and Producer API)  Topics with infinite retention -> (Immutable) Event Logs  Topics with time-based retention  Multiple Schemas per Topic  Log compaction will be used shortly for some topics  Write-Through Approach (Current State in Data Store + Events in Kafka) 13
  • 14. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. 14
  • 15. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. 15 Core (Producer) Service Custom Kafka Connector Downstream (Consuming) Services - some are producing events again ...
  • 16. USE CASES DRIVEN BY THE CONCEPT OF (IMMUTABLE) EVENT LOGS IN APACHE KAFKA
  • 17. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Activity Streams RefineMySite Use Cases Driven by Kafka  The Activity Stream is just a human readable view on the project event stream  A dedicated service transforms the events into a human readable format and provides a REST API for the activities  Activites are stored in Azure Cosmos DB with sharded collections 17
  • 18. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Statistics RefineMySite Use Cases Driven by Kafka  Statistics are calculated based on the stream of project events  Easy to develop new statistics / KPI‘s by re-reading the event stream and creating new views 18
  • 19. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Notifications & News RefineMySite Use Cases Driven by Kafka  Notification Service subscribes to events, determines the recipients for each event (fan-out) and creates notifications based on the event  Updates about the „last seen“ status are sent to the clients via Server Sent Events 19 Deliver all relevant information for the right people at the right time.
  • 20. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Live Updates RefineMySite Use Cases Driven by Kafka  Live Updates allow clients to react on server events and update their state  This enhances the collaborative user experience  Clients receive events using Server Sent Events  A service subscribes to all project events and determines to which online client an event has to be sent User A User B 20
  • 21. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Business Activity Monitoring RefineMySite Use Cases Driven by Kafka 21
  • 22. LEARNINGS AND PITFALLS (AT LEAST A FEW OF THOSE ... )
  • 23. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Event design decides about applicability of certain features Learnings and Pitfalls Snapshots (event-based state transfer / asynch state transfer) ... ...Project Created Identifier: ... Name: ... Participant Added Project: ... Employee: ... Role: ... Task Created Identifier: ... Project: ... Name: ... Start: ... End: ... Task Assigned Identifier: ... Participant: ... Task Started Identifier: Task Postponed Start: ... ... ...Project Created Identifier: ... Name: ... Participant Created Project: ... Employee: ... Role: ... Task Created Identifier: T1 Project: ... Name: ... Start: 01.09. End: ... Status: Draft Task Updated Identifier: T1 Project: ... Name: ... Start: ... End: ... Assignee: ... Status: Open Task Updated Identifier: T1 Project: ... Name: ... Start: ... End: ... Assignee: ... Status: Started Task Updated Identifier: T1 Project: ... Name: ... Start: 01.10. End: ... Assignee: ... Status: Started „Real Events“ (with Deltas) 23
  • 24. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. A field is added with a default value – this is backward and forward compatible Schema Evolution can be tricky 24 { "namespace": "example.avro", "type": "record", "name": "user", "fields": [ {"name": "name", "type": "string“}, {"name": "favorite_number", "type": "int"}, {"name": "favorite_color", "type": "string", "default": "green"} ] } { "namespace": "example.avro", "type": "record", "name": "user", "fields": [ {"name": "name", "type": "string“}, {"name": "favorite_number", "type": "int"}, ] } Version 1 Version 2
  • 25. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. A consumer with an older schema just ignores the favourite color Schema Evolution can be tricky 25 Mike, 5 Steve, 13 Peter, 8... James, 33, blue Jon, 19, red ... Topic Mike, 5 Steve, 13 Peter, 8... James, 33 Jon, 19 ... Using version 1 of the schema, the consumer receives: From this time on, messages were written with version 2
  • 26. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Consumers with updated schema use default favorite color Schema Evolution can be tricky 26 Mike, 5 Steve, 13 Peter, 8... James, 33, blue Jon, 19, red ... Topic From this time on, messages were written with version 2 Using version 2 of the schema, the consumer receives: Mike, 5, green Steve, 13, green Peter, 8, green ... James, 33, blue Jon, 19, red ...
  • 27. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Depending on the required compatability, only certain schema changes are allowed Schema Evolution can be tricky 27 Compatibility Type Changes allowed Check against which schemas Upgrade first BACKWARD •Delete fields •Add optional fields Last version Consumers BACKWARD_TRANSITIVE •Delete fields •Add optional fields All previous versions Consumers FORWARD •Add fields •Delete optional fields Last version Producers FORWARD_TRANSITIVE •Add fields •Delete optional fields All previous versions Producers FULL •Modify optional fields Last version Any order FULL_TRANSITIVE •Modify optional fields All previous versions Any order NONE •All changes are accepted Compatibility checking disabled Depends Source: https://docs.confluent.io/current/schema-registry/avro.html This is required if you keep events forever and want ability to re-read your event log.
  • 28. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. What we learned from the „write-through“ approach Learnings and Pitfalls 28  You can only guarantee „at-least once“ semantics  Prepare your consumers for duplicated events (Idempotent Consumers)  Be carefull how you implement retries in the process that transports events from the DB table to Apache Kafka  Using Kafka Transactions (almost) eliminates duplicates DB of User Service Table A Table B Table C Table User Events Kafka User Topic Kafka Connector (Custom Application)
  • 29. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Create a decent set of Testing Tools Learnings and Pitfalls 29
  • 30. PT/BDO | 2019-11-11 © Robert Bosch Power Tools GmbH 2019. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Building idempotent consumers requires a bit of thinking ... Learnings and Pitfalls 30  Think about the kind of duplications that can happen in your event stream  Will there only be duplicates immediately following each other like -> A B C D E E F G H I J K L ... ?  Will you also have repeating sequences like -> A B C D E F G H I F G H I J K L ... ?  Spend time and write proper tests for these szenarios
  • 31. WHY WE LOVE KAFKA @ BOSCH PT – PART 2
  • 32. 32 & Where we are now Power Tools
  • 33. 33
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. 38
  • 39. 39 & The Future is Databaseless and Serverless Power Tools
  • 40. 40
  • 41. 41
  • 42. 42
  • 43. 43
  • 44. 44
  • 45. 45
  • 46. 46
  • 47. 47
  • 48. 48
  • 49. 49
  • 50. 50
  • 51. LOOKING FORWARD TO SEEING AND DISCUSSING WITH YOU AT LUNCH! THANK YOU! 51