SlideShare a Scribd company logo
EXPLORATIONS IN
COOPERATIVE
DISTRIBUTED
SYSTEMS
WITH UBER’S RINGPOP
WHAT IS RINGPOP?
HIGH-LEVEL FACTS
It is a library written in Node.js and Go.
It is...
“...scalable, fault-tolerant application layer sharding.”
"...a library that brings cooperation and coordination to distributed applications.”
“...a hash ring.”
It is open source.
BUT WHAT IS UBER?
REALTIME DISPATCH ENGINEERING
Mobile API, match-maker, trip orchestrator
Platform for marketplaces
Highly interactive, real-time
Data locality
Long-running transactions
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
ROUTING LAYER DISPATCH LAYER
LONDONNEWYORK
ORIGINAL DISPATCH ARCHITECTURE
UBER REAL-TIME DISPATCHING
0 1 2 3
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
ROUTING LAYER
ORIGINAL DISPATCH ARCHITECTURE
UBER REAL-TIME DISPATCHING
0 1 2 3
DISPATCH LAYER
LONDONNEWYORK
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
ROUTING LAYER
ORIGINAL DISPATCH ARCHITECTURE
UBER REAL-TIME DISPATCHING
0 1 2 3
DISPATCH LAYER
LONDONNEWYORK
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
ROUTING LAYER DISPATCH LAYER
LONDONNEWYORK
ORIGINAL DISPATCH ARCHITECTURE
UBER REAL-TIME DISPATCHING
0 1 2 3
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NGINX
HAPROXY
NODE.JS
TWEMPROXY
REDIS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
NODE.JS
NODE.JS
REDIS
NODE.JS
NODE.JS
ROUTING LAYER DISPATCH LAYER
LONDONNEWYORK
ORIGINAL DISPATCH ARCHITECTURE
UBER REAL-TIME DISPATCHING
0 1 2 3
EVOLUTION OF THINKING AT UBER
UBER REAL-TIME DISPATCHING
Scaling our
organization,
product and
systems
100x scale
Availability
over
consistency Self-healing
No “master” No monolith
Flexibility and
safety
ENTER RINGPOP
MEMBERSHIP PROTOCOL, CONSISTENT HASHING,
REQUEST ROUTING
INST. A INST. B INST. C
DATABASE DATABASE
DISCRETE APPLICATION INSTANCES
ENTER RINGPOP: MEMBERSHIP PROTOCOL
FE1 FE2 FE3 FE4 FE5
FRONT-END
APPLICATION
STORAGE
COOPERATIVE APPLICATION INSTANCES
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A
INST. B
INST. C
DATABASE DATABASE
FE1 FE2 FE3 FE4 FE5
FRONT-END
APPLICATION
STORAGE
MEMBERSHIP PROTOCOL
RINGPOP
SWIM GOSSIP PROTOCOL
ENTER RINGPOP: MEMBERSHIP PROTOCOL
PING
INST. A INST. B
INST. A
INST. B
INST. C
INST. A
INST. B
INST. C
INST. C
INST. A
INST. B
INST. C
PING PING
Membership list
ENTER RINGPOP: MEMBERSHIP PROTOCOL
PING
INST. A INST. B
INST. A
INST. B
INST. C
INST. A
INST. B
INST. C
INST. C
INST. A
INST. B
INST. C
FAILURE DETECTION
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A INST. B
INST. A
INST. B
INST. C
INST. A
INST. B
INST. C
INST. C
INST. A
INST. B
INST. C
PING-REQ PING
AN INDIRECT PING
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A INST. B
INST. A
INST. B
INST. C
INST. A
INST. B
INST. C
INST. C
INST. A
INST. B
INST. C
PING-REQ
DECLARE INST. B SUSPECT
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A INST. B
INST. A
INST. B
INST. C
INST. A
INST. B
INST. C
INST. C
INST. A
INST. B
INST. C
PING
INST. B
PIGGYBACK MEMBERSHIP UPDATES
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A INST. B
INST. A
INST. B
INST. C
INST. A
INST. B
INST. C
INST. C
INST. A
INST. B
INST. C
PING
INST. B
INFECTION-STYLE DISSEMINATION
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A INST. B
INST. A
INST. B
INST. C
INST. A
INST. B
INST. C
INST. C
INST. A
INST. B
INST. C
PING
DETECTING A FAILURE
CREATING A CLUSTER
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A
INST. A
INST. C
INST. B
SENDS JOIN
SENDS JOIN
INST. B STARTS UP
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A
INST. A
INST. C
SENDS JOIN
SENDS JOIN
INST. B INST. B
PIGGYBACK MEMBERSHIP ON JOIN
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A
INST. A
INST. C
INST. B INST. B
SENDS JOIN
RESPONDS TO JOIN
INST. B
“A” APPLIES UPDATE FROM “B”
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A
INST. A
INST. C
INST. B INST. BINST. B
SENDS JOIN
RESPONDS TO JOIN
INST. B
“A” PIGGYBACKS UPDATE
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A
INST. A
INST. C
INST. B INST. BINST. B
SENDS JOIN
SENDS PING
INST. A
“B” APPLIES “A” UPDATE
ENTER RINGPOP: MEMBERSHIP PROTOCOL
INST. A
INST. A
INST. C
INST. B INST. BINST. B
SENDS JOIN
SENDS PING
INST. A
INST. A
CONSISTENT HASHING
RINGPOP
ENTER RINGPOP: CONSISTENT HASHING
START WITH A KEYSPACE AND A RING
232
-1
ENTER RINGPOP: CONSISTENT HASHING
hash(“INST. A”);
hash(“INST. B”);
hash(“INST. C”);
HASH APPLICATION INSTANCES
ENTER RINGPOP: CONSISTENT HASHING
INST. B
INST. C
DIVIDE UP THE KEYSPACE
INST. A
ENTER RINGPOP: CONSISTENT HASHING
ASSIGN OWNERSHIP “USER1”
hash(“USER1”);
INST. A
INST. B
INST. C
ENTER RINGPOP: CONSISTENT HASHING
ASSIGN OWNERSHIP “USER5”
hash(“USER5”);
INST. B
INST. C
INST. A
ENTER RINGPOP: CONSISTENT HASHING
INST. A
INST. B
INST. C
ASSIGN OWNERSHIP “USER8”, “USER4”
hash(“USER4”);
hash(“USER8”);
ENTER RINGPOP: CONSISTENT HASHING
LOSING CAPACITY
hash(“USER1”);
hash(“USER5”);
hash(“USER4”);
hash(“USER8”);
INST. A
INST. B
INST. C
ADDING CAPACITY
ENTER RINGPOP: CONSISTENT HASHING
INST. D
INST. A
INST. B
INST. C
hash(“USER1”);
hash(“USER5”);
hash(“USER4”);
hash(“USER8”);
APPLICATION LAYER MIDDLEWARE
ENTER RINGPOP: REQUEST ROUTING
HTTP / THRIFT / ETC
ROUTING
HASH RING
BUSINESS LOGIC
MEMBERSHIP
INST. A
{RINGPOP
}PROCESS
APPLICATION
FRONT-END
STORAGE
PROGRAMMING RINGPOP
INSTANTIATE, BOOTSTRAP, LOOKUP
A TYPICAL WEB APP
PROGRAMMING RINGPOP
INSTANTIATING RINGPOP
PROGRAMMING RINGPOP
BOOTSTRAPPING RINGPOP
PROGRAMMING RINGPOP
RING LOOKUPS
PROGRAMMING RINGPOP
APPLICATIONS
RINGPOP
GEOSPATIAL INDEX
APPLICATIONS OF RINGPOP
REPLICA 2
REPLICA 1
OWNER
INST. D
DISPATCH
UPDATE DRIVER
LOCATION
UPDATE
UPDATE
WORK DELEGATION
APPLICATIONS OF RINGPOP
BACKUP 2
BACKUP 1
LEADER
BACKUP 3
POLL DB FOR WORK
APPLICATIONS OF RINGPOP
RINGPOP IN PRODUCTION
Geospatial sharding
Work delegation
Server-side push / long-polling
Caching
Aggregation
Mailboxes
Database
Service Discovery and Routing
LESSONS LEARNED
RINGPOP
Verifying correctness.
Scaling and Failing.
DEVELOPMENT AND STAGING
LESSONS LEARNED
Convergence
Cross-pollination
Flappy nodes
Hard to forget
Slow start times
Anti-entropy
Tooling
Backwards compatibility
PRODUCTION
LESSONS LEARNED
CONCLUSION
RINGPOP
DynamoDB
by Amazon
Riak
by Basho
Serf
by Hashicorp
Cassandra
by Apache
Orleans
by Microsoft
Akka
by Typesafe
GRAZIE!
Presented by Jeff Wolski <wolski@uber.com>
Uber is hiring.
Come work with me in our Amsterdam office!

