SlideShare a Scribd company logo
DLD. Tel-Aviv. 2015
Making Scale a Non-Issue
for Real-Time Data Apps
Vladi Feigin, LivePerson
Kobi Salant, LivePerson
Agenda
 Intro
 About LivePerson
 Digital Engagements
 Call Center Use Case
 Architecture
 Zoom-In
Bio
Vladi Feigin
 System Architect in LivePerson
 18 years in software development
 Interests : distributed computing, data, analytics and
martial arts
Bio
Kobi Salant
 Data Platform Tech Lead in LivePerson
 25 years in software development
 Interests : Application performance, traveling and coffee
LivePerson
 We do Digital Engagements
 Agile and very technological
 Real Big Data and Analytics company
 Really cool place to work in
 One of the SaaS pioneers
 6 Data Centers across the world
 Founded in 1995,
a public company
since 2000
(NASDAQ: LPSN)
 More than 18,000
customers
worldwide
 More than 1000
employees
LivePerson technology stack
We are Big Data
 1.4 Million concurrent visits
 1 Million events per second
 2 billion site visits per month
 27 million live engagements per month
 Data freshness SLA (RT flow): up to 5 seconds
Visitor
Agent
Visitor
Agent
Call Center Operating
Digital engagement requires operating a call center in the
most efficient way
How to operate a call center in the most efficient way?
 Provide operational metrics … In real-time
What are the challenges?
 Huge scale, load peaks, real-time calculations, high data
freshness SLA
Call Center Operating
Architecture. Real-Time data flow
producer
(agent)
producer
(sess.)
producer
(chat)
Kafka
Storm
Cassandra
Storm
Fast topic
ElasticSearch CouchBase
API
Consistent topic
Batch
layer
(Hadoop)
producer
(conv.)
producer
(other)
Custom
Apps.
Chat History. Example
producer
(agent)
producer
(sess.)
producer
(chat.)
Kafka
Storm
Fast topic
ElasticSearch
API
Consistent topic
MR job
Very low latency
99.5% of data
High latency
99.999% of data
Data Producers. Requirements
 Real time
 “Five nines” persistence
 Small footprint
 No interference with service
 Multiple producers & platforms
 Monolithic to service oriented
Many
More
Services
Data Producers. Lessons learned
 Hundreds of services
 Complex rollouts
 Minimal logic to avoid painful fixes
 Audit streaming? Split to buckets
 Real time and “five nines” persistence are incompatible
In House
1
Bucket Bucket
Consistent
Topic
Send message
to Kafka
local file
Persist message to
local disk
Kafka Bridge
Send message
to Kafka
Fast
Topic
Kafka Resilience
Real-time
Customers
Offline
Customers
Kafka
Data Producers. Flow
Data Model Framework
Why Avro:
 Schema based evolution
 Performance - Untagged bytes
 HDFS ecosystem support
Lessons Learned:
 Schema evolution breaks
 Big schema (ours is over 65k) not recommended
 Avoid deep nesting and multiple unions
 Need a framework
Chaos – Non-Schema
space delimited
Order – Avro Schema
Framework Flow
1. Event is created according to Avro
Schema version 3.5
2. Schema is registered into the
repository (once)
3. Value 3.5 is written to header
4. Event is encoded with schema
version 3.5 and added to message
5. Message is sent to Kafka
6. Message is read by consumer
7. Header is read from message
8. Schema is retrieved from repository
according to scheme version
9. Event decoded using the proper Avro
schema
10.Decoded event is processed
3.5
3.5
Consumer
Repository
Apache Kafka
 More than 15 billion events a day
 More than 1 million events per second
 Hundreds of producers & consumers
Why Kafka?
 Scale where traditional MQs fail
 Industry standard for big data log messaging
 Reliable, flexible and easy to use
Deployment:
 We have 15 clusters across the world
 Our biggest cluster has 8 nodes with more than 6TB (Avro + Kafka
compression)
 Maximum retention of 72 hours
Apache Kafka. Lessons Learned
 Scale horizontally for hardware resources and vertically for
throughput
 Look at trends of network & IO & Kafka's JMX statistics
