SlideShare a Scribd company logo
Apache Geode
An efficient alternative to
Kafka-Storm-Spark
By Paul Perez
Pymma
1
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
About (s)
Paul Perez
Architect at Pymma
Fan of integration technologies
Long love story with Geode family
1998: Gemstone App Server
2006: Presale in UK
2017: Geode features in OpenESB
2
Bureau of IT architecture
Based in London (UK)
Founded in 1999
Expertise on
Architecture design
Software integration
One of the main OpenESB contributors
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
About OpenESB
Three examples
1-Service oriented projects
2-Domain synchronisation
3-Exchanges between data sets
More than an Enterprise Service Bus
It is an Extended Service Bus
3
Open Extended Services
Bus
Powerful integration tool
Reliable, light and scalable
Integration best practices
Ubiquitous product
Large systems to Raspberry PIs
Used in a large scope of projects
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
4
Receive Transfer
order by email
Swift transfer
Send email for
confirmation
Check account
Banker validation
Log transaction
Check rights
Ex 01: Service Oriented Application
4
Manual
Validation
Service invocation
Service publication
Service orchestration
Service composition
International
Fund transfer
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
5
Ex 02: Domains synchronization
5
Domain Model
Pilote
Domain Model
Meals
Domain Model
Luggage
Domain Model
Ticket
Domain Model
Plane
Domain Model
Airport
UPDATE
Dependency
Knowledge = dependency
Difficulties to upgrade the domains
Domain-Driven Design
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Domain Model
Luggage
Domain Model
Ticket
Update
Update
Ex 02: Domains synchronization
6
Domain Model
Pilote
Domain Model
Meals
Domain Model
Plane
Domain Model
Airport
Update
Event
Update
Update
Update
No
Dependency
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Ex 03: Exchanges between data sets
7
• Street lights
• Cross road
• Monument
400 000 light sources in Paris
• Long delay before fault detection
• Long delay to inform the maintenance teams
Street light maintenance is difficult
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Ex 03: Exchanges between data sets
8
Street light
Light sensor Internet relay
Light
Regular
messages
Analytics toolTask lists for
maintenance teams
Storage
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Ex 03: Exchanges between data sets
9
Reporting
Tools
MQTT Messages
MQTT
Servers
Relational
Database
Intelligent
Event
Processing
Intelligent
Event
Processing
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Analytics System
OpenESB and Analytic requirements
10
Process
Start
Process
Complete
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What are our constraints?
Two main constraints
The event content is a raw message to refine
What – when – where
Billions of events are generated daily
Process, activity and variable events
The analytics process must run out of OpenESB
OpenESB has not been designed for this task
OpenESB resources must be mainly dedicated for the processes
An external system is needed to fulfil analytics requirements
11
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Events and messages processing
12
External System
Events
Which external analytic system
for OpenESB ?
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Educational example for this presentation
13
Compute
duration
Average
per day
Average
per sec
Average
per min
Average
per hour
Process
Start
Process
Complete
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
External System: Global view
14
External System
Buffer Engine Persistence
Engine
Design for stream processing
Good performances
Horizontal scalability
Java language supported
Buffer
Asynchronous ingestion
Compliant with the engine
Horizontal scalability
Java language supported
Persistence container
Any type of persistence
SQL-NoSQL
File System
Not covered here
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
External System: The buffer
Asynchronous partner
Wonderful data ingestion
Very good feedback
Lot of learning resources available
Uses disks to store messages
Requires Zookeeper to run
Powerful message ingestion
Asynchronous communication
Release OpenESB resources
Good guarantee of delivery
Horizonal scalability
Compliant with many engines
15
Buffer
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
External System: The engine
Spark and Storm were good candidates
Designed for “real time” streaming
Good horizontal scalability
Good feedbacks from many projects
We decided to use Storm
Storm: Matched our background
Spark: Very active project
Spark: Micro batch less suitable for streaming
Spark: Java API more complex (Scala)
Storm: Easier to understand
Storm: Elegant architecture
Storm: Requires Zookeeper to run
16
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
External System: The engine
17
Compute
Duration
Average
per day
Average
per sec
Average
per min
Average
per hour
BPEL
complete
BPEL
start
Spout
Bolt
Persistenc
e
Topology
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Executor
External System: The engine
18
Topology
Executor
Executor
Executor
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
External System
Powerful event processing chain
Worked well and quickly in a POC
Provides a good horizontal scalability
Complex to install
Requires too many skills and too much expertise
Logically, our customers refused this offer
Our customers wanted a simpler solution
19
ZOOKEEPER
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
20
An alternative ?
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Apache geode: an alternative
We searched for a simpler solution
An all-in-one product to replace, the buffer and engine
Research on the market
Gemfire / Geode looked like a good candidate
We had enough background to give Geode a go
Apache Geode
Good message ingestion
Horizontal scalability
Event framework that can compete with Storm
21
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Kafka and Geode comparison
Strong capability of ingestion
Good horizontal scalability
High quality of service
Fault tolerance
Stores data on disk
Requires ZooKeeper
Mainly the same features but
Simpler to understand
No additional products needed
Stores data in memory
Memory is limited (few TBytes)
(We don’t need Terabytes of memory)
22
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Storm and Geode comparison
Light and efficient architecture
Dedicated for event-stream processing
Designed for process parallelisation
Does not deal with data storage
Horizontal scalability
Requires ZooKeeper
Single point of failure possible
Often seen as a distributed cache but
Complete Event framework
Developed to design push architectures
No additional product
No single point of failure
No congestion point
Data and processes collocate in Geode
23
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
24
Asynchronous event
framework
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Region
N
Handler 01
Region
01
Asynchronous Event framework
25
Asynchronous
Event Queue
Event Events
Geode event framework
Entry creation, update, deletion generates events
Events are sent to a queue
The handlers feed the next regions to carry on the analytics process
This design is similar to the one defined in Storm
The analytics process is smartly divided in steps
Event
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Asynchronous Event framework
AEQ in parallel mode vs serial mode
Parallel= false: serial mode
One queue per region (Keep events order, but possible point of contention)
Parallel= true: parallel mode
One queue per member per region (Horizontal Scalability)
26
create async-event-queue --id=BPELAEQ --
listener=com.pymma.bpel.monitoring.geode.aggregation.BPELEventAggregation
Duration --parallel=true --batch-size=10000 -- batch-time-interval=100 --
group=groupA
create region --name=eventBpelStop --type=PARTITION --group=groupA
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Machine 01
Machine 03
Machine 02
Asynchronous Event framework
Parallel=false
Mode=Serial
Keep event order
Contention possible
27
A2
A1
A3
Handler
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Machine 01
Machine 03
Machine 02
Asynchronous Event framework
Parallel=True
Mode=Parallel
Horizontal scalability
28
A2
A1
A3
Handler
Handler
Handler
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Machine 03
Machine 01
Geode scalability
29
01
Compute
01
02
01
Compute
01
02
Machine 02
01
Compute
01
02
Compute
02
03
Compute
02
03
Compute
02
03
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Geode Scalability
Partitioned regions improve the horizontal scalability
Automatic scalability
Not the case with replicated regions
Bonus: High guarantee of delivery
Automatic redundancy in case of failure
Redundant entries don’t generate multiple events
A region event is generated once and only once
The event unicity is guaranteed
30
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Storm vs Geode scalability
31
Spout
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Storm vs Geode scalability
32
Storm’s scalability:
Provided by the bolts redundancy
Geode scalability:
Provided by the process redundancy
Scalability granularity
Storm: Tuning at the step level (finest granularity)
Geode: Tuning at the process level (coarsest granularity)
Additional effort required to get the same granularity level
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Geode scalability
33
01 02
01 02
01 02
03
03
03
02
02
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Geode scalability
34
Adding regions could be an opportunity
To increase the scalability of a step
To get a better granularity for the scalability
But it stops the opportunity
To improve the collocation
To run all the process steps in the same JVM
To avoid network slowdowns
See Murex “Olivier Mallassi” SpringOne 2016
Topic behind the scope of this presentation
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Conclusion
35
ZOOKEEPER
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Conclusion
Good performances
Simple deployment
Easy scalability
Just add new members
Reliability
No single point of failure
Less resource and budget required
More flexible architecture
Better acceptance from our customers
Good performances
Complex deployment
Complex Scalability
Combination Kafka, Storm,
Zookeeper
Storm: Fine grain scalability
Reliability
Presumed SPOF with Storm/Nimbus
High resource and budget required
Rejected by our customers
36
Apache GeodeKafka + Storm + Zookeeper
Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Conclusion
Geode has a unique design
Data and processes collocate in the same environment
Ultra fast exchanges in memory
For our project
This design overcomes Kafka, Storm used separately
It advantageously supersedes Kafka + Storm together
Apache geode became our first choice for that project
37
Thank you for your interest !!!
Questions and Comments ?