More Related Content

Similar to Jeff Wolski - Explorations in Cooperative, Distributed Systems with Uber's Ringpop

Convergência de Tecnologias Disruptivas: IoT, IA, Blockchain, 5G e Internet d...
Convergência de Tecnologias Disruptivas: IoT, IA, Blockchain, 5G e Internet d...Convergência de Tecnologias Disruptivas: IoT, IA, Blockchain, 5G e Internet d...
Convergência de Tecnologias Disruptivas: IoT, IA, Blockchain, 5G e Internet d...Antonio Marcos Alberti
 
iBeacon Indoor Proximity System
iBeacon Indoor Proximity SystemiBeacon Indoor Proximity System
iBeacon Indoor Proximity SystemEnnio Masi
 
Crossing the Streams Mesos &lt;> Kubernetes
Crossing the Streams Mesos &lt;> KubernetesCrossing the Streams Mesos &lt;> Kubernetes
Crossing the Streams Mesos &lt;> KubernetesTimothy St. Clair
 
section.io building devops centric products with docker
section.io   building devops centric products with dockersection.io   building devops centric products with docker
section.io building devops centric products with dockersection_io
 
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014Amazon Web Services
 
(Micro?)services architecture in practice
(Micro?)services architecture in practice(Micro?)services architecture in practice
(Micro?)services architecture in practiceThe Software House
 
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...Amazon Web Services
 