Partitions Servers
Bytes in
Apache Kafka. Lessons Learned cont.
 Know your data and message sizes:
 Large messages can break you
 Data growth can overfill your capacity
 Set the right configuration
 Adding or removing a broker is not trivial
 Decide on single or multiple topics
Apache Storm
Why Storm?
 Growing community with good integration to Kafka
 At the time, it was the leading product
 Easy development and customization
 The POC was successful
Deployment:
 We have 6 clusters across the world
 Our biggest cluster has more then 30 nodes
 We have 20 topologies on a single cluster
 Uptime of months for a single topology
Apache Storm. Typical topology
Storm Topology
KAFKA SPOUT FILTER BOLT WRITER BOLT
emit emit
ack ack
fetch
Zookeeper
Kafka Fast topic
writecommit
Apache Storm. Lessons learned
 Develop SDK and educate R&D
 Where did my topology run last week? What is my overtime
capacity?
 Know your bolts, must return a timely answer
 Coding is easy, performance is hard
 Use isolation
Capacity
Apache Storm. Lessons learned cont.
 Use local shuffling
 Use Ack
KAFKA SPOUT FILTER BOLT WRITER BOLT
KAFKA SPOUT FILTER BOLT WRITER BOLT
Local
emit
ACKER BOLT
ACKER BOLT
COMM BOLT
COMM BOLT
Worker
A
Worker
B
Local
emit
Local
emit
Local
emit
Summary
 No one-size-fits-all solution
 Ask product for a clearly defined SLA
 Separate between fast and consistent data flows - they
don’t merge!
 Use schema for a data model - keep it flat and small
 Kafka rules! It’s reliable and fast - use it
 Storm has it’s toll. For some use-cases we would be
using Spark Streaming today
THANK YOU!
We are hiring
http://www.liveperson.com/company/careers
Q/A
YouTube.com/LivePersonDev
Twitter.com/LivePersonDev
Facebook.com/LivePersonDev
Slideshare.net/LivePersonDev

More Related Content

What's hot

Neural machine translation of rare words with subword units
Neural machine translation of rare words with subword unitsNeural machine translation of rare words with subword units
Neural machine translation of rare words with subword units
Tae Hwan Jung
 
Chat Bots Presentation 8.9.16
Chat Bots Presentation 8.9.16Chat Bots Presentation 8.9.16
Chat Bots Presentation 8.9.16Samuel Adams, MBA
 
Text categorization
Text categorizationText categorization
Text categorization
Shubham Pahune
 
NLP using transformers
NLP using transformers NLP using transformers
NLP using transformers
Arvind Devaraj
 
Introduction to natural language processing, history and origin
Introduction to natural language processing, history and originIntroduction to natural language processing, history and origin
Introduction to natural language processing, history and origin
Shubhankar Mohan
 
Stock prediction system using ann
Stock prediction system using annStock prediction system using ann
Stock prediction system using ann
eSAT Publishing House
 
AI - Intelligent Agents
AI - Intelligent AgentsAI - Intelligent Agents
AI - Intelligent Agents
Andrew Ferlitsch
 
Processamento de Linguagem Natural
Processamento de Linguagem NaturalProcessamento de Linguagem Natural
Processamento de Linguagem NaturalThiago Reis da Silva
 
An Introduction to Pre-training General Language Representations
An Introduction to Pre-training General Language RepresentationsAn Introduction to Pre-training General Language Representations
An Introduction to Pre-training General Language Representations
zperjaccico
 
Text Classification
Text ClassificationText Classification
Text Classification
RAX Automation Suite
 
Tokenization using nlp | NLP Course
Tokenization using nlp | NLP CourseTokenization using nlp | NLP Course
Tokenization using nlp | NLP Course
RAKESH P
 
The Ultimate Guide to Implementing Conversational AI
The Ultimate Guide to Implementing Conversational AIThe Ultimate Guide to Implementing Conversational AI
The Ultimate Guide to Implementing Conversational AI
Celine Rayner
 
5. phase of nlp
5. phase of nlp5. phase of nlp
5. phase of nlp
MdFazleRabbi18
 
Prompt Engineering.pptx
Prompt Engineering.pptxPrompt Engineering.pptx
Prompt Engineering.pptx
ahmedmishfaq
 
