SlideShare a Scribd company logo
Modern Stream Processing
with Apache Flink®
Till Rohrmann
@stsffap
GOTO Berlin 2017
1
2
Original creators of
Apache Flink®
dA Platform 2
Open Source Apache Flink
+ dA Application Manager
What changes faster? Data or Query?
3
Data changes slowly
compared to fast
changing queries
ad-hoc queries, data
exploration, ML training and
(hyper) parameter tuning
Batch Processing
Use Case
Data changes fast
application logic
is long-lived
continuous applications,
data pipelines, standing queries,
anomaly detection, ML evaluation,
…
Stream Processing
Use Case
Batch Processing
4
Stream Processing
5
6
Apache Flink in a Nutshell
Apache Flink in a Nutshell
7
Queries
Applications
Devices
etc.
Database
Stream
File	/	Object
Storage
Stateful computations over streams
real-time and historic
fast, scalable, fault tolerant, in-memory,
event time, large state, exactly-once
Historic
Data
Streams
Application
8
Event Streams State (Event) Time Snapshots
The Core Building Blocks
real-time and
hindsight
complex
business logic
consistency with
out-of-order data
and late data
forking /
versioning /
time-travel
Powerful Abstractions
9
Process Function (events, state, time)
DataStream API (streams, windows)
Stream SQL / Tables (dynamic tables)
Stream- & Batch
Data Processing
High-level
Analytics API
Stateful Event-
Driven Applications
val stats = stream
.keyBy("sensor")
.timeWindow(Time.seconds(5))
.sum((a, b) -> a.add(b))
def processElement(event: MyEvent, ctx: Context, out: Collector[Result]) = {
// work with event and state
(event, state.value) match { … }
out.collect(…) // emit events
state.update(…) // modify state
// schedule a timer callback
ctx.timerService.registerEventTimeTimer(event.timestamp + 500)
}
Layered abstractions to
navigate simple to complex use cases
Hardened at scale
10
Athena X Streaming SQL
Platform Service
Streaming Platform as a Service
Fraud detection
Streaming Analytics Platform
100s jobs, 1000s nodes, TBs state
metrics, analytics, real time ML
Streaming SQL as a platform
11
Distributed application
infrastructure
Good old centralized architecture
12
The big mean
central database
$$$
The grumpy
DBA
Application Application Application Application
Write log and tables
13
From	the	Apache	Cassandra	docs
Modern distributed app. architecture
14
Event	Sourcing
Turning	the	DB	inside	out
CQRS
Modern distributed app. architecture
15
Application
Sensor
APIs
Application
Application
Application
The limit to what you can do is how sophisticated
can you compute over the stream!
Boils down to: How well do you handle state and time
16
A Flink-favored approach
Event Sourcing + Memory Image
17
event log
persists events
(temporarily)
event /
command
Process
main memory
update local
variables/structures
periodically
snapshot the
memory
Event Sourcing + Memory Image
18
Recovery: Restore snapshot and replay
events since snapshot
event log
persists events
(temporarily)
Process
Distributed Memory Image
19
Distributed application, many memory images.
Snapshots are all consistent together.
Stateful Event & Stream Processing
20
Scalable embedded state
Access at memory speed &
scales with parallel operators
Compute, State, and Storage
21
Classic tiered architecture Streaming architecture
database
layer
compute
layer
application state
+ backup
compute
+
stream storage
and
snapshot storage
(backup)
application state
Performance
22
synchronous reads/writes
across tier boundary
asynchronous writes
of large blobs
all modifications
are local
Classic tiered architecture Streaming architecture
Consistency
23
distributed transactions
at scale typically
at-most / at-least once
exactly once
per state =1 =1
Classic tiered architecture Streaming architecture
Scaling a Service
24
separately provision additional
database capacity
provision compute
and state together
Classic tiered architecture Streaming architecture
provision
compute
Rolling out a new Service
25
provision a new database
(or add capacity to an existing one)
simply occupies some
additional backup space
Classic tiered
architecture
Streaming architecture
provision compute
and state together
What users built on checkpoints…
§ Upgrades and Rollbacks
§ Cross Datacenter Failover
§ State Archiving
§ Application Migration
§ Spot Instance Region Chasing
§ A/B testing
§ …
26
27
What is the next wave of
stream processing
applications?
What changes faster? Data or Query?
28
Data changes slowly
compared to fast
changing queries
ad-hoc queries, data
exploration, ML training and
tuning
Batch Processing
Use Case
Data changes fast
application logic
is long-lived
continuous applications,
data pipelines, standing queries,
anomaly detection, ML evaluation,
…
Stream Processing
Use Case
Analytics & Business Logic
29
Stream
Source analytics metrics
Business
Logic
Stream
Processor
events
ApplicationDatabase
Blending Analytics & Business Logic
30
Stream
Source
Streaming
Application
Stream
Processor
events
RPCs
(Actor)
Messages
…
AthenaX by Uber
31
32
Can one build an entire sophisticated
web application (say a social network)
on a stream processor?
(Yes, we can!™)
33
Social network implemented using event sourcing
and CQRS (Command Query Responsibility
Segregation) on Kafka/Flink/Elasticsearch/Redis
More:	https://data-artisans.com/blog/drivetribe-cqrs-apache-flink
@
34
The next wave of stream
processing applications…
… is all types of stateful
applications that react to
data and time!
35
Stateful stream
applications
versioning, upgrading,
rollback, duplicating,
migrating, …
Continuous
applications
The dA Platform Architecture
36
dA Platform 2
Apache Flink
Stateful stream processing
Kubernetes
Container platform
Logging
Streams from
Kafka, Kinesis,
S3, HDFS,
Databases, ...
dA
Application
Manager
Application lifecycle
management
Metrics
CI/CD
Real-time
Analytics
Anomaly- &
Fraud Detection
Real-time
Data Integration
Reactive
Microservices
(and more)
Versioned Applications, not Jobs/Jars
37
Stream
Processing
Application
Version 3
Version 2
Version 1
Code and Application
Snapshot
upgrade
upgrade
New Application
Version 3a
Version 2a
fork /
duplicate
Deployments, not Flink Clusters
38
Testing / QA Kubernetes Cluster Production Kubernetes Cluster
Threat Metrics
App. Testing
Activity Monitor
Application
Fraud Detection
Application
Fraud Detection
App. Testing
Hooks for CI/CD pipelines
39
Kubernetes Cluster
Application
Version 1
CI Service
dA
Application
Manager
push
update
trigger
CI
upgrade
API
stateful
upgrade
Application
Version 2
4
Thank you!
@stsffap
@ApacheFlink
@dataArtisans
We are hiring!
data-artisans.com/careers
41

