SlideShare a Scribd company logo
1 of 25
Download to read offline
for
Real-Time Customer Service
Using Kafka Event Streams
Simon Crosby, CTO
swim.ai
simon@swim.ai
1
Swim is an Apache 2.0 licensed platform that makes it
easy to build applications that deliver continuous
intelligence from streaming events, at massive scale
swimos.org
Swim
• Auto-build & scale apps
directly from streaming data
• Apps are a million times faster
• They need 90% less infra
“A bit of Dev and no Ops”
Swim is a Stateful, Real-time Stream Processor
• Builds and scales apps directly from event data, creating a graph of stateful,
concurrent actors that continuously compute – driven by data
• Automates distributed application infrastructure operation
• Load balances, secures, persists and auto-scales applications
➢ Infrastructure: Distributed, p2p mesh of
instances on k8s using WebSockets
Fabric
➢ App: Distributed, stateful, graph of concurrent
actors, streaming APIs & real-time browser UIs
A Customer Service Challenge
“The network is fine. Reboot your phone?”
Event Streaming → Continuous Intelligence
A Real-Time Customer Service Challenge
“WTF”?
“That’s impossible…”
“Customer-centric, not service centric”
Challenges
Huge broker clusters (>100 nodes)
Even bigger app clusters (>400 nodes)
Slow (~10 hours)
Vast amounts of data (5 PB/day)
Using SwimOS
Use 90% less infrastructure (40 nodes vs 400)
Apps are easy & auto-scale with no Ops
Do data science on live data
Answers a million times faster (10ms vs 10h)
Mesh of SwimOS
Instances
Fabric
SwimOS
Actors that
continuously
compute & stream
Events Insights
Distributed Actor
Runtime
Coherent Fabric
Continuous Analysis,
Learning & Prediction
Application
Pipeline
12
How Swim Works
Build a simple Java app & deploy
instances using Kubernetes
... continuously streaming insights to
web UIs, storage, applications
Swim uses streaming data to build a
graph of stateful, concurrent Web Agents
– one per data source – all in-memory
Web Agents dynamically link to
related Agents to share state
like smart “digital twins” of things They continuously analyze, learn &
predict from their state and the states
of linked Agents – driven by data
They react in real-time, and stream
their state changes over their links
Swim: for Things
• Swim creates a stateful, concurrent actor - a Web Agent -
for each data source in streaming data - that continuously
analyzes data from its real-world “twin”
• Each Web Agent (dynamically) links to related agents,
creating a fluid in-memory graph that tracks complex
relationships
• Containment, proximity, “neighbor” … “is approaching”
• Computed: “correlated to” … “predicted to be within”
• Linked Agents use each others’ states to continuously
analyze, learn and predict…
• They can instantly react, and stream their state to apps, real-
time UIs, data lakes…
Web Agents Continuously Analyze, Learn & Predict
MapReduce
Grap
h
Analysis
Learn &
Predict
Spark / Flink / Jupyter etc
Relational
Queries
Eg: Unsupervised Learning
Training