NLP PPT.pptx
NLP PPT.pptxNLP PPT.pptx
AI Chatbot Development Methodology
AI Chatbot Development MethodologyAI Chatbot Development Methodology
AI Chatbot Development Methodology
Igor Luzhanskiy
 

What's hot (16)

Neural machine translation of rare words with subword units
Neural machine translation of rare words with subword unitsNeural machine translation of rare words with subword units
Neural machine translation of rare words with subword units
 
Chat Bots Presentation 8.9.16
Chat Bots Presentation 8.9.16Chat Bots Presentation 8.9.16
Chat Bots Presentation 8.9.16
 
Text categorization
Text categorizationText categorization
Text categorization
 
NLP using transformers
NLP using transformers NLP using transformers
NLP using transformers
 
Introduction to natural language processing, history and origin
Introduction to natural language processing, history and originIntroduction to natural language processing, history and origin
Introduction to natural language processing, history and origin
 
Stock prediction system using ann
Stock prediction system using annStock prediction system using ann
Stock prediction system using ann
 
AI - Intelligent Agents
AI - Intelligent AgentsAI - Intelligent Agents
AI - Intelligent Agents
 
Processamento de Linguagem Natural
Processamento de Linguagem NaturalProcessamento de Linguagem Natural
Processamento de Linguagem Natural
 
An Introduction to Pre-training General Language Representations
An Introduction to Pre-training General Language RepresentationsAn Introduction to Pre-training General Language Representations
An Introduction to Pre-training General Language Representations
 
Text Classification
Text ClassificationText Classification
Text Classification
 
Tokenization using nlp | NLP Course
Tokenization using nlp | NLP CourseTokenization using nlp | NLP Course
Tokenization using nlp | NLP Course
 
The Ultimate Guide to Implementing Conversational AI
The Ultimate Guide to Implementing Conversational AIThe Ultimate Guide to Implementing Conversational AI
The Ultimate Guide to Implementing Conversational AI
 
5. phase of nlp
5. phase of nlp5. phase of nlp
5. phase of nlp
 
Prompt Engineering.pptx
Prompt Engineering.pptxPrompt Engineering.pptx
Prompt Engineering.pptx
 
NLP PPT.pptx
NLP PPT.pptxNLP PPT.pptx
NLP PPT.pptx
 
AI Chatbot Development Methodology
AI Chatbot Development MethodologyAI Chatbot Development Methodology
AI Chatbot Development Methodology
 

Viewers also liked

游戏运营(第三讲)
游戏运营(第三讲)游戏运营(第三讲)
游戏运营(第三讲)www.emean.com
 
Google Plus (Google+)
Google Plus (Google+) Google Plus (Google+)
Google Plus (Google+)
Urska Saletinger
 
Value of libraries - ANU Outsell persentation
Value of libraries - ANU Outsell persentationValue of libraries - ANU Outsell persentation
Value of libraries - ANU Outsell persentationRoxanne Missingham
 
Na 7 jaar frisse scholen...
Na 7 jaar frisse scholen...Na 7 jaar frisse scholen...
Na 7 jaar frisse scholen...
Netherlands Enterprise Agency (RVO.nl)
 
Green IT in de praktijk
Green IT in de praktijkGreen IT in de praktijk
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
Developers Summit
 
Change password for weblogic users in obiee 11g
Change password for weblogic users in obiee 11gChange password for weblogic users in obiee 11g
Change password for weblogic users in obiee 11g
Ravi Kumar Lanke
 
eBook: Reductions in Force - A Ten Point Inspection
eBook: Reductions in Force - A Ten Point InspectioneBook: Reductions in Force - A Ten Point Inspection
eBook: Reductions in Force - A Ten Point Inspection
Thomas Econometrics
 
Rendement is meer dan alleen het verbeteren van het energielabel
Rendement is meer dan alleen het verbeteren van het energielabelRendement is meer dan alleen het verbeteren van het energielabel
Rendement is meer dan alleen het verbeteren van het energielabel
Netherlands Enterprise Agency (RVO.nl)
 
OEA Summer Academy 2013
OEA Summer Academy 2013OEA Summer Academy 2013
OEA Summer Academy 2013
dinica
 
60 rosnaini mahmud
60 rosnaini mahmud60 rosnaini mahmud
60 rosnaini mahmudEna Ros
 