More Related Content

PDF
Flink Forward Berlin 2017: Jörg Schad, Till Rohrmann - Apache Flink meets Apa...
PDF
Apache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup Berlin
PPTX
From Apache Flink® 1.3 to 1.4
PDF
Scaling stream data pipelines with Pravega and Apache Flink
PDF
Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck - Pravega: Storage Rei...
PDF
Till Rohrmann - Dynamic Scaling - How Apache Flink adapts to changing workloads
PPTX
Fabian Hueske - Stream Analytics with SQL on Apache Flink
PPTX
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4
Flink Forward Berlin 2017: Jörg Schad, Till Rohrmann - Apache Flink meets Apa...
Apache Flink Meets Apache Mesos And DC/OS @ Mesos Meetup Berlin
From Apache Flink® 1.3 to 1.4
Scaling stream data pipelines with Pravega and Apache Flink
Flink Forward SF 2017: Srikanth Satya & Tom Kaitchuck - Pravega: Storage Rei...
Till Rohrmann - Dynamic Scaling - How Apache Flink adapts to changing workloads
Fabian Hueske - Stream Analytics with SQL on Apache Flink
Flink Forward Berlin 2017: Till Rohrmann - From Apache Flink 1.3 to 1.4

What's hot (20)

PPTX
Stephan Ewen - Experiences running Flink at Very Large Scale
PPTX
Apache Flink Berlin Meetup May 2016
PPTX
Flink Forward Berlin 2017: Fabian Hueske - Using Stream and Batch Processing ...
PDF
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...
PDF
A look at Flink 1.2
PDF
Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)
PPTX
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
PDF
Stateful stream processing with Apache Flink
PPTX
data Artisans Product Announcement
PPTX
A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)
PDF
Flink forward SF 2017: Elizabeth K. Joseph and Ravi Yadav - Flink meet DC/OS ...
PDF
Stateful Distributed Stream Processing
PPTX
Robust stream processing with Apache Flink
PPTX
The Stream Processor as the Database - Apache Flink @ Berlin buzzwords
PDF
Flink Forward Berlin 2017: Stephan Ewen - The State of Flink and how to adopt...
PPTX
Apache flink 1.7 and Beyond
PDF
Zurich Flink Meetup
PPTX
Till Rohrmann – Fault Tolerance and Job Recovery in Apache Flink
PPTX
Data Stream Processing with Apache Flink
PDF
Gelly-Stream: Single-Pass Graph Streaming Analytics with Apache Flink
Stephan Ewen - Experiences running Flink at Very Large Scale
Apache Flink Berlin Meetup May 2016
Flink Forward Berlin 2017: Fabian Hueske - Using Stream and Batch Processing ...
Flink Forward Berlin 2017: Steffen Hausmann - Build a Real-time Stream Proces...
A look at Flink 1.2
Stream Processing with Apache Flink (Flink.tw Meetup 2016/07/19)
Flink Forward San Francisco 2018 keynote: Stephan Ewen - "What turns stream p...
Stateful stream processing with Apache Flink
data Artisans Product Announcement
A Data Streaming Architecture with Apache Flink (berlin Buzzwords 2016)
Flink forward SF 2017: Elizabeth K. Joseph and Ravi Yadav - Flink meet DC/OS ...
Stateful Distributed Stream Processing
Robust stream processing with Apache Flink
The Stream Processor as the Database - Apache Flink @ Berlin buzzwords
Flink Forward Berlin 2017: Stephan Ewen - The State of Flink and how to adopt...
Apache flink 1.7 and Beyond
Zurich Flink Meetup
Till Rohrmann – Fault Tolerance and Job Recovery in Apache Flink
Data Stream Processing with Apache Flink
Gelly-Stream: Single-Pass Graph Streaming Analytics with Apache Flink
Ad

