Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned

Yaroslav Tkachenko
Yaroslav TkachenkoPrincipal Software Engineer at Goldsky
Building Scalable and
Extendable Data Pipeline
for Call of Duty Games:
Lessons Learned
Yaroslav Tkachenko
Senior Data Engineer at Activision
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned
1+
PB
Data lake size
(AWS S3)
Number of topics in the
biggest cluster
(Apache Kafka) 500+
10k - 100k+
Messages per second
(Apache Kafka)
Scaling the data pipeline even further
Volume
Industry best practices
Games
Using previous experience
Use-cases
Completely unpredictable
Complexity
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
Kafka topic
Consumer
or
Producer
Partition 1
Partition 2
Partition 3
Kafka topics are partitioned and replicated
Scaling the pipeline
in terms of Volume
Producers Consumers
Scaling producers
• Asynchronous / non-blocking writes (default)
• Compression and batching
• Sampling
• Throttling
• Acks? 0, 1, -1
• Standard Kafka producer tuning: batch.size, linger.ms, buffer.memory, etc.
Proxy
Each approach has pros and cons
• Simple
• Low-latency connection
• Number of TCP connections per
broker starts to look scary
• Really hard to do maintenance on
Kafka clusters
• Flexible
• Possible to do basic enrichment
• Easier to manage Kafka clusters
Simple rule for
high-performant
producers? Just write
to Kafka, nothing
else1
.
1. Not even auth?
Scaling Kafka clusters
• Just add more nodes!
• Disk IO is extremely important
• Tuning io.threads and network.threads
• Retention
• For more: “Optimizing Your Apache Kafka Deployment” whitepaper
from Confluent
It’s not always about
tuning. Sometimes we need
more than one cluster.
Different workloads require
different topologies.
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned
● Ingestion (HTTP Proxy)
● Long retention
● High SLA
● Lots of consumers
● Medium retention
● ACL
● Stream processing
● Short retention
● More partitions
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned
Scaling consumers is
usually pretty trivial -
just increase the number of
partitions.
Unless… you can’t. What
then?
Metadata Message Queue
Archiver
Block
Storage
Work Queue
Populator
MetadataMicrobatch
Even if you can add more
partitions
• Still can have bottlenecks within a partition (large messages)
• In case of reprocessing, it’s really hard to quickly add A LOT of new
partitions AND remove them after
• Also, number of partitions is not infinite
You can’t be sure about
any improvements without
load testing.
Not only for a cluster,
but producers and
consumers too.
Scaling and extending
the pipeline in terms of
Games and Use-cases
We need to keep the number
of topics and partitions low
• More topics means more operational burden
• Number of partitions in a fixed cluster is not infinite
• Autoscaling Kafka is impossible, scaling is hard
Topic naming convention
$env.$source.$title.$category-$version
prod.glutton.1234.telemetry_match_event-v1
Unique game id
“CoD WW2 on PSN”Producer
A proper solution has
been invented decades
ago.
Think about databases.
Messaging system IS a
form of a database
Data topic = Database + Table.
Data topic = Namespace + Data type.
telemetry.matches
user.logins
marketplace.purchases
prod.glutton.1234.telemetry_match_event-v1
dev.user_login_records.4321.all-v1
prod.marketplace.5678.purchase_event-v1
Compare this
Each approach has pros and cons
• Topics that use metadata for their
names are obviously easier to track
and monitor (and even consume).
• As a consumer, I can consume
exactly what I want, instead of
consuming a single large topic and
extracting required values.
• These dynamic fields can and will
change. Producers (sources) and
consumers will change.
• Very efficient utilization of topics
and partitions.
• Finally, it’s impossible to enforce
any constraints with a topic name.
And you can always end up with dev
data in prod topic and vice versa.
After removing
necessary metadata
from the topic names
stream processing
becomes mandatory.
Stream processing becomes mandatory
Measuring → Validating → Enriching → Filtering & routing
Having a single
message schema for a
topic is more than
just a nice-to-have.
Number of supported
message formats 8
Stream processor
JSON Protobuf
Custom Avro
? ?
? ?
// Application.java
props.put("value.deserializer", "com.example.CustomDeserializer");
// CustomDeserializer.java
public class CustomDeserializer implements Deserializer<???> {
@Override
public ??? deserialize(String topic, byte[] data) {
???
}
}
Custom deserialization
Message envelope anatomy
ID, env, timestamp, source, game, ...
Event
Header / Metadata
Body / Payload
Message
Unified message envelope
syntax = "proto2";
message MessageEnvelope {
optional bytes message_id = 1;
optional uint64 created_at = 2;
optional uint64 ingested_at = 3;
optional string source = 4;
optional uint64 title_id = 5;
optional string env = 6;
optional UserInfo resource_owner = 7;
optional SchemaInfo schema_info = 8;
optional string message_name = 9;
optional bytes message = 100;
}
Schema Registry
• API to manage message schemas
• Single source of truth for all producers and consumers
• It should be impossible to send a message to the pipeline without
registering its schema in the Schema Registry!
• Good Schema Registry supports immutability, versioning and basic
validation
• Activision uses custom Schema Registry implemented with Python and
Cassandra
Summary
• Kafka tuning and best practices matter
• Invest in good SDKs for producing and consuming data
• Unified message envelope and topic names make adding a new game
almost effortless
• “Operational” stream processing makes it possible. Make sure you can
support adhoc filtering and routing of data
• Topic names should express data types, not producer or consumer
metadata
• Schema Registry is a must-have
Thanks!
@sap1ens
1 of 44