More Related Content

What's hot

Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
Edward Burns
 
Scaling Apache Pulsar to 10 PB/day
Scaling Apache Pulsar to 10 PB/dayScaling Apache Pulsar to 10 PB/day
Scaling Apache Pulsar to 10 PB/day
Karthik Ramasamy
 
2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion
mnriem
 
Apache Deep Learning 201
Apache Deep Learning 201Apache Deep Learning 201
Apache Deep Learning 201
DataWorks Summit
 
OpenPOWER update for Linux on Power revolution event
OpenPOWER update for Linux on Power revolution eventOpenPOWER update for Linux on Power revolution event
OpenPOWER update for Linux on Power revolution event
Mandie Quartly
 
Demystify OpenPOWER
Demystify OpenPOWERDemystify OpenPOWER
Demystify OpenPOWER
Anand Haridass
 
Apache DeviceMap - ApacheCon Europe 2014
Apache DeviceMap - ApacheCon Europe 2014Apache DeviceMap - ApacheCon Europe 2014
Apache DeviceMap - ApacheCon Europe 2014
Werner Keil
 
Introduction to the OpenPOWER Foundation - Open Source Days event
Introduction to the OpenPOWER Foundation - Open Source Days eventIntroduction to the OpenPOWER Foundation - Open Source Days event
Introduction to the OpenPOWER Foundation - Open Source Days event
Mandie Quartly
 