Viewers also liked (10)

PDF
Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)
PPTX
Perfecting Your Streaming Skills with Spark and Real World IoT Data
PPTX
Metrics are Not Enough: Monitoring Apache Kafka / Gwen Shapira (Confluent)
PPTX
Enabling Real-Time Business with Change Data Capture
PDF
Denodo DataFest 2017: Integrating Big Data and Streaming Data with Enterprise...
PDF
Data Stream Processing - Concepts and Frameworks
PDF
Build your First IoT Application with IBM Watson IoT
PDF
[Big Data Spain] Apache Spark Streaming + Kafka 0.10: an Integration Story
PDF
[Spark Summit EU 2017] Apache spark streaming + kafka 0.10 an integration story
PDF
Denodo DataFest 2017: Outpace Your Competition with Real-Time Responses
Реактивные микросервисы с Apache Kafka / Денис Иванов (2ГИС)
Perfecting Your Streaming Skills with Spark and Real World IoT Data
Metrics are Not Enough: Monitoring Apache Kafka / Gwen Shapira (Confluent)
Enabling Real-Time Business with Change Data Capture
Denodo DataFest 2017: Integrating Big Data and Streaming Data with Enterprise...
Data Stream Processing - Concepts and Frameworks
Build your First IoT Application with IBM Watson IoT
[Big Data Spain] Apache Spark Streaming + Kafka 0.10: an Integration Story
[Spark Summit EU 2017] Apache spark streaming + kafka 0.10 an integration story
Denodo DataFest 2017: Outpace Your Competition with Real-Time Responses
Ad

