SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Rovio © 2018Rovio © 2017 Confidential
HOWTOKEEPOURFLOCKHAPPY
WITHAPACHEFLINKONAWS
Rovio © 2018
AGENDA
ANALYTICS @ ROVIO
WHAT IS ROVIO AND HOW DOES ROVIO UTILIZE DATA?
DO WE NEED STREAMING?
WHY WOULD A COMPANY WITH A WORKING BATCH
PROCESSING PIPELINE INVEST IN STREAMING? WHAT
USE CASES ROVIO CURRENTLY RUNS IN STREAMING?
RUNNING FLINK IN PRODUCTION ON AWS
HOW DOES ROVIO OPERATE ITS PRODUCTION
PIPELINE IN AWS?
Rovio © 2018
This project has received funding from the European Union’s Horizon 2020
research and innovation program under grant agreement No. 688191.
Rovio © 2018
WE ARE HIRING!
Rovio © 2017 Confidential
SENIOR DATA ANALYST (STOCKHOLM)
BLOCKCHAIN RESEARCH DEVELOPER
… AND ALWAYS LOOKING FOR NEW
TALENT
Photo: Lauri Rotko
Rovio © 2018
POSITIONING
Rovio © 2018
OURMISSION
Rovio © 2018
INANEGGSHELL
2003
FOUNDED IN
CREATOR OF
BUSINESS UNITS
GAMES
3 STUDIOS
BRAND
LICENSING
< 400ROVIANS
ESPOO, STOCKHOLM, LONDON,
SHANGHAI, LA
PEOPLE
4BSINCE 2009
DOWNLOADS
$350M
BOX OFFICE SEQUEL
SEPTEMBER 2019
Rovio © 2018
HOWDOWEUSEDATA?
MARKET
RESEARCH
PERFORMANCE
MARKETING
GAME
OPTIMIZATION
Rovio © 2018
PIPELINE
Rovio © 2018
BEACON
ANALYTICS A/BTESTING PERSONALIZATION
PAYMENT ADS PUSH
Rovio © 2018
BEACON-MANAGE
Show one forced
interstitial and
only show xpromo
reward videos for
churning players
Rovio © 2018
27% more xpromo users
0% retention impact
Rovio © 2018
DO WE NEED STREAMING?
Rovio © 2018
TIME TO DATA
Rovio © 2018
ANOMALYDETECTION
Rovio © 2018
Rovio © 2018
PERSONALIZATION
Rovio © 2018
INTEGRATIONWITH3RD PARTYSYSTEMS
Rovio © 2018
STREAMINGDEDUPLICATION
Rovio © 2018
INPROGRESS:STREAMING4ALL?
Rovio © 2018
WHAT WE NEED TO RUN
STREAMING PRODUCTION
PIPELINE?
Rovio © 2018
WENEED…
DATA
Backfillingthe
historicaldata
SLA
Systemmustoperate
24/7
CI
Implementand
deployfeaturescare
free
Rovio © 2018
HOW DO WE OPERATE
AND MONITOR FLINK
STREAMS?
GITFLOW INSPIRED BRANCHING
STRATEGY IN GITHUB.
TEAMCITY PROJECTS TO BUILD
AND DEPLOY FLINK STREAM
UBER JARS TO DEVELOPMENT,
STAGING AND PRODUCTION
S3 BUCKETS.
Rovio © 2018
AZKABAN WORKFLOW MANAGER WITH FLINK PLUGIN
USED TO ORCHESTRATE ENABLED EMR CLUSTERS
ELASTIC MAPREDUCE WITH YARN
BOOTSTRAP ACTIONS TO SETUP FLINK, LOGGING AND
MONITORING
CUSTOM TOOLS AND
LIBRARIES MOSTLY FOR
STATE HANDLING
MONITORS OFFSET LAG,
ACCUMULATORS,
BACKPRESSURE AND
ANOMALIES
LOGS IN KIBANA
REAL-TIME TIME SERIES
DATA IN GRAFANA
KAFKA OFFSET MONITOR
TO MONITOR CONSUMER
LAG
Rovio © 2018
Rovio © 2018
HOW TO BOOTSTRAP
FLINK TO EMR CLUSTER?
Rovio © 2018
Rovio © 2018
HOW TO START FROM THE
LATEST RESTORE POINT?
Rovio © 2018
FIND THE LATEST CHECKPOINT OR
SAVEPOINT…
… AND PASS IT AS ARGUMENT!
Rovio © 2018
HOW TO HANDLE IDLE
PARTITIONS?
Rovio © 2018
Source: https://kafka.apache.org/intro
PRODUCER SENDS EMPTY
MESSAGE WITH EVENT
TIMESTAMP TO EVERY PARTITION
Rovio © 2018
HOW TO INITIALIZE THE
STATE?
Rovio © 2018
1. Use same uid and state name in the init and
main job steps
2. Backfill history from files using streaming and
PROCESS_CONTINUOSLY mode
3. Monitor Flink job and save the state when no
data is being processed anymore
4. Start your streaming job from the save point and
start processing Kafka events from specific point
of time
Rovio © 2018
WITHFLINK1.5,KAFKA0.10ANDABOVE
1. Add timestamp to Kafka message
2. Use FlinkKafkaConsumer
setStartFromTimestamp(…)
How did we do it for older versions?
Rovio © 2018
ANATOMYOFKAFKATOPIC
ARRAYS!!!
How does one search data from arrays?
Source: https://kafka.apache.org/intro
Rovio © 2018
BINARYSEARCH
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
Search offset having data starting from 2018-08-01 12:00:03
2018-08-01
12:00:40
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
2018-08-01
12:00:40
Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half.
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
12:00:05 is close enough, start consuming from this offset.
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
Search offset having data starting from 2018-08-01 12:00:03
2018-08-01
12:00:40
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
2018-08-01
12:00:40
Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half.
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
12:00:05 is close enough, start consuming from this offset.
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
Search offset having data starting from 2018-08-01 12:00:03
2018-08-01
12:00:40
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
2018-08-01
12:00:40
Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half.
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
12:00:05 is close enough, start consuming from this offset.
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
Search offset having data starting from 2018-08-01 12:00:03
2018-08-01
12:00:40
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
2018-08-01
12:00:40
Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half.
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
12:00:05 is close enough, start consuming from this offset.
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
Search offset having data starting from 2018-08-01 12:00:03
2018-08-01
12:00:40
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
2018-08-01
12:00:20
2018-08-01
12:00:25
2018-08-01
12:00:30
2018-08-01
12:00:35
2018-08-01
12:00:40
Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half.
2018-08-01
12:00:00
2018-08-01
12:00:05
2018-08-01
12:00:10
2018-08-01
12:00:15
12:00:05 is close enough, start consuming from this offset.
Rovio © 2018
SUMMARY
ROVIO MAKES GREAT GAMES AND DATA IS HEAVILY
USED IN EVERY STEP OF THE GAMES LIFE-CYCLE
STREAMING IS USED TO IMPROVE TIME TO DATA
ESPECIALLLY IN CASES WHERE AUTOMATED DECISION
MAKING IS BEING DONE
FOR PRODUCTION USE ONE NEEDS ADDITIONAL
FEATURES ON TOP OF THE VANILLA FLINK PLATFORM
ESPECIALLY AROUND OPERATIONS AND STATE
MANAGEMENT
Rovio © 2018
THANKS!
Rovio © 2017 Confidential