Vulkan Update Japan Virtual Open House Feb 2021
Vulkan Update Japan Virtual Open House Feb 2021Vulkan Update Japan Virtual Open House Feb 2021
Vulkan Update Japan Virtual Open House Feb 2021
The Khronos Group Inc.
 
OpenPOWER Overview - August 2016
OpenPOWER Overview - August 2016OpenPOWER Overview - August 2016
OpenPOWER Overview - August 2016
Mandie Quartly
 
Automating a PostgreSQL High Availability Architecture with Ansible
Automating a PostgreSQL High Availability Architecture with AnsibleAutomating a PostgreSQL High Availability Architecture with Ansible
Automating a PostgreSQL High Availability Architecture with Ansible
EDB
 
Asynchronous architecture (Node.js & Vert.x)
Asynchronous architecture (Node.js & Vert.x)Asynchronous architecture (Node.js & Vert.x)
Asynchronous architecture (Node.js & Vert.x)
Yu Kwangjong
 
Infrastructure-as-Code with Puppet Enterprise in the Cloud - PuppetConf 2014
Infrastructure-as-Code with Puppet Enterprise in the Cloud - PuppetConf 2014Infrastructure-as-Code with Puppet Enterprise in the Cloud - PuppetConf 2014
Infrastructure-as-Code with Puppet Enterprise in the Cloud - PuppetConf 2014
Puppet
 
Co-Design Architecture for Exascale
Co-Design Architecture for ExascaleCo-Design Architecture for Exascale
Co-Design Architecture for Exascale
inside-BigData.com
 
HP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian Frank
HP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian FrankHP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian Frank
HP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian Frank
BeMyApp
 
HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3 HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3
BeMyApp
 