Similar to Modern Stream Processing With Apache Flink @ GOTO Berlin 2017 (20)

PPTX
Keynote: Stephan Ewen - Stream Processing as a Foundational Paradigm and Apac...
PPTX
Flink Forward SF 2017: Stephan Ewen - Convergence of real-time analytics and ...
PPTX
Stephan Ewen - Stream Processing as a Foundational Paradigm and Apache Flink'...
PPTX
GOTO Night Amsterdam - Stream processing with Apache Flink
PPTX
The Stream Processor as a Database Apache Flink
PDF
The Power of Distributed Snapshots in Apache Flink
PDF
Building Applications with Streams and Snapshots
PDF
Stream Processing with Apache Flink
PPTX
Overview of Apache Flink: the 4G of Big Data Analytics Frameworks
PPTX
Overview of Apache Fink: the 4 G of Big Data Analytics Frameworks
PPTX
Overview of Apache Fink: The 4G of Big Data Analytics Frameworks
PPTX
QCon London - Stream Processing with Apache Flink
PDF
Santander Stream Processing with Apache Flink
PPTX
Streaming in the Wild with Apache Flink
PPTX
Flink Forward Berlin 2018: Aljoscha Krettek & Till Rohrmann - Keynote: "A Yea...
PPTX
The Past, Present, and Future of Apache Flink
PPTX
Apache Flink: Past, Present and Future
PPTX
Streaming in the Wild with Apache Flink
PDF
Apache Flink @ Tel Aviv / Herzliya Meetup
PPTX
Why apache Flink is the 4G of Big Data Analytics Frameworks
Keynote: Stephan Ewen - Stream Processing as a Foundational Paradigm and Apac...
Flink Forward SF 2017: Stephan Ewen - Convergence of real-time analytics and ...
Stephan Ewen - Stream Processing as a Foundational Paradigm and Apache Flink'...
GOTO Night Amsterdam - Stream processing with Apache Flink
The Stream Processor as a Database Apache Flink
The Power of Distributed Snapshots in Apache Flink
Building Applications with Streams and Snapshots
Stream Processing with Apache Flink
Overview of Apache Flink: the 4G of Big Data Analytics Frameworks
Overview of Apache Fink: the 4 G of Big Data Analytics Frameworks
Overview of Apache Fink: The 4G of Big Data Analytics Frameworks
QCon London - Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
Streaming in the Wild with Apache Flink
Flink Forward Berlin 2018: Aljoscha Krettek & Till Rohrmann - Keynote: "A Yea...
The Past, Present, and Future of Apache Flink
Apache Flink: Past, Present and Future
Streaming in the Wild with Apache Flink
Apache Flink @ Tel Aviv / Herzliya Meetup
Why apache Flink is the 4G of Big Data Analytics Frameworks

More from Till Rohrmann (15)