Weitere ähnliche Inhalte

Was ist angesagt?

Just add Imagination
Just add ImaginationJust add Imagination
Just add ImaginationKNIMESlides
 
KNIME Data Science Learnathon: From Raw Data To Deployment
KNIME Data Science Learnathon: From Raw Data To DeploymentKNIME Data Science Learnathon: From Raw Data To Deployment
KNIME Data Science Learnathon: From Raw Data To DeploymentKNIMESlides
 
Big data, Cloud, and the NOAA CRADA at The Climate Corporation
Big data, Cloud, and the NOAA CRADA at The Climate CorporationBig data, Cloud, and the NOAA CRADA at The Climate Corporation
Big data, Cloud, and the NOAA CRADA at The Climate CorporationValliappa Lakshmanan
 
Beginners guide to weather and climate data
Beginners guide to weather and climate dataBeginners guide to weather and climate data
Beginners guide to weather and climate dataMargriet Groenendijk
 
Andrii Buryk "Alternative Energy and IT"
Andrii Buryk "Alternative Energy and IT"Andrii Buryk "Alternative Energy and IT"
Andrii Buryk "Alternative Energy and IT"LogeekNightUkraine
 
Open Source Story and what’s new in KNIME Software
Open Source Story and what’s new in KNIME SoftwareOpen Source Story and what’s new in KNIME Software
Open Source Story and what’s new in KNIME SoftwareKNIMESlides
 