Recommended

Actors or Not: Async Event Architectures by
Actors or Not: Async Event ArchitecturesActors or Not: Async Event Architectures
Actors or Not: Async Event ArchitecturesYaroslav Tkachenko
1.8K views56 slides
Apache Kafka: New Features That You Might Not Know About by
Apache Kafka: New Features That You Might Not Know AboutApache Kafka: New Features That You Might Not Know About
Apache Kafka: New Features That You Might Not Know AboutYaroslav Tkachenko
4.9K views25 slides
Designing Scalable and Extendable Data Pipeline for Call Of Duty Games by
Designing Scalable and Extendable Data Pipeline for Call Of Duty GamesDesigning Scalable and Extendable Data Pipeline for Call Of Duty Games
Designing Scalable and Extendable Data Pipeline for Call Of Duty GamesYaroslav Tkachenko
1.1K views27 slides
Kafka Streams: the easiest way to start with stream processing by
Kafka Streams: the easiest way to start with stream processingKafka Streams: the easiest way to start with stream processing
Kafka Streams: the easiest way to start with stream processingYaroslav Tkachenko
6.6K views40 slides
Kafka Summit NYC 2017 - Easy, Scalable, Fault-tolerant Stream Processing with... by
Kafka Summit NYC 2017 - Easy, Scalable, Fault-tolerant Stream Processing with...Kafka Summit NYC 2017 - Easy, Scalable, Fault-tolerant Stream Processing with...
Kafka Summit NYC 2017 - Easy, Scalable, Fault-tolerant Stream Processing with...confluent
1.2K views44 slides
Akka Microservices Architecture And Design by
Akka Microservices Architecture And DesignAkka Microservices Architecture And Design
Akka Microservices Architecture And DesignYaroslav Tkachenko
4.6K views59 slides

More Related Content

What's hot

KSQL: Streaming SQL for Kafka by
KSQL: Streaming SQL for KafkaKSQL: Streaming SQL for Kafka
KSQL: Streaming SQL for Kafkaconfluent
6.7K views33 slides
Building Stateful Microservices With Akka by
Building Stateful Microservices With AkkaBuilding Stateful Microservices With Akka
Building Stateful Microservices With AkkaYaroslav Tkachenko
1.9K views40 slides
Exactly-once Stream Processing with Kafka Streams by
Exactly-once Stream Processing with Kafka StreamsExactly-once Stream Processing with Kafka Streams
Exactly-once Stream Processing with Kafka StreamsGuozhang Wang
3.7K views74 slides
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil... by
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...HostedbyConfluent
1.2K views41 slides
Apache Kafka, and the Rise of Stream Processing by
Apache Kafka, and the Rise of Stream ProcessingApache Kafka, and the Rise of Stream Processing
Apache Kafka, and the Rise of Stream ProcessingGuozhang Wang
1.7K views105 slides
Exactly-Once Made Easy: Transactional Messaging Improvement for Usability and... by
Exactly-Once Made Easy: Transactional Messaging Improvement for Usability and...Exactly-Once Made Easy: Transactional Messaging Improvement for Usability and...
Exactly-Once Made Easy: Transactional Messaging Improvement for Usability and...HostedbyConfluent
2.5K views123 slides

What's hot(20)