PHP Developer Tools - Arabic
PHP Developer Tools - ArabicPHP Developer Tools - Arabic
PHP Developer Tools - Arabic
Khaled Al-Shamaa
 

Viewers also liked (20)

游戏运营(第三讲)
游戏运营(第三讲)游戏运营(第三讲)
游戏运营(第三讲)
 
Google Plus (Google+)
Google Plus (Google+) Google Plus (Google+)
Google Plus (Google+)
 
09 nick lewty
09 nick lewty09 nick lewty
09 nick lewty
 
Value of libraries - ANU Outsell persentation
Value of libraries - ANU Outsell persentationValue of libraries - ANU Outsell persentation
Value of libraries - ANU Outsell persentation
 
Na 7 jaar frisse scholen...
Na 7 jaar frisse scholen...Na 7 jaar frisse scholen...
Na 7 jaar frisse scholen...
 
Globalsat
GlobalsatGlobalsat
Globalsat
 
26 1
26 126 1
26 1
 
Presentación hamburgo, ética
Presentación hamburgo, éticaPresentación hamburgo, ética
Presentación hamburgo, ética
 
Tevii
TeviiTevii
Tevii
 
Green IT in de praktijk
Green IT in de praktijkGreen IT in de praktijk
Green IT in de praktijk
 
Al.landalus
Al.landalusAl.landalus
Al.landalus
 
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
デブサミ2013【15-A-6】増加するセキュリティ脆弱性の解決策
 
Change password for weblogic users in obiee 11g
Change password for weblogic users in obiee 11gChange password for weblogic users in obiee 11g
Change password for weblogic users in obiee 11g
 
eBook: Reductions in Force - A Ten Point Inspection
eBook: Reductions in Force - A Ten Point InspectioneBook: Reductions in Force - A Ten Point Inspection
eBook: Reductions in Force - A Ten Point Inspection
 
3sixtycom credentials feb2014
3sixtycom credentials feb20143sixtycom credentials feb2014
3sixtycom credentials feb2014
 
Rendement is meer dan alleen het verbeteren van het energielabel
Rendement is meer dan alleen het verbeteren van het energielabelRendement is meer dan alleen het verbeteren van het energielabel
Rendement is meer dan alleen het verbeteren van het energielabel
 
OEA Summer Academy 2013
OEA Summer Academy 2013OEA Summer Academy 2013
OEA Summer Academy 2013
 
60 rosnaini mahmud
60 rosnaini mahmud60 rosnaini mahmud
60 rosnaini mahmud
 
PHP Developer Tools - Arabic
PHP Developer Tools - ArabicPHP Developer Tools - Arabic
PHP Developer Tools - Arabic
 
Gaylesbian
GaylesbianGaylesbian
Gaylesbian
 

Similar to Liveperson DLD 2015

Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
confluent
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
confluent
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !
Guido Schmutz
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Kai Wähner
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
Andrew Morgan
 
Webinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDBWebinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDB
MongoDB
 
The Netflix Way to deal with Big Data Problems
The Netflix Way to deal with Big Data ProblemsThe Netflix Way to deal with Big Data Problems
The Netflix Way to deal with Big Data Problems
Monal Daxini
 
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...
confluent
 
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
confluent
 
JHipster conf 2019 - Kafka Ecosystem
JHipster conf 2019 - Kafka EcosystemJHipster conf 2019 - Kafka Ecosystem
JHipster conf 2019 - Kafka Ecosystem
Florent Ramiere
 
Kafka for Scale
Kafka for ScaleKafka for Scale
Kafka for Scale
Eyal Ben Ivri
 
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
HostedbyConfluent
 
Robust stream processing with Apache Flink
Robust stream processing with Apache FlinkRobust stream processing with Apache Flink
Robust stream processing with Apache Flink
Aljoscha Krettek
 
Introducing Confluent Cloud: Apache Kafka as a Service
Introducing Confluent Cloud: Apache Kafka as a Service Introducing Confluent Cloud: Apache Kafka as a Service
Introducing Confluent Cloud: Apache Kafka as a Service
confluent
 