Sharing and Deploying Data Science with KNIME Server
Sharing and Deploying Data Science with KNIME ServerSharing and Deploying Data Science with KNIME Server
Sharing and Deploying Data Science with KNIME ServerKNIMESlides
 
Quantitative Precipitation Estimation at The Climate Corporation
Quantitative Precipitation Estimation at The Climate CorporationQuantitative Precipitation Estimation at The Climate Corporation
Quantitative Precipitation Estimation at The Climate CorporationValliappa Lakshmanan
 
Latency SLOs Done Right @ SREcon EMEA 2019
Latency SLOs Done Right @ SREcon EMEA 2019Latency SLOs Done Right @ SREcon EMEA 2019
Latency SLOs Done Right @ SREcon EMEA 2019Heinrich Hartmann
 
Get Your Aircraft Spare Parts Inventory Management Off the Ground
Get Your Aircraft Spare Parts Inventory Management Off the GroundGet Your Aircraft Spare Parts Inventory Management Off the Ground
Get Your Aircraft Spare Parts Inventory Management Off the GroundPTC
 
From Raw Data to Deployment
From Raw Data to DeploymentFrom Raw Data to Deployment
From Raw Data to DeploymentKNIMESlides
 
Cloud Governance within The Climate Corporation
Cloud Governance within The Climate CorporationCloud Governance within The Climate Corporation
Cloud Governance within The Climate CorporationMohamed Ahmed
 
Stack for high performance in data-intensive operations
Stack for high performance in data-intensive operationsStack for high performance in data-intensive operations
Stack for high performance in data-intensive operationsOnedot
 
Scalable Online Analytics for Monitoring
Scalable Online Analytics for MonitoringScalable Online Analytics for Monitoring
Scalable Online Analytics for MonitoringHeinrich Hartmann
 
ODSC Europe: Weather and Climate Data: Not Just for Meteorologists
ODSC Europe: Weather and Climate Data: Not Just for MeteorologistsODSC Europe: Weather and Climate Data: Not Just for Meteorologists
ODSC Europe: Weather and Climate Data: Not Just for MeteorologistsMargriet Groenendijk
 
Efficiency analyzer for wallblower iiot_quest
Efficiency analyzer for wallblower iiot_questEfficiency analyzer for wallblower iiot_quest
Efficiency analyzer for wallblower iiot_questUma Santharam
 
FMI Open Data on S3
FMI Open Data on S3FMI Open Data on S3
FMI Open Data on S3Roope Tervo
 
REF compliance - what Jisc is doing
REF compliance - what Jisc is doingREF compliance - what Jisc is doing
REF compliance - what Jisc is doingRepository Fringe
 
Acoustic io t rail monitoring.pptx
Acoustic io t rail monitoring.pptxAcoustic io t rail monitoring.pptx
Acoustic io t rail monitoring.pptxIBM Sverige
 
Introduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data PlatformIntroduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data PlatformMargriet Groenendijk
 

Was ist angesagt? (20)

Just add Imagination
Just add ImaginationJust add Imagination
Just add Imagination
 
KNIME Data Science Learnathon: From Raw Data To Deployment
KNIME Data Science Learnathon: From Raw Data To DeploymentKNIME Data Science Learnathon: From Raw Data To Deployment
KNIME Data Science Learnathon: From Raw Data To Deployment
 
Big data, Cloud, and the NOAA CRADA at The Climate Corporation
Big data, Cloud, and the NOAA CRADA at The Climate CorporationBig data, Cloud, and the NOAA CRADA at The Climate Corporation
Big data, Cloud, and the NOAA CRADA at The Climate Corporation
 
Beginners guide to weather and climate data
Beginners guide to weather and climate dataBeginners guide to weather and climate data
Beginners guide to weather and climate data
 
Andrii Buryk "Alternative Energy and IT"
Andrii Buryk "Alternative Energy and IT"Andrii Buryk "Alternative Energy and IT"
Andrii Buryk "Alternative Energy and IT"
 
Open Source Story and what’s new in KNIME Software
Open Source Story and what’s new in KNIME SoftwareOpen Source Story and what’s new in KNIME Software
Open Source Story and what’s new in KNIME Software
 
Sharing and Deploying Data Science with KNIME Server
Sharing and Deploying Data Science with KNIME ServerSharing and Deploying Data Science with KNIME Server
Sharing and Deploying Data Science with KNIME Server
 