KSQL: Streaming SQL for Kafka by confluent
KSQL: Streaming SQL for KafkaKSQL: Streaming SQL for Kafka
KSQL: Streaming SQL for Kafka
confluent6.7K views
Building Stateful Microservices With Akka by Yaroslav Tkachenko
Building Stateful Microservices With AkkaBuilding Stateful Microservices With Akka
Building Stateful Microservices With Akka
Yaroslav Tkachenko1.9K views
Exactly-once Stream Processing with Kafka Streams by Guozhang Wang
Exactly-once Stream Processing with Kafka StreamsExactly-once Stream Processing with Kafka Streams
Exactly-once Stream Processing with Kafka Streams
Guozhang Wang3.7K views
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil... by HostedbyConfluent
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
HostedbyConfluent1.2K views
Apache Kafka, and the Rise of Stream Processing by Guozhang Wang
Apache Kafka, and the Rise of Stream ProcessingApache Kafka, and the Rise of Stream Processing
Apache Kafka, and the Rise of Stream Processing
Guozhang Wang1.7K views
Exactly-Once Made Easy: Transactional Messaging Improvement for Usability and... by HostedbyConfluent
Exactly-Once Made Easy: Transactional Messaging Improvement for Usability and...Exactly-Once Made Easy: Transactional Messaging Improvement for Usability and...
Exactly-Once Made Easy: Transactional Messaging Improvement for Usability and...
HostedbyConfluent2.5K views
Event sourcing - what could possibly go wrong ? Devoxx PL 2021 by Andrzej Ludwikowski
Event sourcing  - what could possibly go wrong ? Devoxx PL 2021Event sourcing  - what could possibly go wrong ? Devoxx PL 2021
Event sourcing - what could possibly go wrong ? Devoxx PL 2021
Webinar: Deep Dive on Apache Flink State - Seth Wiesman by Ververica
Webinar: Deep Dive on Apache Flink State - Seth WiesmanWebinar: Deep Dive on Apache Flink State - Seth Wiesman
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
Ververica 1.2K views
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si... by confluent
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
confluent3K views
Stream Application Development with Apache Kafka by Matthias J. Sax
Stream Application Development with Apache KafkaStream Application Development with Apache Kafka
Stream Application Development with Apache Kafka
Matthias J. Sax2K views
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel... by HostedbyConfluent
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
Introducing KSML: Kafka Streams for low code environments | Jeroen van Dissel...
HostedbyConfluent768 views
ksqlDB: A Stream-Relational Database System by confluent
ksqlDB: A Stream-Relational Database SystemksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database System
confluent1.4K views
KSQL Intro by confluent
KSQL IntroKSQL Intro
KSQL Intro
confluent1.7K views
Exactly-once Data Processing with Kafka Streams - July 27, 2017 by confluent
Exactly-once Data Processing with Kafka Streams - July 27, 2017Exactly-once Data Processing with Kafka Streams - July 27, 2017
Exactly-once Data Processing with Kafka Streams - July 27, 2017
confluent1.2K views
KSQL Performance Tuning for Fun and Profit ( Nick Dearden, Confluent) Kafka S... by confluent
KSQL Performance Tuning for Fun and Profit ( Nick Dearden, Confluent) Kafka S...KSQL Performance Tuning for Fun and Profit ( Nick Dearden, Confluent) Kafka S...
KSQL Performance Tuning for Fun and Profit ( Nick Dearden, Confluent) Kafka S...
confluent5K views
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL by confluent
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQLKafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
confluent1.1K views
Kafka Summit NYC 2017 - The Best Thing Since Partitioned Bread by confluent
Kafka Summit NYC 2017 - The Best Thing Since Partitioned Bread Kafka Summit NYC 2017 - The Best Thing Since Partitioned Bread
Kafka Summit NYC 2017 - The Best Thing Since Partitioned Bread
confluent815 views
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2... by confluent
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...
confluent935 views
Kick your database_to_the_curb_reston_08_27_19 by confluent
Kick your database_to_the_curb_reston_08_27_19Kick your database_to_the_curb_reston_08_27_19
Kick your database_to_the_curb_reston_08_27_19
confluent404 views
Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ... by confluent
Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...
Production Ready Kafka on Kubernetes (Devandra Tagare, Lyft) Kafka Summit SF ...
confluent2.3K views

Similar to Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned

Building Scalable and Extendable Data Pipeline for Call of Duty Games (Yarosl... by
Building Scalable and Extendable Data Pipeline for Call of Duty Games (Yarosl...Building Scalable and Extendable Data Pipeline for Call of Duty Games (Yarosl...
Building Scalable and Extendable Data Pipeline for Call of Duty Games (Yarosl...confluent
13K views44 slides
Kafka overview v0.1 by
Kafka overview v0.1Kafka overview v0.1
Kafka overview v0.1Mahendran Ponnusamy
134 views43 slides
Developing Realtime Data Pipelines With Apache Kafka by
Developing Realtime Data Pipelines With Apache KafkaDeveloping Realtime Data Pipelines With Apache Kafka
Developing Realtime Data Pipelines With Apache KafkaJoe Stein
4.9K views40 slides
Polylog: A Log-Based Architecture for Distributed Systems by
Polylog: A Log-Based Architecture for Distributed SystemsPolylog: A Log-Based Architecture for Distributed Systems
Polylog: A Log-Based Architecture for Distributed SystemsLongtail Video
1.6K views33 slides
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ... by
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...Chester Chen
3.5K views76 slides
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas... by
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...Amazon Web Services
1.6K views35 slides

Similar to Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned(20)

Building Scalable and Extendable Data Pipeline for Call of Duty Games (Yarosl... by confluent
Building Scalable and Extendable Data Pipeline for Call of Duty Games (Yarosl...Building Scalable and Extendable Data Pipeline for Call of Duty Games (Yarosl...
Building Scalable and Extendable Data Pipeline for Call of Duty Games (Yarosl...
confluent13K views
Developing Realtime Data Pipelines With Apache Kafka by Joe Stein
Developing Realtime Data Pipelines With Apache KafkaDeveloping Realtime Data Pipelines With Apache Kafka
Developing Realtime Data Pipelines With Apache Kafka
Joe Stein4.9K views
Polylog: A Log-Based Architecture for Distributed Systems by Longtail Video
Polylog: A Log-Based Architecture for Distributed SystemsPolylog: A Log-Based Architecture for Distributed Systems
Polylog: A Log-Based Architecture for Distributed Systems
Longtail Video1.6K views
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ... by Chester Chen
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
SF Big Analytics & SF Machine Learning Meetup: Machine Learning at the Limit ...
Chester Chen3.5K views
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas... by Amazon Web Services
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
Amazon Web Services1.6K views
MySQL And Search At Craigslist by Jeremy Zawodny
MySQL And Search At CraigslistMySQL And Search At Craigslist
MySQL And Search At Craigslist
Jeremy Zawodny14.8K views
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final by Vigyan Jain
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalSizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Vigyan Jain395 views
Kognitio - an overview by Kognitio
Kognitio - an overviewKognitio - an overview
Kognitio - an overview
Kognitio318 views
OSMC 2016 | Monitor your Infrastructure with Elastic Beats by Monica Sarbu by NETWAYS
OSMC 2016 | Monitor your Infrastructure with Elastic Beats by Monica SarbuOSMC 2016 | Monitor your Infrastructure with Elastic Beats by Monica Sarbu
OSMC 2016 | Monitor your Infrastructure with Elastic Beats by Monica Sarbu
NETWAYS152 views
OSMC 2016 - Monitor your infrastructure with Elastic Beats by Monica Sarbu by NETWAYS
OSMC 2016 - Monitor your infrastructure with Elastic Beats by Monica SarbuOSMC 2016 - Monitor your infrastructure with Elastic Beats by Monica Sarbu
OSMC 2016 - Monitor your infrastructure with Elastic Beats by Monica Sarbu
NETWAYS63 views
Architectures with Windows Azure by Damir Dobric
Architectures with Windows AzureArchitectures with Windows Azure
Architectures with Windows Azure
Damir Dobric443 views
Making sense of your data jug by Gerald Muecke
Making sense of your data   jugMaking sense of your data   jug
Making sense of your data jug
Gerald Muecke150 views
Kafka zero to hero by Avi Levi
Kafka zero to heroKafka zero to hero
Kafka zero to hero
Avi Levi114 views
Princeton Dec 2022 Meetup_ StreamNative and Cloudera Streaming by Timothy Spann
Princeton Dec 2022 Meetup_ StreamNative and Cloudera StreamingPrinceton Dec 2022 Meetup_ StreamNative and Cloudera Streaming
Princeton Dec 2022 Meetup_ StreamNative and Cloudera Streaming
Timothy Spann214 views
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum... by confluent
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
What's inside the black box? Using ML to tune and manage Kafka. (Matthew Stum...
confluent883 views
Real time data pipline with kafka streams by Yoni Farin
Real time data pipline with kafka streamsReal time data pipline with kafka streams
Real time data pipline with kafka streams
Yoni Farin86 views
Deep Dive on Delivering Amazon EC2 Instance Performance by Amazon Web Services
Deep Dive on Delivering Amazon EC2 Instance PerformanceDeep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance Performance

More from Yaroslav Tkachenko

Streaming SQL for Data Engineers: The Next Big Thing? by
Streaming SQL for Data Engineers: The Next Big Thing?Streaming SQL for Data Engineers: The Next Big Thing?
Streaming SQL for Data Engineers: The Next Big Thing?Yaroslav Tkachenko
198 views57 slides
Apache Flink Adoption at Shopify by
Apache Flink Adoption at ShopifyApache Flink Adoption at Shopify
Apache Flink Adoption at ShopifyYaroslav Tkachenko
1.1K views36 slides
Storing State Forever: Why It Can Be Good For Your Analytics by
Storing State Forever: Why It Can Be Good For Your AnalyticsStoring State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your AnalyticsYaroslav Tkachenko
483 views38 slides
It's Time To Stop Using Lambda Architecture by
It's Time To Stop Using Lambda ArchitectureIt's Time To Stop Using Lambda Architecture
It's Time To Stop Using Lambda ArchitectureYaroslav Tkachenko
213 views37 slides
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming by
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to StreamingBravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to StreamingYaroslav Tkachenko
542 views39 slides
10 tips for making Bash a sane programming language by
10 tips for making Bash a sane programming language10 tips for making Bash a sane programming language
10 tips for making Bash a sane programming languageYaroslav Tkachenko
764 views20 slides

More from Yaroslav Tkachenko(11)

Streaming SQL for Data Engineers: The Next Big Thing? by Yaroslav Tkachenko
Streaming SQL for Data Engineers: The Next Big Thing?Streaming SQL for Data Engineers: The Next Big Thing?
Streaming SQL for Data Engineers: The Next Big Thing?
Yaroslav Tkachenko198 views
Storing State Forever: Why It Can Be Good For Your Analytics by Yaroslav Tkachenko
Storing State Forever: Why It Can Be Good For Your AnalyticsStoring State Forever: Why It Can Be Good For Your Analytics
Storing State Forever: Why It Can Be Good For Your Analytics
Yaroslav Tkachenko483 views
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming by Yaroslav Tkachenko
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to StreamingBravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming
Bravo Six, Going Realtime. Transitioning Activision Data Pipeline to Streaming
Yaroslav Tkachenko542 views
10 tips for making Bash a sane programming language by Yaroslav Tkachenko
10 tips for making Bash a sane programming language10 tips for making Bash a sane programming language
10 tips for making Bash a sane programming language
Yaroslav Tkachenko764 views
Why Actor-Based Systems Are The Best For Microservices by Yaroslav Tkachenko
Why Actor-Based Systems Are The Best For MicroservicesWhy Actor-Based Systems Are The Best For Microservices
Why Actor-Based Systems Are The Best For Microservices
Yaroslav Tkachenko940 views
Why actor-based systems are the best for microservices by Yaroslav Tkachenko
Why actor-based systems are the best for microservicesWhy actor-based systems are the best for microservices
Why actor-based systems are the best for microservices
Yaroslav Tkachenko4.3K views
Building Eventing Systems for Microservice Architecture by Yaroslav Tkachenko
Building Eventing Systems for Microservice Architecture  Building Eventing Systems for Microservice Architecture
Building Eventing Systems for Microservice Architecture
Yaroslav Tkachenko3.6K views
Быстрая и безболезненная разработка клиентской части веб-приложений by Yaroslav Tkachenko
Быстрая и безболезненная разработка клиентской части веб-приложенийБыстрая и безболезненная разработка клиентской части веб-приложений
Быстрая и безболезненная разработка клиентской части веб-приложений
Yaroslav Tkachenko801 views

Recently uploaded

DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDeltares
7 views23 slides
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...Deltares
9 views24 slides
Dapr Unleashed: Accelerating Microservice Development by
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice DevelopmentMiroslav Janeski
10 views29 slides
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsRa'Fat Al-Msie'deen
8 views49 slides
360 graden fabriek by
360 graden fabriek360 graden fabriek
360 graden fabriekinfo33492
38 views25 slides
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Lisi Hocke
30 views124 slides

Recently uploaded(20)

DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski10 views
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349238 views
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke30 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 views
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta6 views
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft... by Deltares
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
Deltares7 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
Copilot Prompting Toolkit_All Resources.pdf by Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana8 views
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
Headless JS UG Presentation.pptx by Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 views
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok5 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller37 views
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h... by Deltares
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
DSD-INT 2023 Exploring flash flood hazard reduction in arid regions using a h...
Deltares5 views

Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lessons Learned