AWS Summit Kuala Lumpur - Opening Keynote by Dr. Werner Vogels
AWS Summit Kuala Lumpur - Opening Keynote by Dr. Werner VogelsAWS Summit Kuala Lumpur - Opening Keynote by Dr. Werner Vogels
AWS Summit Kuala Lumpur - Opening Keynote by Dr. Werner VogelsAmazon Web Services
 
From printed circuit boards to exploits
From printed circuit boards to exploitsFrom printed circuit boards to exploits
From printed circuit boards to exploitsvirtualabs
 
Realtime webapp with node.js
Realtime webapp with node.jsRealtime webapp with node.js
Realtime webapp with node.jsrobin_sy
 
How to hack wireless internet connections using aircrack-ng
How to hack wireless internet connections using aircrack-ngHow to hack wireless internet connections using aircrack-ng
How to hack wireless internet connections using aircrack-ngOpen Knowledge Nepal
 
Python intro01classes in_navi_mumbai
Python intro01classes in_navi_mumbaiPython intro01classes in_navi_mumbai
Python intro01classes in_navi_mumbaivibrantuser
 
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016Shuichi Tsutsumi
 
OpenRemote : NSConference 2012 blitz talk
OpenRemote : NSConference 2012 blitz talkOpenRemote : NSConference 2012 blitz talk
OpenRemote : NSConference 2012 blitz talkopenremote
 
Mobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und KibanaMobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und Kibanainovex GmbH
 
KubeMonkey를 통한 Chaos Engineering 실전 운영하기 - 윤석찬 (AWS 테크에반젤리스트)
KubeMonkey를 통한 Chaos Engineering 실전 운영하기 - 윤석찬 (AWS 테크에반젤리스트)KubeMonkey를 통한 Chaos Engineering 실전 운영하기 - 윤석찬 (AWS 테크에반젤리스트)
KubeMonkey를 통한 Chaos Engineering 실전 운영하기 - 윤석찬 (AWS 테크에반젤리스트)Channy Yun
 