Quantitative Precipitation Estimation at The Climate Corporation
Quantitative Precipitation Estimation at The Climate CorporationQuantitative Precipitation Estimation at The Climate Corporation
Quantitative Precipitation Estimation at The Climate Corporation
 
Latency SLOs Done Right @ SREcon EMEA 2019
Latency SLOs Done Right @ SREcon EMEA 2019Latency SLOs Done Right @ SREcon EMEA 2019
Latency SLOs Done Right @ SREcon EMEA 2019
 
Get Your Aircraft Spare Parts Inventory Management Off the Ground
Get Your Aircraft Spare Parts Inventory Management Off the GroundGet Your Aircraft Spare Parts Inventory Management Off the Ground
Get Your Aircraft Spare Parts Inventory Management Off the Ground
 
From Raw Data to Deployment
From Raw Data to DeploymentFrom Raw Data to Deployment
From Raw Data to Deployment
 
Cloud Governance within The Climate Corporation
Cloud Governance within The Climate CorporationCloud Governance within The Climate Corporation
Cloud Governance within The Climate Corporation
 
Stack for high performance in data-intensive operations
Stack for high performance in data-intensive operationsStack for high performance in data-intensive operations
Stack for high performance in data-intensive operations
 
Scalable Online Analytics for Monitoring
Scalable Online Analytics for MonitoringScalable Online Analytics for Monitoring
Scalable Online Analytics for Monitoring
 
ODSC Europe: Weather and Climate Data: Not Just for Meteorologists
ODSC Europe: Weather and Climate Data: Not Just for MeteorologistsODSC Europe: Weather and Climate Data: Not Just for Meteorologists
ODSC Europe: Weather and Climate Data: Not Just for Meteorologists
 
Efficiency analyzer for wallblower iiot_quest
Efficiency analyzer for wallblower iiot_questEfficiency analyzer for wallblower iiot_quest
Efficiency analyzer for wallblower iiot_quest
 
FMI Open Data on S3
FMI Open Data on S3FMI Open Data on S3
FMI Open Data on S3
 
REF compliance - what Jisc is doing
REF compliance - what Jisc is doingREF compliance - what Jisc is doing
REF compliance - what Jisc is doing
 
Acoustic io t rail monitoring.pptx
Acoustic io t rail monitoring.pptxAcoustic io t rail monitoring.pptx
Acoustic io t rail monitoring.pptx
 
Introduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data PlatformIntroduction to the IBM Watson Data Platform
Introduction to the IBM Watson Data Platform
 

Ähnlich wie Flink Forward Berlin 2018: Henri Heiskanen - "How to keep our flock happy with Apache Flink on AWS"

API Days 2016 Day 1: OpenID Financial API WG
API Days 2016 Day 1: OpenID Financial API WGAPI Days 2016 Day 1: OpenID Financial API WG
API Days 2016 Day 1: OpenID Financial API WGNat Sakimura
 
Cips Meetup Auckland-Mirko-Kleiner-lean-agile-procurement-201904-1.0
Cips Meetup Auckland-Mirko-Kleiner-lean-agile-procurement-201904-1.0Cips Meetup Auckland-Mirko-Kleiner-lean-agile-procurement-201904-1.0
Cips Meetup Auckland-Mirko-Kleiner-lean-agile-procurement-201904-1.0Mirko Kleiner
 
How should startups embrace the trend of IoT and Big Data
How should startups embrace the trend of IoT and Big DataHow should startups embrace the trend of IoT and Big Data
How should startups embrace the trend of IoT and Big DataRuvento Ventures
 
Melbourne Groundbreakers Tour - Hints and Tips
Melbourne Groundbreakers Tour - Hints and TipsMelbourne Groundbreakers Tour - Hints and Tips
Melbourne Groundbreakers Tour - Hints and TipsConnor McDonald
 
OpenID Foundation Workshop at EIC 2018 - Introduction to the FAPI Read & Writ...
OpenID Foundation Workshop at EIC 2018 - Introduction to the FAPI Read & Writ...OpenID Foundation Workshop at EIC 2018 - Introduction to the FAPI Read & Writ...
OpenID Foundation Workshop at EIC 2018 - Introduction to the FAPI Read & Writ...MikeLeszcz
 
Drupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the AttackerDrupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the AttackerDefCamp
 
dubbo-present-and-future.pdf
dubbo-present-and-future.pdfdubbo-present-and-future.pdf
dubbo-present-and-future.pdfkimmking1
 
OpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGOpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGNat Sakimura
 
Customer Showcase for AWS IoT Analytics (IOT219) - AWS re:Invent 2018
Customer Showcase for AWS IoT Analytics (IOT219) - AWS re:Invent 2018Customer Showcase for AWS IoT Analytics (IOT219) - AWS re:Invent 2018
Customer Showcase for AWS IoT Analytics (IOT219) - AWS re:Invent 2018Amazon Web Services
 
Efficiently Triaging CI Pipelines with Apache Spark: Mixing 52 Billion Events...
Efficiently Triaging CI Pipelines with Apache Spark: Mixing 52 Billion Events...Efficiently Triaging CI Pipelines with Apache Spark: Mixing 52 Billion Events...
Efficiently Triaging CI Pipelines with Apache Spark: Mixing 52 Billion Events...Databricks
 
TipoTapp For The Customer
TipoTapp For The CustomerTipoTapp For The Customer
TipoTapp For The CustomerPaul Armstrong
 
APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料CData Software Japan
 
[Oracle Innovation Summit Tokyo 2018] 生活の中のAI - 東京都港区Chatbot、北海道漁業IoTに見るオラクルの...
[Oracle Innovation Summit Tokyo 2018] 生活の中のAI - 東京都港区Chatbot、北海道漁業IoTに見るオラクルの...[Oracle Innovation Summit Tokyo 2018] 生活の中のAI - 東京都港区Chatbot、北海道漁業IoTに見るオラクルの...
[Oracle Innovation Summit Tokyo 2018] 生活の中のAI - 東京都港区Chatbot、北海道漁業IoTに見るオラクルの...オラクルエンジニア通信
 
OpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGOpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGNat Sakimura
 
Building IoT Devices for Regulated Industries (LFS304-i) - AWS re:Invent 2018
Building IoT Devices for Regulated Industries (LFS304-i) - AWS re:Invent 2018Building IoT Devices for Regulated Industries (LFS304-i) - AWS re:Invent 2018
Building IoT Devices for Regulated Industries (LFS304-i) - AWS re:Invent 2018Amazon Web Services
 
0x32 Shades of #7f7f7f: The Tension Between Absolutes and Ambiguity in Securi...
0x32 Shades of #7f7f7f: The Tension Between Absolutes and Ambiguity in Securi...0x32 Shades of #7f7f7f: The Tension Between Absolutes and Ambiguity in Securi...
0x32 Shades of #7f7f7f: The Tension Between Absolutes and Ambiguity in Securi...Amazon Web Services
 

Ähnlich wie Flink Forward Berlin 2018: Henri Heiskanen - "How to keep our flock happy with Apache Flink on AWS" (20)

AWS IoT Day - Introduction
AWS IoT Day - IntroductionAWS IoT Day - Introduction
AWS IoT Day - Introduction
 
API Days 2016 Day 1: OpenID Financial API WG
API Days 2016 Day 1: OpenID Financial API WGAPI Days 2016 Day 1: OpenID Financial API WG
API Days 2016 Day 1: OpenID Financial API WG
 
女性のインサイトに刺さるコンテンツのつくり方
女性のインサイトに刺さるコンテンツのつくり方女性のインサイトに刺さるコンテンツのつくり方
女性のインサイトに刺さるコンテンツのつくり方
 
Cips Meetup Auckland-Mirko-Kleiner-lean-agile-procurement-201904-1.0
Cips Meetup Auckland-Mirko-Kleiner-lean-agile-procurement-201904-1.0Cips Meetup Auckland-Mirko-Kleiner-lean-agile-procurement-201904-1.0
Cips Meetup Auckland-Mirko-Kleiner-lean-agile-procurement-201904-1.0
 
How should startups embrace the trend of IoT and Big Data
How should startups embrace the trend of IoT and Big DataHow should startups embrace the trend of IoT and Big Data
How should startups embrace the trend of IoT and Big Data
 
Security Deployment by CI/CD
Security Deployment by CI/CDSecurity Deployment by CI/CD
Security Deployment by CI/CD
 
Melbourne Groundbreakers Tour - Hints and Tips
Melbourne Groundbreakers Tour - Hints and TipsMelbourne Groundbreakers Tour - Hints and Tips
Melbourne Groundbreakers Tour - Hints and Tips
 