Predicted
Observed
Web Agent
(actor)
Developer Model
Web Agents are concurrent, distributed Java actors
– ActorID is a URI – hence Web Agent
– Use WARP on HTTP/2 + CRDTs to ensure coherence in
1/2RTT
• Lanes are object members
– Receive data
– Code and state eg: “average”
• Links are relationships between web agents
– Express relationships
• “Schema” derived eg: contains
• Computed: maps, joins, correlations, membership,
“predicted to be”, geospatial
– Build a (distributed) graph
– A link to a lane lets the linker observe lane state
Data Lanes Links
f(data, old_state) → new_state
code &
state
Streaming
Inputs
(i1, i2,.. in, ) → (o1,…oj, )
St-1 St
Streaming
Outputs
Continuously Current Materialized Views
• A Web Agent can analyze millions of (concurrent)
updates to Agents it is linked to (in DB: column
analysis across rows – eg for analytics)
• Does not immediately trigger recomputation
• A changed input invalidates dependent outputs
• De-bounced to allow bursts of state changes
• Use timers to enforce latency bounds
millions
of links
• An application self-assembles as a DAG - on the fly - from events
• Each vertex is a stateful, concurrent actor – a Web Agent
• They receive a continuous stream of events and stream their
state changes as CRDTs, in-sync with the real-world
• They analyze, learn, and predict as events flow
Swim Applications Are DAGs
MEC Regional Cloud
Eg: Kubernetes
Runtime Infrastructure
Fabric
Distributed Actor
Runtime
Coherent Fabric
Continuous Analysis,
Learning & Prediction
Edge Fog Cloud
swim Fabric
Runtime Infrastructure
App
App
Edge Fog Cloud
swim Fabric
Runtime Infrastructure
App
App
Avoid all
of this
Actors that
continuously
compute & stream
Analyze, learn & predict on-the-fly, driven by events
Actors respond instantly – in sync with the real-world
Continuously evaluate complex parametric functions and
causal relationships eg: “near to” or “predicted to be within”
Build apps directly from streaming data by linking streaming
actors into a fluid graph of real-world relationships
Continuous Intelligence for Apache Kafka
A little Dev but no Ops
Do data science on live data
Continuous Intelligence for Apache Kafka
Use 90% less infrastructure
Deliver answers a million times faster…
Continuous Intelligence for Customer Service Using Kafka Event Streams | Simon Crosby, Swim.ai

More Related Content

What's hot

Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
Lightbend
 

What's hot (20)

Government Track Welcome Address
Government Track Welcome AddressGovernment Track Welcome Address
Government Track Welcome Address
 
How a Data Mesh is Driving our Platform | Trey Hicks, Gloo
How a Data Mesh is Driving our Platform | Trey Hicks, GlooHow a Data Mesh is Driving our Platform | Trey Hicks, Gloo
How a Data Mesh is Driving our Platform | Trey Hicks, Gloo
 
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
 