AStar IoT and smart hospital architecture
AStar IoT and smart hospital architectureAStar IoT and smart hospital architecture
AStar IoT and smart hospital architectureChiyang Lin
 

Similar to Jeff Wolski - Explorations in Cooperative, Distributed Systems with Uber's Ringpop (20)

Convergência de Tecnologias Disruptivas: IoT, IA, Blockchain, 5G e Internet d...
Convergência de Tecnologias Disruptivas: IoT, IA, Blockchain, 5G e Internet d...Convergência de Tecnologias Disruptivas: IoT, IA, Blockchain, 5G e Internet d...
Convergência de Tecnologias Disruptivas: IoT, IA, Blockchain, 5G e Internet d...
 
iBeacon Indoor Proximity System
iBeacon Indoor Proximity SystemiBeacon Indoor Proximity System
iBeacon Indoor Proximity System
 
Crossing the Streams Mesos &lt;> Kubernetes
Crossing the Streams Mesos &lt;> KubernetesCrossing the Streams Mesos &lt;> Kubernetes
Crossing the Streams Mesos &lt;> Kubernetes
 
section.io building devops centric products with docker
section.io   building devops centric products with dockersection.io   building devops centric products with docker
section.io building devops centric products with docker
 
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
 
(Micro?)services architecture in practice
(Micro?)services architecture in practice(Micro?)services architecture in practice
(Micro?)services architecture in practice
 
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
 
AWS Summit Kuala Lumpur - Opening Keynote by Dr. Werner Vogels
AWS Summit Kuala Lumpur - Opening Keynote by Dr. Werner VogelsAWS Summit Kuala Lumpur - Opening Keynote by Dr. Werner Vogels
AWS Summit Kuala Lumpur - Opening Keynote by Dr. Werner Vogels
 
From printed circuit boards to exploits
From printed circuit boards to exploitsFrom printed circuit boards to exploits
From printed circuit boards to exploits
 
Realtime webapp with node.js
Realtime webapp with node.jsRealtime webapp with node.js
Realtime webapp with node.js
 
How to hack wireless internet connections using aircrack-ng
How to hack wireless internet connections using aircrack-ngHow to hack wireless internet connections using aircrack-ng
How to hack wireless internet connections using aircrack-ng
 
Python intro01classes in_navi_mumbai
Python intro01classes in_navi_mumbaiPython intro01classes in_navi_mumbai
Python intro01classes in_navi_mumbai
 
Openshift v3-a-revolucao-dos-containers-3
Openshift v3-a-revolucao-dos-containers-3Openshift v3-a-revolucao-dos-containers-3
Openshift v3-a-revolucao-dos-containers-3
 
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
 
BPjs for IoT class
BPjs for IoT classBPjs for IoT class
BPjs for IoT class
 
OpenRemote : NSConference 2012 blitz talk
OpenRemote : NSConference 2012 blitz talkOpenRemote : NSConference 2012 blitz talk
OpenRemote : NSConference 2012 blitz talk
 
Mobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und KibanaMobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und Kibana
 
sR Grid
sR GridsR Grid
sR Grid
 
KubeMonkey를 통한 Chaos Engineering 실전 운영하기 - 윤석찬 (AWS 테크에반젤리스트)
KubeMonkey를 통한 Chaos Engineering 실전 운영하기 - 윤석찬 (AWS 테크에반젤리스트)KubeMonkey를 통한 Chaos Engineering 실전 운영하기 - 윤석찬 (AWS 테크에반젤리스트)
KubeMonkey를 통한 Chaos Engineering 실전 운영하기 - 윤석찬 (AWS 테크에반젤리스트)
 
AStar IoT and smart hospital architecture
AStar IoT and smart hospital architectureAStar IoT and smart hospital architecture
AStar IoT and smart hospital architecture
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Product School
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 

Recently uploaded (20)

Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 

Jeff Wolski - Explorations in Cooperative, Distributed Systems with Uber's Ringpop