Se training storage grid webscale technical overview
Se training   storage grid webscale technical overviewSe training   storage grid webscale technical overview
Se training storage grid webscale technical overview
solarisyougood
 
HP Helion OpenStack step by step
HP Helion OpenStack step by stepHP Helion OpenStack step by step
HP Helion OpenStack step by step
Bruno Cornec
 
20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVM20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVM
Taewan Kim
 
What’s New in UniVerse 11.2
What’s New in UniVerse 11.2What’s New in UniVerse 11.2
What’s New in UniVerse 11.2
Rocket Software
 

What's hot (20)

Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
 
Scaling Apache Pulsar to 10 PB/day
Scaling Apache Pulsar to 10 PB/dayScaling Apache Pulsar to 10 PB/day
Scaling Apache Pulsar to 10 PB/day
 
2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion2015 UJUG, Servlet 4.0 portion
2015 UJUG, Servlet 4.0 portion
 
Apache Deep Learning 201
Apache Deep Learning 201Apache Deep Learning 201
Apache Deep Learning 201
 
OpenPOWER update for Linux on Power revolution event
OpenPOWER update for Linux on Power revolution eventOpenPOWER update for Linux on Power revolution event
OpenPOWER update for Linux on Power revolution event
 
Demystify OpenPOWER
Demystify OpenPOWERDemystify OpenPOWER
Demystify OpenPOWER
 
Apache DeviceMap - ApacheCon Europe 2014
Apache DeviceMap - ApacheCon Europe 2014Apache DeviceMap - ApacheCon Europe 2014
Apache DeviceMap - ApacheCon Europe 2014
 
Introduction to the OpenPOWER Foundation - Open Source Days event
Introduction to the OpenPOWER Foundation - Open Source Days eventIntroduction to the OpenPOWER Foundation - Open Source Days event
Introduction to the OpenPOWER Foundation - Open Source Days event
 
Vulkan Update Japan Virtual Open House Feb 2021
Vulkan Update Japan Virtual Open House Feb 2021Vulkan Update Japan Virtual Open House Feb 2021
Vulkan Update Japan Virtual Open House Feb 2021
 
OpenPOWER Overview - August 2016
OpenPOWER Overview - August 2016OpenPOWER Overview - August 2016
OpenPOWER Overview - August 2016
 
Automating a PostgreSQL High Availability Architecture with Ansible
Automating a PostgreSQL High Availability Architecture with AnsibleAutomating a PostgreSQL High Availability Architecture with Ansible
Automating a PostgreSQL High Availability Architecture with Ansible
 
Asynchronous architecture (Node.js & Vert.x)
Asynchronous architecture (Node.js & Vert.x)Asynchronous architecture (Node.js & Vert.x)
Asynchronous architecture (Node.js & Vert.x)
 
Infrastructure-as-Code with Puppet Enterprise in the Cloud - PuppetConf 2014
Infrastructure-as-Code with Puppet Enterprise in the Cloud - PuppetConf 2014Infrastructure-as-Code with Puppet Enterprise in the Cloud - PuppetConf 2014
Infrastructure-as-Code with Puppet Enterprise in the Cloud - PuppetConf 2014
 
Co-Design Architecture for Exascale
Co-Design Architecture for ExascaleCo-Design Architecture for Exascale
Co-Design Architecture for Exascale
 
HP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian Frank
HP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian FrankHP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian Frank
HP Helion Webinar #1 - Introduction to HP Helion OpenStack w/Christian Frank
 
HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3 HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3
 
Se training storage grid webscale technical overview
Se training   storage grid webscale technical overviewSe training   storage grid webscale technical overview
Se training storage grid webscale technical overview
 
HP Helion OpenStack step by step
HP Helion OpenStack step by stepHP Helion OpenStack step by step
HP Helion OpenStack step by step
 
20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVM20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVM
 
What’s New in UniVerse 11.2
What’s New in UniVerse 11.2What’s New in UniVerse 11.2
What’s New in UniVerse 11.2
 