How to Discover, Visualize, Catalog, Share and Reuse your Kafka Streams (Jona...
How to Discover, Visualize, Catalog, Share and Reuse your Kafka Streams (Jona...How to Discover, Visualize, Catalog, Share and Reuse your Kafka Streams (Jona...
How to Discover, Visualize, Catalog, Share and Reuse your Kafka Streams (Jona...
 
Death of the dumb pipes: Using Apache Kafka® for Integration projects
Death of the dumb pipes: Using Apache Kafka® for Integration projectsDeath of the dumb pipes: Using Apache Kafka® for Integration projects
Death of the dumb pipes: Using Apache Kafka® for Integration projects
 
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
Building Streaming And Fast Data Applications With Spark, Mesos, Akka, Cassan...
 
Server Sent Events using Reactive Kafka and Spring Web flux | Gagan Solur Ven...
Server Sent Events using Reactive Kafka and Spring Web flux | Gagan Solur Ven...Server Sent Events using Reactive Kafka and Spring Web flux | Gagan Solur Ven...
Server Sent Events using Reactive Kafka and Spring Web flux | Gagan Solur Ven...
 
Leveraging Data in Motion | Jun Rao, Co-Founder, Confluent | Kafka Summit APA...
Leveraging Data in Motion | Jun Rao, Co-Founder, Confluent | Kafka Summit APA...Leveraging Data in Motion | Jun Rao, Co-Founder, Confluent | Kafka Summit APA...
Leveraging Data in Motion | Jun Rao, Co-Founder, Confluent | Kafka Summit APA...
 
Should we manage events like APIs? | Alan Chatt and Kim Clark, IBM
Should we manage events like APIs? | Alan Chatt and Kim Clark, IBMShould we manage events like APIs? | Alan Chatt and Kim Clark, IBM
Should we manage events like APIs? | Alan Chatt and Kim Clark, IBM
 
TBD Data Governance | David Araujo and Michael Agnich, Confluent
TBD Data Governance | David Araujo and Michael Agnich, Confluent TBD Data Governance | David Araujo and Michael Agnich, Confluent
TBD Data Governance | David Araujo and Michael Agnich, Confluent
 
Fan-out, fan-in & the multiplexer: Replication recipes for global platform di...
Fan-out, fan-in & the multiplexer: Replication recipes for global platform di...Fan-out, fan-in & the multiplexer: Replication recipes for global platform di...
Fan-out, fan-in & the multiplexer: Replication recipes for global platform di...
 
Testing Event Driven Architectures: How to Broker the Complexity | Frank Kilc...
Testing Event Driven Architectures: How to Broker the Complexity | Frank Kilc...Testing Event Driven Architectures: How to Broker the Complexity | Frank Kilc...
Testing Event Driven Architectures: How to Broker the Complexity | Frank Kilc...
 
Events Everywhere: Enabling Digital Transformation in the Public Sector
Events Everywhere: Enabling Digital Transformation in the Public SectorEvents Everywhere: Enabling Digital Transformation in the Public Sector
Events Everywhere: Enabling Digital Transformation in the Public Sector
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
 
Kafka Summit NYC 2017 - The Rise of the Streaming Platform
Kafka Summit NYC 2017 - The Rise of the Streaming PlatformKafka Summit NYC 2017 - The Rise of the Streaming Platform
Kafka Summit NYC 2017 - The Rise of the Streaming Platform
 
Should we manage events like APIs? | Kim Clark, IBM
Should we manage events like APIs? | Kim Clark, IBMShould we manage events like APIs? | Kim Clark, IBM
Should we manage events like APIs? | Kim Clark, IBM
 
user Behavior Analysis with Session Windows and Apache Kafka's Streams API
user Behavior Analysis with Session Windows and Apache Kafka's Streams APIuser Behavior Analysis with Session Windows and Apache Kafka's Streams API
user Behavior Analysis with Session Windows and Apache Kafka's Streams API
 
Transform Your Mainframe and IBM i Data for the Cloud with Precisely and Apac...
Transform Your Mainframe and IBM i Data for the Cloud with Precisely and Apac...Transform Your Mainframe and IBM i Data for the Cloud with Precisely and Apac...
Transform Your Mainframe and IBM i Data for the Cloud with Precisely and Apac...
 
Mesh-ing around with Streams across the Enterprise | Phil Scanlon, Solace
Mesh-ing around with Streams across the Enterprise | Phil Scanlon, SolaceMesh-ing around with Streams across the Enterprise | Phil Scanlon, Solace
Mesh-ing around with Streams across the Enterprise | Phil Scanlon, Solace
 
Real time analytics in Azure IoT
Real time analytics in Azure IoT Real time analytics in Azure IoT
Real time analytics in Azure IoT
 

Similar to Continuous Intelligence for Customer Service Using Kafka Event Streams | Simon Crosby, Swim.ai

Restate: Event-driven Asynchronous Services, Easy as Synchronous RPC
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPCRestate: Event-driven Asynchronous Services, Easy as Synchronous RPC
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPC
HostedbyConfluent
 
Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services: Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services:
Dr. Fahad Aijaz
 
Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer
confluent
 
Architecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudArchitecture for monitoring applications in Cloud
Architecture for monitoring applications in Cloud
Onkar Kadam
 

Similar to Continuous Intelligence for Customer Service Using Kafka Event Streams | Simon Crosby, Swim.ai (20)

Continuous Intelligence - Streaming Apps That Are Always In Sync | Simon Cros...
Continuous Intelligence - Streaming Apps That Are Always In Sync | Simon Cros...Continuous Intelligence - Streaming Apps That Are Always In Sync | Simon Cros...
Continuous Intelligence - Streaming Apps That Are Always In Sync | Simon Cros...
 
Easily Build a Smart Pulsar Stream Processor_Simon Crosby
Easily Build a Smart Pulsar Stream Processor_Simon CrosbyEasily Build a Smart Pulsar Stream Processor_Simon Crosby
Easily Build a Smart Pulsar Stream Processor_Simon Crosby
 
NATS Connect Live | SwimOS & NATS
NATS Connect Live | SwimOS & NATSNATS Connect Live | SwimOS & NATS
NATS Connect Live | SwimOS & NATS
 
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPC
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPCRestate: Event-driven Asynchronous Services, Easy as Synchronous RPC
Restate: Event-driven Asynchronous Services, Easy as Synchronous RPC
 
Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services: Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services:
 
Reactive programming
Reactive programmingReactive programming
Reactive programming
 
Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer Building an Event-oriented Data Platform with Kafka, Eric Sammer
Building an Event-oriented Data Platform with Kafka, Eric Sammer
 
Architecture for monitoring applications in Cloud
Architecture for monitoring applications in CloudArchitecture for monitoring applications in Cloud
Architecture for monitoring applications in Cloud
 
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
[WSO2Con EU 2018] The Rise of Streaming SQL
[WSO2Con EU 2018] The Rise of Streaming SQL[WSO2Con EU 2018] The Rise of Streaming SQL
[WSO2Con EU 2018] The Rise of Streaming SQL
 
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
OSSF 2018 - Brandon Jung of GitLab - Is Your DevOps 'Tool Tax' Weighing You D...
 
R.A.P. (Rely on Android Platform)
R.A.P. (Rely on Android Platform)R.A.P. (Rely on Android Platform)
R.A.P. (Rely on Android Platform)
 
Deterministic JavaScript Applications
Deterministic JavaScript ApplicationsDeterministic JavaScript Applications
Deterministic JavaScript Applications
 
Event Driven Streaming Analytics - Demostration on Architecture of IoT
Event Driven Streaming Analytics - Demostration on Architecture of IoTEvent Driven Streaming Analytics - Demostration on Architecture of IoT
Event Driven Streaming Analytics - Demostration on Architecture of IoT
 
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
Event Sourcing, Stream Processing and Serverless (Benjamin Stopford, Confluen...
 
The Internet of Things: Patterns for building real world applications
The Internet of Things:  Patterns for building real world applicationsThe Internet of Things:  Patterns for building real world applications
The Internet of Things: Patterns for building real world applications
 
Samza Demo @scale 2017
Samza Demo @scale 2017Samza Demo @scale 2017
Samza Demo @scale 2017
 
Internet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World ApplicationsInternet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World Applications
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for Ops
 

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

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
Safe Software
 
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
Victor Rentea
 
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
panagenda
 

Recently uploaded (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
"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 ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 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
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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, ...
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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 ...
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 

Continuous Intelligence for Customer Service Using Kafka Event Streams | Simon Crosby, Swim.ai

  • 1. for Real-Time Customer Service Using Kafka Event Streams Simon Crosby, CTO swim.ai simon@swim.ai 1
  • 2. Swim is an Apache 2.0 licensed platform that makes it easy to build applications that deliver continuous intelligence from streaming events, at massive scale swimos.org
  • 3. Swim • Auto-build & scale apps directly from streaming data • Apps are a million times faster • They need 90% less infra “A bit of Dev and no Ops”
  • 4. Swim is a Stateful, Real-time Stream Processor • Builds and scales apps directly from event data, creating a graph of stateful, concurrent actors that continuously compute – driven by data • Automates distributed application infrastructure operation • Load balances, secures, persists and auto-scales applications ➢ Infrastructure: Distributed, p2p mesh of instances on k8s using WebSockets Fabric ➢ App: Distributed, stateful, graph of concurrent actors, streaming APIs & real-time browser UIs
  • 5. A Customer Service Challenge
  • 6. “The network is fine. Reboot your phone?”
  • 7. Event Streaming → Continuous Intelligence
  • 8. A Real-Time Customer Service Challenge “WTF”? “That’s impossible…” “Customer-centric, not service centric”
  • 9. Challenges Huge broker clusters (>100 nodes) Even bigger app clusters (>400 nodes) Slow (~10 hours) Vast amounts of data (5 PB/day)
  • 10. Using SwimOS Use 90% less infrastructure (40 nodes vs 400) Apps are easy & auto-scale with no Ops Do data science on live data Answers a million times faster (10ms vs 10h)
  • 11. Mesh of SwimOS Instances Fabric SwimOS Actors that continuously compute & stream Events Insights Distributed Actor Runtime Coherent Fabric Continuous Analysis, Learning & Prediction Application Pipeline
  • 12. 12 How Swim Works Build a simple Java app & deploy instances using Kubernetes ... continuously streaming insights to web UIs, storage, applications Swim uses streaming data to build a graph of stateful, concurrent Web Agents – one per data source – all in-memory Web Agents dynamically link to related Agents to share state like smart “digital twins” of things They continuously analyze, learn & predict from their state and the states of linked Agents – driven by data They react in real-time, and stream their state changes over their links
  • 13. Swim: for Things • Swim creates a stateful, concurrent actor - a Web Agent - for each data source in streaming data - that continuously analyzes data from its real-world “twin” • Each Web Agent (dynamically) links to related agents, creating a fluid in-memory graph that tracks complex relationships • Containment, proximity, “neighbor” … “is approaching” • Computed: “correlated to” … “predicted to be within” • Linked Agents use each others’ states to continuously analyze, learn and predict… • They can instantly react, and stream their state to apps, real- time UIs, data lakes…
  • 14. Web Agents Continuously Analyze, Learn & Predict MapReduce Grap h Analysis Learn & Predict Spark / Flink / Jupyter etc Relational Queries
  • 16. Web Agent (actor) Developer Model Web Agents are concurrent, distributed Java actors – ActorID is a URI – hence Web Agent – Use WARP on HTTP/2 + CRDTs to ensure coherence in 1/2RTT • Lanes are object members – Receive data – Code and state eg: “average” • Links are relationships between web agents – Express relationships • “Schema” derived eg: contains • Computed: maps, joins, correlations, membership, “predicted to be”, geospatial – Build a (distributed) graph – A link to a lane lets the linker observe lane state Data Lanes Links f(data, old_state) → new_state code & state
  • 17. Streaming Inputs (i1, i2,.. in, ) → (o1,…oj, ) St-1 St Streaming Outputs Continuously Current Materialized Views • A Web Agent can analyze millions of (concurrent) updates to Agents it is linked to (in DB: column analysis across rows – eg for analytics) • Does not immediately trigger recomputation • A changed input invalidates dependent outputs • De-bounced to allow bursts of state changes • Use timers to enforce latency bounds millions of links
  • 18. • An application self-assembles as a DAG - on the fly - from events • Each vertex is a stateful, concurrent actor – a Web Agent • They receive a continuous stream of events and stream their state changes as CRDTs, in-sync with the real-world • They analyze, learn, and predict as events flow Swim Applications Are DAGs
  • 19. MEC Regional Cloud Eg: Kubernetes Runtime Infrastructure Fabric Distributed Actor Runtime Coherent Fabric Continuous Analysis, Learning & Prediction
  • 20. Edge Fog Cloud swim Fabric Runtime Infrastructure App App
  • 21. Edge Fog Cloud swim Fabric Runtime Infrastructure App App
  • 22. Avoid all of this Actors that continuously compute & stream
  • 23. Analyze, learn & predict on-the-fly, driven by events Actors respond instantly – in sync with the real-world Continuously evaluate complex parametric functions and causal relationships eg: “near to” or “predicted to be within” Build apps directly from streaming data by linking streaming actors into a fluid graph of real-world relationships Continuous Intelligence for Apache Kafka
  • 24. A little Dev but no Ops Do data science on live data Continuous Intelligence for Apache Kafka Use 90% less infrastructure Deliver answers a million times faster…