OpenID Foundation Workshop at EIC 2018 - Introduction to the FAPI Read & Writ...
OpenID Foundation Workshop at EIC 2018 - Introduction to the FAPI Read & Writ...OpenID Foundation Workshop at EIC 2018 - Introduction to the FAPI Read & Writ...
OpenID Foundation Workshop at EIC 2018 - Introduction to the FAPI Read & Writ...
 
Drupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the AttackerDrupalgeddon 2 – Yet Another Weapon for the Attacker
Drupalgeddon 2 – Yet Another Weapon for the Attacker
 
dubbo-present-and-future.pdf
dubbo-present-and-future.pdfdubbo-present-and-future.pdf
dubbo-present-and-future.pdf
 
OpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGOpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WG
 
Evolving Security in AWS
Evolving Security in AWSEvolving Security in AWS
Evolving Security in AWS
 
Customer Showcase for AWS IoT Analytics (IOT219) - AWS re:Invent 2018
Customer Showcase for AWS IoT Analytics (IOT219) - AWS re:Invent 2018Customer Showcase for AWS IoT Analytics (IOT219) - AWS re:Invent 2018
Customer Showcase for AWS IoT Analytics (IOT219) - AWS re:Invent 2018
 
Efficiently Triaging CI Pipelines with Apache Spark: Mixing 52 Billion Events...
Efficiently Triaging CI Pipelines with Apache Spark: Mixing 52 Billion Events...Efficiently Triaging CI Pipelines with Apache Spark: Mixing 52 Billion Events...
Efficiently Triaging CI Pipelines with Apache Spark: Mixing 52 Billion Events...
 
TipoTapp For The Customer
TipoTapp For The CustomerTipoTapp For The Customer
TipoTapp For The Customer
 
APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料
 
[Oracle Innovation Summit Tokyo 2018] 生活の中のAI - 東京都港区Chatbot、北海道漁業IoTに見るオラクルの...
[Oracle Innovation Summit Tokyo 2018] 生活の中のAI - 東京都港区Chatbot、北海道漁業IoTに見るオラクルの...[Oracle Innovation Summit Tokyo 2018] 生活の中のAI - 東京都港区Chatbot、北海道漁業IoTに見るオラクルの...
[Oracle Innovation Summit Tokyo 2018] 生活の中のAI - 東京都港区Chatbot、北海道漁業IoTに見るオラクルの...
 
OpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WGOpenID Foundation Foundation Financial API (FAPI) WG
OpenID Foundation Foundation Financial API (FAPI) WG
 
Building IoT Devices for Regulated Industries (LFS304-i) - AWS re:Invent 2018
Building IoT Devices for Regulated Industries (LFS304-i) - AWS re:Invent 2018Building IoT Devices for Regulated Industries (LFS304-i) - AWS re:Invent 2018
Building IoT Devices for Regulated Industries (LFS304-i) - AWS re:Invent 2018
 
0x32 Shades of #7f7f7f: The Tension Between Absolutes and Ambiguity in Securi...
0x32 Shades of #7f7f7f: The Tension Between Absolutes and Ambiguity in Securi...0x32 Shades of #7f7f7f: The Tension Between Absolutes and Ambiguity in Securi...
0x32 Shades of #7f7f7f: The Tension Between Absolutes and Ambiguity in Securi...
 

Mehr von Flink Forward

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Flink Forward
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkFlink Forward
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...Flink Forward
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Flink Forward
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorFlink Forward
 
Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeFlink Forward
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Flink Forward
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkFlink Forward
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxFlink Forward
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink Forward
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraFlink Forward
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkFlink Forward
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentFlink Forward
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022Flink Forward
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink Forward
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsFlink Forward
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotFlink Forward
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesFlink Forward
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Flink Forward
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergFlink Forward
 

Mehr von Flink Forward (20)

Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...Building a fully managed stream processing platform on Flink at scale for Lin...
Building a fully managed stream processing platform on Flink at scale for Lin...
 
Evening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in FlinkEvening out the uneven: dealing with skew in Flink
Evening out the uneven: dealing with skew in Flink
 
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
“Alexa, be quiet!”: End-to-end near-real time model building and evaluation i...
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
Introducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes OperatorIntroducing the Apache Flink Kubernetes Operator
Introducing the Apache Flink Kubernetes Operator
 
Autoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive ModeAutoscaling Flink with Reactive Mode
Autoscaling Flink with Reactive Mode
 
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
Dynamically Scaling Data Streams across Multiple Kafka Clusters with Zero Fli...
 
One sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async SinkOne sink to rule them all: Introducing the new Async Sink
One sink to rule them all: Introducing the new Async Sink
 
Tuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptxTuning Apache Kafka Connectors for Flink.pptx
Tuning Apache Kafka Connectors for Flink.pptx
 
Flink powered stream processing platform at Pinterest
Flink powered stream processing platform at PinterestFlink powered stream processing platform at Pinterest
Flink powered stream processing platform at Pinterest
 
Apache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native EraApache Flink in the Cloud-Native Era
Apache Flink in the Cloud-Native Era
 
Where is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in FlinkWhere is my bottleneck? Performance troubleshooting in Flink
Where is my bottleneck? Performance troubleshooting in Flink
 
Using the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production DeploymentUsing the New Apache Flink Kubernetes Operator in a Production Deployment
Using the New Apache Flink Kubernetes Operator in a Production Deployment
 
The Current State of Table API in 2022
The Current State of Table API in 2022The Current State of Table API in 2022
The Current State of Table API in 2022
 
Flink SQL on Pulsar made easy
Flink SQL on Pulsar made easyFlink SQL on Pulsar made easy
Flink SQL on Pulsar made easy
 
Dynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data AlertsDynamic Rule-based Real-time Market Data Alerts
Dynamic Rule-based Real-time Market Data Alerts
 
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and PinotExactly-Once Financial Data Processing at Scale with Flink and Pinot
Exactly-Once Financial Data Processing at Scale with Flink and Pinot
 
Processing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial ServicesProcessing Semantically-Ordered Streams in Financial Services
Processing Semantically-Ordered Streams in Financial Services
 
Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...Tame the small files problem and optimize data layout for streaming ingestion...
Tame the small files problem and optimize data layout for streaming ingestion...
 
Batch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & IcebergBatch Processing at Scale with Flink & Iceberg
Batch Processing at Scale with Flink & Iceberg
 