Similar to Apache Geode: an efficient alternative to Kafka-Storm-Spark for Data Analytic

Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
William Markito Oliveira
 
Cloud-Native Streaming and Event-Driven Microservices
Cloud-Native Streaming and Event-Driven MicroservicesCloud-Native Streaming and Event-Driven Microservices
Cloud-Native Streaming and Event-Driven Microservices
VMware Tanzu
 
IESL Talk Series: Apache System Projects in the Real World
IESL Talk Series: Apache System Projects in the Real WorldIESL Talk Series: Apache System Projects in the Real World
IESL Talk Series: Apache System Projects in the Real WorldSrinath Perera
 
Developing Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaDeveloping Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache Kafka
Joe Stein
 
Crossing the CI/CD/DevOps Chasm
Crossing the CI/CD/DevOps ChasmCrossing the CI/CD/DevOps Chasm
Crossing the CI/CD/DevOps Chasm
VMware Tanzu
 
ITAM UK 2017 Open source alternatives_John Springall
ITAM UK 2017 Open source alternatives_John Springall ITAM UK 2017 Open source alternatives_John Springall
ITAM UK 2017 Open source alternatives_John Springall
Martin Thompson
 
Sustainable and Efficient GIS? Open Source it.
Sustainable and Efficient GIS? Open Source it. Sustainable and Efficient GIS? Open Source it.
Sustainable and Efficient GIS? Open Source it.
Mallon Technology
 
SpringOnePlatform2017 recap
SpringOnePlatform2017 recapSpringOnePlatform2017 recap
SpringOnePlatform2017 recap
minseok kim
 
Open Source vs Proprietary
Open Source vs ProprietaryOpen Source vs Proprietary
Open Source vs Proprietary
M. Antoinette Jerom
 
YugaByte DB—A Planet-Scale Database for Low Latency Transactional Apps
YugaByte DB—A Planet-Scale Database for Low Latency Transactional AppsYugaByte DB—A Planet-Scale Database for Low Latency Transactional Apps
YugaByte DB—A Planet-Scale Database for Low Latency Transactional Apps
VMware Tanzu
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
VMware Tanzu
 
Reactive Web Applications
Reactive Web ApplicationsReactive Web Applications
Reactive Web Applications
Rossen Stoyanchev
 
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
VMware Tanzu
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Christian Tzolov
 
Intro To Reactive Programming
Intro To Reactive ProgrammingIntro To Reactive Programming
Intro To Reactive Programming
Rossen Stoyanchev
 
Enterprise Systems Built With Microservices are Designed to Expect Failures, ...
Enterprise Systems Built With Microservices are Designed to Expect Failures, ...Enterprise Systems Built With Microservices are Designed to Expect Failures, ...
Enterprise Systems Built With Microservices are Designed to Expect Failures, ...
VMware Tanzu
 
PCF Platform Monitoring with Prometheus and Grafana
PCF Platform Monitoring with Prometheus and GrafanaPCF Platform Monitoring with Prometheus and Grafana
PCF Platform Monitoring with Prometheus and Grafana
VMware Tanzu
 
Intro to Reactive Programming
Intro to Reactive ProgrammingIntro to Reactive Programming
Intro to Reactive Programming
Stéphane Maldini
 
What We're Learning Adopting Spring Boot and PCF for Dell.com's eCommerce
What We're Learning Adopting Spring Boot and PCF for Dell.com's eCommerceWhat We're Learning Adopting Spring Boot and PCF for Dell.com's eCommerce
What We're Learning Adopting Spring Boot and PCF for Dell.com's eCommerce
VMware Tanzu
 
Connecting All Abstractions with Istio
Connecting All Abstractions with IstioConnecting All Abstractions with Istio
Connecting All Abstractions with Istio
VMware Tanzu
 

Similar to Apache Geode: an efficient alternative to Kafka-Storm-Spark for Data Analytic (20)

Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
 
Cloud-Native Streaming and Event-Driven Microservices
Cloud-Native Streaming and Event-Driven MicroservicesCloud-Native Streaming and Event-Driven Microservices
Cloud-Native Streaming and Event-Driven Microservices
 