Netflix Keystone—Cloud scale event processing pipeline
Netflix Keystone—Cloud scale event processing pipelineNetflix Keystone—Cloud scale event processing pipeline
Netflix Keystone—Cloud scale event processing pipeline
Monal Daxini
 
Streaming Data Ingest and Processing with Apache Kafka
Streaming Data Ingest and Processing with Apache KafkaStreaming Data Ingest and Processing with Apache Kafka
Streaming Data Ingest and Processing with Apache Kafka
Attunity
 
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDB
confluent
 
Hybrid Kafka, Taking Real-time Analytics to the Business (Cody Irwin, Google ...
Hybrid Kafka, Taking Real-time Analytics to the Business (Cody Irwin, Google ...Hybrid Kafka, Taking Real-time Analytics to the Business (Cody Irwin, Google ...
Hybrid Kafka, Taking Real-time Analytics to the Business (Cody Irwin, Google ...
HostedbyConfluent
 
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
HostedbyConfluent
 

Similar to Liveperson DLD 2015 (20)

Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
Apache Kafka vs. Traditional Middleware (Kai Waehner, Confluent) Frankfurt 20...
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB)
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
 
Webinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDBWebinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDB
 
The Netflix Way to deal with Big Data Problems
The Netflix Way to deal with Big Data ProblemsThe Netflix Way to deal with Big Data Problems
The Netflix Way to deal with Big Data Problems
 
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...
Neha Narkhede | Kafka Summit London 2019 Keynote | Event Streaming: Our Cloud...
 
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
 
JHipster conf 2019 - Kafka Ecosystem
JHipster conf 2019 - Kafka EcosystemJHipster conf 2019 - Kafka Ecosystem
JHipster conf 2019 - Kafka Ecosystem
 
Kafka for Scale
Kafka for ScaleKafka for Scale
Kafka for Scale
 
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
Applying ML on your Data in Motion with AWS and Confluent | Joseph Morais, Co...
 
Robust stream processing with Apache Flink
Robust stream processing with Apache FlinkRobust stream processing with Apache Flink
Robust stream processing with Apache Flink
 
Introducing Confluent Cloud: Apache Kafka as a Service
Introducing Confluent Cloud: Apache Kafka as a Service Introducing Confluent Cloud: Apache Kafka as a Service
Introducing Confluent Cloud: Apache Kafka as a Service
 
Netflix Keystone—Cloud scale event processing pipeline
Netflix Keystone—Cloud scale event processing pipelineNetflix Keystone—Cloud scale event processing pipeline
Netflix Keystone—Cloud scale event processing pipeline
 
Streaming Data Ingest and Processing with Apache Kafka
Streaming Data Ingest and Processing with Apache KafkaStreaming Data Ingest and Processing with Apache Kafka
Streaming Data Ingest and Processing with Apache Kafka
 
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
 
Data Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDBData Streaming with Apache Kafka & MongoDB
Data Streaming with Apache Kafka & MongoDB
 
Hybrid Kafka, Taking Real-time Analytics to the Business (Cody Irwin, Google ...
Hybrid Kafka, Taking Real-time Analytics to the Business (Cody Irwin, Google ...Hybrid Kafka, Taking Real-time Analytics to the Business (Cody Irwin, Google ...
Hybrid Kafka, Taking Real-time Analytics to the Business (Cody Irwin, Google ...
 
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
 

More from LivePerson

Microservices on top of kafka
Microservices on top of kafkaMicroservices on top of kafka
Microservices on top of kafka
LivePerson
 
Graph QL Introduction
Graph QL IntroductionGraph QL Introduction
Graph QL Introduction
LivePerson
 
Kubernetes your tests! automation with docker on google cloud platform
Kubernetes your tests! automation with docker on google cloud platformKubernetes your tests! automation with docker on google cloud platform
Kubernetes your tests! automation with docker on google cloud platform
LivePerson
 
Growing into a proactive Data Platform
Growing into a proactive Data PlatformGrowing into a proactive Data Platform
Growing into a proactive Data Platform
LivePerson
 
Measure() or die()
Measure() or die() Measure() or die()
Measure() or die()
LivePerson
 
Resilience from Theory to Practice
Resilience from Theory to PracticeResilience from Theory to Practice
Resilience from Theory to Practice
LivePerson
 
System Revolution- How We Did It
System Revolution- How We Did It System Revolution- How We Did It
System Revolution- How We Did It
LivePerson
 
Http 2: Should I care?
Http 2: Should I care?Http 2: Should I care?
Http 2: Should I care?
LivePerson
 
Mobile app real-time content modifications using websockets
Mobile app real-time content modifications using websocketsMobile app real-time content modifications using websockets
Mobile app real-time content modifications using websockets
LivePerson
 
Mobile SDK: Considerations & Best Practices
Mobile SDK: Considerations & Best Practices Mobile SDK: Considerations & Best Practices
Mobile SDK: Considerations & Best Practices
LivePerson
 
Functional programming with Java 8
Functional programming with Java 8Functional programming with Java 8
Functional programming with Java 8
LivePerson
 
Apache Avro in LivePerson [Hebrew]
Apache Avro in LivePerson [Hebrew]Apache Avro in LivePerson [Hebrew]
Apache Avro in LivePerson [Hebrew]
LivePerson
 
Apache Avro and Messaging at Scale in LivePerson
Apache Avro and Messaging at Scale in LivePersonApache Avro and Messaging at Scale in LivePerson
Apache Avro and Messaging at Scale in LivePerson
LivePerson
 
Data compression in Modern Application
Data compression in Modern ApplicationData compression in Modern Application
Data compression in Modern Application
LivePerson
 
Support Office Hour Webinar - LivePerson API
Support Office Hour Webinar - LivePerson API Support Office Hour Webinar - LivePerson API
Support Office Hour Webinar - LivePerson API
LivePerson
 
SIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolSIP - Introduction to SIP Protocol
SIP - Introduction to SIP Protocol
LivePerson
 
Scalding: Reaching Efficient MapReduce
Scalding: Reaching Efficient MapReduceScalding: Reaching Efficient MapReduce
Scalding: Reaching Efficient MapReduce
LivePerson
 
Building Enterprise Level End-To-End Monitor System with Open Source Solution...
Building Enterprise Level End-To-End Monitor System with Open Source Solution...Building Enterprise Level End-To-End Monitor System with Open Source Solution...
Building Enterprise Level End-To-End Monitor System with Open Source Solution...
LivePerson
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
LivePerson
 
From a Kafkaesque Story to The Promised Land at LivePerson
From a Kafkaesque Story to The Promised Land at LivePersonFrom a Kafkaesque Story to The Promised Land at LivePerson
From a Kafkaesque Story to The Promised Land at LivePerson
LivePerson
 

More from LivePerson (20)

Microservices on top of kafka
Microservices on top of kafkaMicroservices on top of kafka
Microservices on top of kafka
 
Graph QL Introduction
Graph QL IntroductionGraph QL Introduction
Graph QL Introduction
 
Kubernetes your tests! automation with docker on google cloud platform
Kubernetes your tests! automation with docker on google cloud platformKubernetes your tests! automation with docker on google cloud platform
Kubernetes your tests! automation with docker on google cloud platform
 
Growing into a proactive Data Platform
Growing into a proactive Data PlatformGrowing into a proactive Data Platform
Growing into a proactive Data Platform
 
Measure() or die()
Measure() or die() Measure() or die()
Measure() or die()
 
Resilience from Theory to Practice
Resilience from Theory to PracticeResilience from Theory to Practice
Resilience from Theory to Practice
 
System Revolution- How We Did It
System Revolution- How We Did It System Revolution- How We Did It
System Revolution- How We Did It
 
Http 2: Should I care?
Http 2: Should I care?Http 2: Should I care?
Http 2: Should I care?
 
Mobile app real-time content modifications using websockets
Mobile app real-time content modifications using websocketsMobile app real-time content modifications using websockets
Mobile app real-time content modifications using websockets
 
Mobile SDK: Considerations & Best Practices
Mobile SDK: Considerations & Best Practices Mobile SDK: Considerations & Best Practices
Mobile SDK: Considerations & Best Practices
 
Functional programming with Java 8
Functional programming with Java 8Functional programming with Java 8
Functional programming with Java 8
 
Apache Avro in LivePerson [Hebrew]
Apache Avro in LivePerson [Hebrew]Apache Avro in LivePerson [Hebrew]
Apache Avro in LivePerson [Hebrew]
 
Apache Avro and Messaging at Scale in LivePerson
Apache Avro and Messaging at Scale in LivePersonApache Avro and Messaging at Scale in LivePerson
Apache Avro and Messaging at Scale in LivePerson
 
Data compression in Modern Application
Data compression in Modern ApplicationData compression in Modern Application
Data compression in Modern Application
 
Support Office Hour Webinar - LivePerson API
Support Office Hour Webinar - LivePerson API Support Office Hour Webinar - LivePerson API
Support Office Hour Webinar - LivePerson API
 
SIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolSIP - Introduction to SIP Protocol
SIP - Introduction to SIP Protocol
 
Scalding: Reaching Efficient MapReduce
Scalding: Reaching Efficient MapReduceScalding: Reaching Efficient MapReduce
Scalding: Reaching Efficient MapReduce
 
Building Enterprise Level End-To-End Monitor System with Open Source Solution...
Building Enterprise Level End-To-End Monitor System with Open Source Solution...Building Enterprise Level End-To-End Monitor System with Open Source Solution...
Building Enterprise Level End-To-End Monitor System with Open Source Solution...
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
From a Kafkaesque Story to The Promised Land at LivePerson
From a Kafkaesque Story to The Promised Land at LivePersonFrom a Kafkaesque Story to The Promised Land at LivePerson
From a Kafkaesque Story to The Promised Land at LivePerson
 

Recently uploaded

Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Linda486226
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
Jpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization SampleJpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization Sample
James Polillo
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
enxupq
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
Opendatabay
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
TravisMalana
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
axoqas
 
Tabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflowsTabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflows
alex933524
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
MaleehaSheikh2
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
vcaxypu
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
jerlynmaetalle
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
ArpitMalhotra16
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
ewymefz
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
nscud
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMI
AlejandraGmez176757
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
Tiktokethiodaily
 

Recently uploaded (20)

Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
Jpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization SampleJpolillo Amazon PPC - Bid Optimization Sample
Jpolillo Amazon PPC - Bid Optimization Sample
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 
Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)Malana- Gimlet Market Analysis (Portfolio 2)
Malana- Gimlet Market Analysis (Portfolio 2)
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
 
Tabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflowsTabula.io Cheatsheet: automate your data workflows
Tabula.io Cheatsheet: automate your data workflows
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
 
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
一比一原版(ArtEZ毕业证)ArtEZ艺术学院毕业证成绩单
 
The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...The affect of service quality and online reviews on customer loyalty in the E...
The affect of service quality and online reviews on customer loyalty in the E...
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
 
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单
 
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
一比一原版(CBU毕业证)卡普顿大学毕业证成绩单
 
Business update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMIBusiness update Q1 2024 Lar España Real Estate SOCIMI
Business update Q1 2024 Lar España Real Estate SOCIMI
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
 

Liveperson DLD 2015

  • 1. DLD. Tel-Aviv. 2015 Making Scale a Non-Issue for Real-Time Data Apps Vladi Feigin, LivePerson Kobi Salant, LivePerson
  • 2. Agenda  Intro  About LivePerson  Digital Engagements  Call Center Use Case  Architecture  Zoom-In
  • 3. Bio Vladi Feigin  System Architect in LivePerson  18 years in software development  Interests : distributed computing, data, analytics and martial arts
  • 4. Bio Kobi Salant  Data Platform Tech Lead in LivePerson  25 years in software development  Interests : Application performance, traveling and coffee
  • 5. LivePerson  We do Digital Engagements  Agile and very technological  Real Big Data and Analytics company  Really cool place to work in  One of the SaaS pioneers  6 Data Centers across the world  Founded in 1995, a public company since 2000 (NASDAQ: LPSN)  More than 18,000 customers worldwide  More than 1000 employees
  • 7. We are Big Data  1.4 Million concurrent visits  1 Million events per second  2 billion site visits per month  27 million live engagements per month  Data freshness SLA (RT flow): up to 5 seconds
  • 11. Agent
  • 12. Call Center Operating Digital engagement requires operating a call center in the most efficient way How to operate a call center in the most efficient way?  Provide operational metrics … In real-time What are the challenges?  Huge scale, load peaks, real-time calculations, high data freshness SLA
  • 14. Architecture. Real-Time data flow producer (agent) producer (sess.) producer (chat) Kafka Storm Cassandra Storm Fast topic ElasticSearch CouchBase API Consistent topic Batch layer (Hadoop) producer (conv.) producer (other) Custom Apps.
  • 15. Chat History. Example producer (agent) producer (sess.) producer (chat.) Kafka Storm Fast topic ElasticSearch API Consistent topic MR job Very low latency 99.5% of data High latency 99.999% of data
  • 16. Data Producers. Requirements  Real time  “Five nines” persistence  Small footprint  No interference with service  Multiple producers & platforms  Monolithic to service oriented Many More Services
  • 17. Data Producers. Lessons learned  Hundreds of services  Complex rollouts  Minimal logic to avoid painful fixes  Audit streaming? Split to buckets  Real time and “five nines” persistence are incompatible In House 1 Bucket Bucket
  • 18. Consistent Topic Send message to Kafka local file Persist message to local disk Kafka Bridge Send message to Kafka Fast Topic Kafka Resilience Real-time Customers Offline Customers Kafka Data Producers. Flow
  • 19. Data Model Framework Why Avro:  Schema based evolution  Performance - Untagged bytes  HDFS ecosystem support Lessons Learned:  Schema evolution breaks  Big schema (ours is over 65k) not recommended  Avoid deep nesting and multiple unions  Need a framework Chaos – Non-Schema space delimited Order – Avro Schema
  • 20. Framework Flow 1. Event is created according to Avro Schema version 3.5 2. Schema is registered into the repository (once) 3. Value 3.5 is written to header 4. Event is encoded with schema version 3.5 and added to message 5. Message is sent to Kafka 6. Message is read by consumer 7. Header is read from message 8. Schema is retrieved from repository according to scheme version 9. Event decoded using the proper Avro schema 10.Decoded event is processed 3.5 3.5 Consumer Repository
  • 21. Apache Kafka  More than 15 billion events a day  More than 1 million events per second  Hundreds of producers & consumers Why Kafka?  Scale where traditional MQs fail  Industry standard for big data log messaging  Reliable, flexible and easy to use Deployment:  We have 15 clusters across the world  Our biggest cluster has 8 nodes with more than 6TB (Avro + Kafka compression)  Maximum retention of 72 hours
  • 22. Apache Kafka. Lessons Learned  Scale horizontally for hardware resources and vertically for throughput  Look at trends of network & IO & Kafka's JMX statistics Partitions Servers Bytes in
  • 23. Apache Kafka. Lessons Learned cont.  Know your data and message sizes:  Large messages can break you  Data growth can overfill your capacity  Set the right configuration  Adding or removing a broker is not trivial  Decide on single or multiple topics
  • 24. Apache Storm Why Storm?  Growing community with good integration to Kafka  At the time, it was the leading product  Easy development and customization  The POC was successful Deployment:  We have 6 clusters across the world  Our biggest cluster has more then 30 nodes  We have 20 topologies on a single cluster  Uptime of months for a single topology
  • 25. Apache Storm. Typical topology Storm Topology KAFKA SPOUT FILTER BOLT WRITER BOLT emit emit ack ack fetch Zookeeper Kafka Fast topic writecommit
  • 26. Apache Storm. Lessons learned  Develop SDK and educate R&D  Where did my topology run last week? What is my overtime capacity?  Know your bolts, must return a timely answer  Coding is easy, performance is hard  Use isolation Capacity
  • 27. Apache Storm. Lessons learned cont.  Use local shuffling  Use Ack KAFKA SPOUT FILTER BOLT WRITER BOLT KAFKA SPOUT FILTER BOLT WRITER BOLT Local emit ACKER BOLT ACKER BOLT COMM BOLT COMM BOLT Worker A Worker B Local emit Local emit Local emit
  • 28. Summary  No one-size-fits-all solution  Ask product for a clearly defined SLA  Separate between fast and consistent data flows - they don’t merge!  Use schema for a data model - keep it flat and small  Kafka rules! It’s reliable and fast - use it  Storm has it’s toll. For some use-cases we would be using Spark Streaming today
  • 29. THANK YOU! We are hiring http://www.liveperson.com/company/careers Q/A