Kürzlich hochgeladen

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Kürzlich hochgeladen (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Flink Forward Berlin 2018: Henri Heiskanen - "How to keep our flock happy with Apache Flink on AWS"

  • 1. Rovio © 2018Rovio © 2017 Confidential HOWTOKEEPOURFLOCKHAPPY WITHAPACHEFLINKONAWS
  • 2. Rovio © 2018 AGENDA ANALYTICS @ ROVIO WHAT IS ROVIO AND HOW DOES ROVIO UTILIZE DATA? DO WE NEED STREAMING? WHY WOULD A COMPANY WITH A WORKING BATCH PROCESSING PIPELINE INVEST IN STREAMING? WHAT USE CASES ROVIO CURRENTLY RUNS IN STREAMING? RUNNING FLINK IN PRODUCTION ON AWS HOW DOES ROVIO OPERATE ITS PRODUCTION PIPELINE IN AWS?
  • 3. Rovio © 2018 This project has received funding from the European Union’s Horizon 2020 research and innovation program under grant agreement No. 688191.
  • 4. Rovio © 2018 WE ARE HIRING! Rovio © 2017 Confidential SENIOR DATA ANALYST (STOCKHOLM) BLOCKCHAIN RESEARCH DEVELOPER … AND ALWAYS LOOKING FOR NEW TALENT Photo: Lauri Rotko
  • 7. Rovio © 2018 INANEGGSHELL 2003 FOUNDED IN CREATOR OF BUSINESS UNITS GAMES 3 STUDIOS BRAND LICENSING < 400ROVIANS ESPOO, STOCKHOLM, LONDON, SHANGHAI, LA PEOPLE 4BSINCE 2009 DOWNLOADS $350M BOX OFFICE SEQUEL SEPTEMBER 2019
  • 10. Rovio © 2018 BEACON ANALYTICS A/BTESTING PERSONALIZATION PAYMENT ADS PUSH
  • 11. Rovio © 2018 BEACON-MANAGE Show one forced interstitial and only show xpromo reward videos for churning players
  • 12. Rovio © 2018 27% more xpromo users 0% retention impact
  • 13. Rovio © 2018 DO WE NEED STREAMING?
  • 21. Rovio © 2018 WHAT WE NEED TO RUN STREAMING PRODUCTION PIPELINE?
  • 23. Rovio © 2018 HOW DO WE OPERATE AND MONITOR FLINK STREAMS?
  • 24. GITFLOW INSPIRED BRANCHING STRATEGY IN GITHUB. TEAMCITY PROJECTS TO BUILD AND DEPLOY FLINK STREAM UBER JARS TO DEVELOPMENT, STAGING AND PRODUCTION S3 BUCKETS.
  • 25. Rovio © 2018 AZKABAN WORKFLOW MANAGER WITH FLINK PLUGIN USED TO ORCHESTRATE ENABLED EMR CLUSTERS ELASTIC MAPREDUCE WITH YARN BOOTSTRAP ACTIONS TO SETUP FLINK, LOGGING AND MONITORING CUSTOM TOOLS AND LIBRARIES MOSTLY FOR STATE HANDLING MONITORS OFFSET LAG, ACCUMULATORS, BACKPRESSURE AND ANOMALIES LOGS IN KIBANA REAL-TIME TIME SERIES DATA IN GRAFANA KAFKA OFFSET MONITOR TO MONITOR CONSUMER LAG
  • 27. Rovio © 2018 HOW TO BOOTSTRAP FLINK TO EMR CLUSTER?
  • 29. Rovio © 2018 HOW TO START FROM THE LATEST RESTORE POINT?
  • 30. Rovio © 2018 FIND THE LATEST CHECKPOINT OR SAVEPOINT… … AND PASS IT AS ARGUMENT!
  • 31. Rovio © 2018 HOW TO HANDLE IDLE PARTITIONS?
  • 32. Rovio © 2018 Source: https://kafka.apache.org/intro PRODUCER SENDS EMPTY MESSAGE WITH EVENT TIMESTAMP TO EVERY PARTITION
  • 33. Rovio © 2018 HOW TO INITIALIZE THE STATE?
  • 34. Rovio © 2018 1. Use same uid and state name in the init and main job steps 2. Backfill history from files using streaming and PROCESS_CONTINUOSLY mode 3. Monitor Flink job and save the state when no data is being processed anymore 4. Start your streaming job from the save point and start processing Kafka events from specific point of time
  • 35. Rovio © 2018 WITHFLINK1.5,KAFKA0.10ANDABOVE 1. Add timestamp to Kafka message 2. Use FlinkKafkaConsumer setStartFromTimestamp(…) How did we do it for older versions?
  • 36. Rovio © 2018 ANATOMYOFKAFKATOPIC ARRAYS!!! How does one search data from arrays? Source: https://kafka.apache.org/intro
  • 37. Rovio © 2018 BINARYSEARCH 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 Search offset having data starting from 2018-08-01 12:00:03 2018-08-01 12:00:40 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 2018-08-01 12:00:40 Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half. 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 12:00:05 is close enough, start consuming from this offset. 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 Search offset having data starting from 2018-08-01 12:00:03 2018-08-01 12:00:40 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 2018-08-01 12:00:40 Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half. 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 12:00:05 is close enough, start consuming from this offset. 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 Search offset having data starting from 2018-08-01 12:00:03 2018-08-01 12:00:40 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 2018-08-01 12:00:40 Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half. 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 12:00:05 is close enough, start consuming from this offset. 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 Search offset having data starting from 2018-08-01 12:00:03 2018-08-01 12:00:40 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 2018-08-01 12:00:40 Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half. 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 12:00:05 is close enough, start consuming from this offset. 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 Search offset having data starting from 2018-08-01 12:00:03 2018-08-01 12:00:40 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 2018-08-01 12:00:20 2018-08-01 12:00:25 2018-08-01 12:00:30 2018-08-01 12:00:35 2018-08-01 12:00:40 Read message from the middle offset. 12:00:20 > 12:00:03, search from 1st half. 2018-08-01 12:00:00 2018-08-01 12:00:05 2018-08-01 12:00:10 2018-08-01 12:00:15 12:00:05 is close enough, start consuming from this offset.
  • 38. Rovio © 2018 SUMMARY ROVIO MAKES GREAT GAMES AND DATA IS HEAVILY USED IN EVERY STEP OF THE GAMES LIFE-CYCLE STREAMING IS USED TO IMPROVE TIME TO DATA ESPECIALLLY IN CASES WHERE AUTOMATED DECISION MAKING IS BEING DONE FOR PRODUCTION USE ONE NEEDS ADDITIONAL FEATURES ON TOP OF THE VANILLA FLINK PLATFORM ESPECIALLY AROUND OPERATIONS AND STATE MANAGEMENT
  • 39. Rovio © 2018 THANKS! Rovio © 2017 Confidential