IESL Talk Series: Apache System Projects in the Real World
IESL Talk Series: Apache System Projects in the Real WorldIESL Talk Series: Apache System Projects in the Real World
IESL Talk Series: Apache System Projects in the Real World
 
Developing Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache KafkaDeveloping Real-Time Data Pipelines with Apache Kafka
Developing Real-Time Data Pipelines with Apache Kafka
 
Crossing the CI/CD/DevOps Chasm
Crossing the CI/CD/DevOps ChasmCrossing the CI/CD/DevOps Chasm
Crossing the CI/CD/DevOps Chasm
 
ITAM UK 2017 Open source alternatives_John Springall
ITAM UK 2017 Open source alternatives_John Springall ITAM UK 2017 Open source alternatives_John Springall
ITAM UK 2017 Open source alternatives_John Springall
 
Sustainable and Efficient GIS? Open Source it.
Sustainable and Efficient GIS? Open Source it. Sustainable and Efficient GIS? Open Source it.
Sustainable and Efficient GIS? Open Source it.
 
SpringOnePlatform2017 recap
SpringOnePlatform2017 recapSpringOnePlatform2017 recap
SpringOnePlatform2017 recap
 
Open Source vs Proprietary
Open Source vs ProprietaryOpen Source vs Proprietary
Open Source vs Proprietary
 
YugaByte DB—A Planet-Scale Database for Low Latency Transactional Apps
YugaByte DB—A Planet-Scale Database for Low Latency Transactional AppsYugaByte DB—A Planet-Scale Database for Low Latency Transactional Apps
YugaByte DB—A Planet-Scale Database for Low Latency Transactional Apps
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
 
Reactive Web Applications
Reactive Web ApplicationsReactive Web Applications
Reactive Web Applications
 
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
Simple Data Movement Patterns: Legacy Application to Cloud-Native Environment...
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
 
Intro To Reactive Programming
Intro To Reactive ProgrammingIntro To Reactive Programming
Intro To Reactive Programming
 
Enterprise Systems Built With Microservices are Designed to Expect Failures, ...
Enterprise Systems Built With Microservices are Designed to Expect Failures, ...Enterprise Systems Built With Microservices are Designed to Expect Failures, ...
Enterprise Systems Built With Microservices are Designed to Expect Failures, ...
 
PCF Platform Monitoring with Prometheus and Grafana
PCF Platform Monitoring with Prometheus and GrafanaPCF Platform Monitoring with Prometheus and Grafana
PCF Platform Monitoring with Prometheus and Grafana
 
Intro to Reactive Programming
Intro to Reactive ProgrammingIntro to Reactive Programming
Intro to Reactive Programming
 
What We're Learning Adopting Spring Boot and PCF for Dell.com's eCommerce
What We're Learning Adopting Spring Boot and PCF for Dell.com's eCommerceWhat We're Learning Adopting Spring Boot and PCF for Dell.com's eCommerce
What We're Learning Adopting Spring Boot and PCF for Dell.com's eCommerce
 
Connecting All Abstractions with Istio
Connecting All Abstractions with IstioConnecting All Abstractions with Istio
Connecting All Abstractions with Istio
 

More from VMware Tanzu

Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 

More from VMware Tanzu (20)

Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 