PDF
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
PDF
Elastic Streams at Scale @ Flink Forward 2018 Berlin
PDF
Apache Flink® Meets Apache Mesos® and DC/OS
PDF
Apache Flink and More @ MesosCon Asia 2017
PPTX
Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017
PDF
Gilbert: Declarative Sparse Linear Algebra on Massively Parallel Dataflow Sys...
PDF
Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...
PDF
Streaming Analytics & CEP - Two sides of the same coin?
PDF
Apache Flink: Streaming Done Right @ FOSDEM 2016
PDF
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
PDF
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
PDF
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
PDF
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
PDF
Machine Learning with Apache Flink at Stockholm Machine Learning Group
PDF
Introduction to Apache Flink - Fast and reliable big data processing
Future of Apache Flink Deployments: Containers, Kubernetes and More - Flink F...
Elastic Streams at Scale @ Flink Forward 2018 Berlin
Apache Flink® Meets Apache Mesos® and DC/OS
Apache Flink and More @ MesosCon Asia 2017
Redesigning Apache Flink's Distributed Architecture @ Flink Forward 2017
Gilbert: Declarative Sparse Linear Algebra on Massively Parallel Dataflow Sys...
Dynamic Scaling: How Apache Flink Adapts to Changing Workloads (at FlinkForwa...
Streaming Analytics & CEP - Two sides of the same coin?
Apache Flink: Streaming Done Right @ FOSDEM 2016
Streaming Data Flow with Apache Flink @ Paris Flink Meetup 2015
Fault Tolerance and Job Recovery in Apache Flink @ FlinkForward 2015
Interactive Data Analysis with Apache Flink @ Flink Meetup in Berlin
Computing recommendations at extreme scale with Apache Flink @Buzzwords 2015
Machine Learning with Apache Flink at Stockholm Machine Learning Group
Introduction to Apache Flink - Fast and reliable big data processing

Recently uploaded (20)

PDF
A comparative analysis of optical character recognition models for extracting...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
cuic standard and advanced reporting.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
1. Introduction to Computer Programming.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Machine Learning_overview_presentation.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Getting Started with Data Integration: FME Form 101
A comparative analysis of optical character recognition models for extracting...
The Rise and Fall of 3GPP – Time for a Sabbatical?
“AI and Expert System Decision Support & Business Intelligence Systems”
cuic standard and advanced reporting.pdf
Programs and apps: productivity, graphics, security and other tools
1. Introduction to Computer Programming.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Accuracy of neural networks in brain wave diagnosis of schizophrenia
20250228 LYD VKU AI Blended-Learning.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Machine Learning_overview_presentation.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Spectral efficient network and resource selection model in 5G networks
Getting Started with Data Integration: FME Form 101

Modern Stream Processing With Apache Flink @ GOTO Berlin 2017

  • 1. Modern Stream Processing with Apache Flink® Till Rohrmann @stsffap GOTO Berlin 2017 1
  • 2. 2 Original creators of Apache Flink® dA Platform 2 Open Source Apache Flink + dA Application Manager
  • 3. What changes faster? Data or Query? 3 Data changes slowly compared to fast changing queries ad-hoc queries, data exploration, ML training and (hyper) parameter tuning Batch Processing Use Case Data changes fast application logic is long-lived continuous applications, data pipelines, standing queries, anomaly detection, ML evaluation, … Stream Processing Use Case
  • 6. 6 Apache Flink in a Nutshell
  • 7. Apache Flink in a Nutshell 7 Queries Applications Devices etc. Database Stream File / Object Storage Stateful computations over streams real-time and historic fast, scalable, fault tolerant, in-memory, event time, large state, exactly-once Historic Data Streams Application
  • 8. 8 Event Streams State (Event) Time Snapshots The Core Building Blocks real-time and hindsight complex business logic consistency with out-of-order data and late data forking / versioning / time-travel
  • 9. Powerful Abstractions 9 Process Function (events, state, time) DataStream API (streams, windows) Stream SQL / Tables (dynamic tables) Stream- & Batch Data Processing High-level Analytics API Stateful Event- Driven Applications val stats = stream .keyBy("sensor") .timeWindow(Time.seconds(5)) .sum((a, b) -> a.add(b)) def processElement(event: MyEvent, ctx: Context, out: Collector[Result]) = { // work with event and state (event, state.value) match { … } out.collect(…) // emit events state.update(…) // modify state // schedule a timer callback ctx.timerService.registerEventTimeTimer(event.timestamp + 500) } Layered abstractions to navigate simple to complex use cases
  • 10. Hardened at scale 10 Athena X Streaming SQL Platform Service Streaming Platform as a Service Fraud detection Streaming Analytics Platform 100s jobs, 1000s nodes, TBs state metrics, analytics, real time ML Streaming SQL as a platform
  • 12. Good old centralized architecture 12 The big mean central database $$$ The grumpy DBA Application Application Application Application
  • 13. Write log and tables 13 From the Apache Cassandra docs
  • 14. Modern distributed app. architecture 14 Event Sourcing Turning the DB inside out CQRS
  • 15. Modern distributed app. architecture 15 Application Sensor APIs Application Application Application The limit to what you can do is how sophisticated can you compute over the stream! Boils down to: How well do you handle state and time
  • 17. Event Sourcing + Memory Image 17 event log persists events (temporarily) event / command Process main memory update local variables/structures periodically snapshot the memory
  • 18. Event Sourcing + Memory Image 18 Recovery: Restore snapshot and replay events since snapshot event log persists events (temporarily) Process
  • 19. Distributed Memory Image 19 Distributed application, many memory images. Snapshots are all consistent together.
  • 20. Stateful Event & Stream Processing 20 Scalable embedded state Access at memory speed & scales with parallel operators
  • 21. Compute, State, and Storage 21 Classic tiered architecture Streaming architecture database layer compute layer application state + backup compute + stream storage and snapshot storage (backup) application state
  • 22. Performance 22 synchronous reads/writes across tier boundary asynchronous writes of large blobs all modifications are local Classic tiered architecture Streaming architecture
  • 23. Consistency 23 distributed transactions at scale typically at-most / at-least once exactly once per state =1 =1 Classic tiered architecture Streaming architecture
  • 24. Scaling a Service 24 separately provision additional database capacity provision compute and state together Classic tiered architecture Streaming architecture provision compute
  • 25. Rolling out a new Service 25 provision a new database (or add capacity to an existing one) simply occupies some additional backup space Classic tiered architecture Streaming architecture provision compute and state together
  • 26. What users built on checkpoints… § Upgrades and Rollbacks § Cross Datacenter Failover § State Archiving § Application Migration § Spot Instance Region Chasing § A/B testing § … 26
  • 27. 27 What is the next wave of stream processing applications?
  • 28. What changes faster? Data or Query? 28 Data changes slowly compared to fast changing queries ad-hoc queries, data exploration, ML training and tuning Batch Processing Use Case Data changes fast application logic is long-lived continuous applications, data pipelines, standing queries, anomaly detection, ML evaluation, … Stream Processing Use Case
  • 29. Analytics & Business Logic 29 Stream Source analytics metrics Business Logic Stream Processor events ApplicationDatabase
  • 30. Blending Analytics & Business Logic 30 Stream Source Streaming Application Stream Processor events RPCs (Actor) Messages …
  • 32. 32 Can one build an entire sophisticated web application (say a social network) on a stream processor? (Yes, we can!™)
  • 33. 33 Social network implemented using event sourcing and CQRS (Command Query Responsibility Segregation) on Kafka/Flink/Elasticsearch/Redis More: https://data-artisans.com/blog/drivetribe-cqrs-apache-flink @
  • 34. 34 The next wave of stream processing applications… … is all types of stateful applications that react to data and time!
  • 35. 35 Stateful stream applications versioning, upgrading, rollback, duplicating, migrating, … Continuous applications
  • 36. The dA Platform Architecture 36 dA Platform 2 Apache Flink Stateful stream processing Kubernetes Container platform Logging Streams from Kafka, Kinesis, S3, HDFS, Databases, ... dA Application Manager Application lifecycle management Metrics CI/CD Real-time Analytics Anomaly- & Fraud Detection Real-time Data Integration Reactive Microservices (and more)
  • 37. Versioned Applications, not Jobs/Jars 37 Stream Processing Application Version 3 Version 2 Version 1 Code and Application Snapshot upgrade upgrade New Application Version 3a Version 2a fork / duplicate
  • 38. Deployments, not Flink Clusters 38 Testing / QA Kubernetes Cluster Production Kubernetes Cluster Threat Metrics App. Testing Activity Monitor Application Fraud Detection Application Fraud Detection App. Testing
  • 39. Hooks for CI/CD pipelines 39 Kubernetes Cluster Application Version 1 CI Service dA Application Manager push update trigger CI upgrade API stateful upgrade Application Version 2