Apache Geode: an efficient alternative to Kafka-Storm-Spark for Data Analytic

  • 1. Apache Geode An efficient alternative to Kafka-Storm-Spark By Paul Perez Pymma 1
  • 2. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ About (s) Paul Perez Architect at Pymma Fan of integration technologies Long love story with Geode family 1998: Gemstone App Server 2006: Presale in UK 2017: Geode features in OpenESB 2 Bureau of IT architecture Based in London (UK) Founded in 1999 Expertise on Architecture design Software integration One of the main OpenESB contributors
  • 3. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ About OpenESB Three examples 1-Service oriented projects 2-Domain synchronisation 3-Exchanges between data sets More than an Enterprise Service Bus It is an Extended Service Bus 3 Open Extended Services Bus Powerful integration tool Reliable, light and scalable Integration best practices Ubiquitous product Large systems to Raspberry PIs Used in a large scope of projects
  • 4. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 4 Receive Transfer order by email Swift transfer Send email for confirmation Check account Banker validation Log transaction Check rights Ex 01: Service Oriented Application 4 Manual Validation Service invocation Service publication Service orchestration Service composition International Fund transfer
  • 5. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 5 Ex 02: Domains synchronization 5 Domain Model Pilote Domain Model Meals Domain Model Luggage Domain Model Ticket Domain Model Plane Domain Model Airport UPDATE Dependency Knowledge = dependency Difficulties to upgrade the domains Domain-Driven Design
  • 6. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Domain Model Luggage Domain Model Ticket Update Update Ex 02: Domains synchronization 6 Domain Model Pilote Domain Model Meals Domain Model Plane Domain Model Airport Update Event Update Update Update No Dependency
  • 7. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Ex 03: Exchanges between data sets 7 • Street lights • Cross road • Monument 400 000 light sources in Paris • Long delay before fault detection • Long delay to inform the maintenance teams Street light maintenance is difficult
  • 8. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Ex 03: Exchanges between data sets 8 Street light Light sensor Internet relay Light Regular messages Analytics toolTask lists for maintenance teams Storage
  • 9. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Ex 03: Exchanges between data sets 9 Reporting Tools MQTT Messages MQTT Servers Relational Database Intelligent Event Processing Intelligent Event Processing
  • 10. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Analytics System OpenESB and Analytic requirements 10 Process Start Process Complete
  • 11. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What are our constraints? Two main constraints The event content is a raw message to refine What – when – where Billions of events are generated daily Process, activity and variable events The analytics process must run out of OpenESB OpenESB has not been designed for this task OpenESB resources must be mainly dedicated for the processes An external system is needed to fulfil analytics requirements 11
  • 12. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Events and messages processing 12 External System Events Which external analytic system for OpenESB ?
  • 13. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Educational example for this presentation 13 Compute duration Average per day Average per sec Average per min Average per hour Process Start Process Complete
  • 14. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ External System: Global view 14 External System Buffer Engine Persistence Engine Design for stream processing Good performances Horizontal scalability Java language supported Buffer Asynchronous ingestion Compliant with the engine Horizontal scalability Java language supported Persistence container Any type of persistence SQL-NoSQL File System Not covered here
  • 15. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ External System: The buffer Asynchronous partner Wonderful data ingestion Very good feedback Lot of learning resources available Uses disks to store messages Requires Zookeeper to run Powerful message ingestion Asynchronous communication Release OpenESB resources Good guarantee of delivery Horizonal scalability Compliant with many engines 15 Buffer
  • 16. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ External System: The engine Spark and Storm were good candidates Designed for “real time” streaming Good horizontal scalability Good feedbacks from many projects We decided to use Storm Storm: Matched our background Spark: Very active project Spark: Micro batch less suitable for streaming Spark: Java API more complex (Scala) Storm: Easier to understand Storm: Elegant architecture Storm: Requires Zookeeper to run 16
  • 17. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ External System: The engine 17 Compute Duration Average per day Average per sec Average per min Average per hour BPEL complete BPEL start Spout Bolt Persistenc e Topology
  • 18. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Executor External System: The engine 18 Topology Executor Executor Executor
  • 19. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ External System Powerful event processing chain Worked well and quickly in a POC Provides a good horizontal scalability Complex to install Requires too many skills and too much expertise Logically, our customers refused this offer Our customers wanted a simpler solution 19 ZOOKEEPER
  • 20. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 20 An alternative ?
  • 21. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Apache geode: an alternative We searched for a simpler solution An all-in-one product to replace, the buffer and engine Research on the market Gemfire / Geode looked like a good candidate We had enough background to give Geode a go Apache Geode Good message ingestion Horizontal scalability Event framework that can compete with Storm 21
  • 22. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Kafka and Geode comparison Strong capability of ingestion Good horizontal scalability High quality of service Fault tolerance Stores data on disk Requires ZooKeeper Mainly the same features but Simpler to understand No additional products needed Stores data in memory Memory is limited (few TBytes) (We don’t need Terabytes of memory) 22
  • 23. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Storm and Geode comparison Light and efficient architecture Dedicated for event-stream processing Designed for process parallelisation Does not deal with data storage Horizontal scalability Requires ZooKeeper Single point of failure possible Often seen as a distributed cache but Complete Event framework Developed to design push architectures No additional product No single point of failure No congestion point Data and processes collocate in Geode 23
  • 24. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 24 Asynchronous event framework
  • 25. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Region N Handler 01 Region 01 Asynchronous Event framework 25 Asynchronous Event Queue Event Events Geode event framework Entry creation, update, deletion generates events Events are sent to a queue The handlers feed the next regions to carry on the analytics process This design is similar to the one defined in Storm The analytics process is smartly divided in steps Event
  • 26. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Asynchronous Event framework AEQ in parallel mode vs serial mode Parallel= false: serial mode One queue per region (Keep events order, but possible point of contention) Parallel= true: parallel mode One queue per member per region (Horizontal Scalability) 26 create async-event-queue --id=BPELAEQ -- listener=com.pymma.bpel.monitoring.geode.aggregation.BPELEventAggregation Duration --parallel=true --batch-size=10000 -- batch-time-interval=100 -- group=groupA create region --name=eventBpelStop --type=PARTITION --group=groupA
  • 27. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Machine 01 Machine 03 Machine 02 Asynchronous Event framework Parallel=false Mode=Serial Keep event order Contention possible 27 A2 A1 A3 Handler
  • 28. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Machine 01 Machine 03 Machine 02 Asynchronous Event framework Parallel=True Mode=Parallel Horizontal scalability 28 A2 A1 A3 Handler Handler Handler
  • 29. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Machine 03 Machine 01 Geode scalability 29 01 Compute 01 02 01 Compute 01 02 Machine 02 01 Compute 01 02 Compute 02 03 Compute 02 03 Compute 02 03
  • 30. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Geode Scalability Partitioned regions improve the horizontal scalability Automatic scalability Not the case with replicated regions Bonus: High guarantee of delivery Automatic redundancy in case of failure Redundant entries don’t generate multiple events A region event is generated once and only once The event unicity is guaranteed 30
  • 31. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Storm vs Geode scalability 31 Spout
  • 32. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Storm vs Geode scalability 32 Storm’s scalability: Provided by the bolts redundancy Geode scalability: Provided by the process redundancy Scalability granularity Storm: Tuning at the step level (finest granularity) Geode: Tuning at the process level (coarsest granularity) Additional effort required to get the same granularity level
  • 33. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Geode scalability 33 01 02 01 02 01 02 03 03 03 02 02
  • 34. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Geode scalability 34 Adding regions could be an opportunity To increase the scalability of a step To get a better granularity for the scalability But it stops the opportunity To improve the collocation To run all the process steps in the same JVM To avoid network slowdowns See Murex “Olivier Mallassi” SpringOne 2016 Topic behind the scope of this presentation
  • 35. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Conclusion 35 ZOOKEEPER
  • 36. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Conclusion Good performances Simple deployment Easy scalability Just add new members Reliability No single point of failure Less resource and budget required More flexible architecture Better acceptance from our customers Good performances Complex deployment Complex Scalability Combination Kafka, Storm, Zookeeper Storm: Fine grain scalability Reliability Presumed SPOF with Storm/Nimbus High resource and budget required Rejected by our customers 36 Apache GeodeKafka + Storm + Zookeeper
  • 37. Unless otherwise indicated, these slides are © 2013 -2016 Piv otal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Conclusion Geode has a unique design Data and processes collocate in the same environment Ultra fast exchanges in memory For our project This design overcomes Kafka, Storm used separately It advantageously supersedes Kafka + Storm together Apache geode became our first choice for that project 37
  • 38. Thank you for your interest !!! Questions and Comments ?