Closing Keynote: The Jump to Hyperspace

A presentation at ElixirConf in October 2021 in Austin, TX, USA by Brooklyn Zelenka

Slide 1

Slide 1

The Jump to Hyperspace ๐ŸŒˆ Light speed, antientropy, & moving past the cloud ๐ŸŒค

Slide 2

Slide 2

The Jump to Hyperspace ๐ŸŒˆ Light speed, antientropy, & moving past the cloud ๐ŸŒค

Slide 3

Slide 3

Slide 4

Slide 4

I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail ~Abraham Maslow

Slide 5

Slide 5

I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail ~Abraham Maslow

Slide 6

Slide 6

Slide 7

Slide 7

[โ€ฆ] by 2025, 75% of data will be processed outside the traditional data centre or cloud ~ Gartner (also Dell & IBM) https://www.gartner.com/smarterwithgartner/what-edge-computing-means-for-infrastructure-and-operations-leaders

Slide 8

Slide 8

Brooklyn Zelenka @expede

Slide 9

Slide 9

Brooklyn Zelenka @expede โ€ข CTO at Fission โ€ข https://fission.codes, @FISSIONCodes โ€ข Infra & browser SDK for โ€œedge appsโ€ โ€ข Local-first, E2EE/EAR, distributed, passwordless โ€ข Standards: DIF, UCAN, Ethereum, Multiformats, others โ€ข Elixir: Witchcraft, Algae, Exceptional, &c

Slide 10

Slide 10

Meta ๐Ÿ”ฎ โ€ข R&D at Fission and others โ€ข Future looking, emerging space โ€ข Edge, web3, dweb โ€ข Go โ€œup a layerโ€ from BEAM to the internet itself

Slide 11

Slide 11

Meta ๐Ÿ”ฎ โ€ข R&D at Fission and others โ€ข Future looking, emerging space โ€ข Edge, web3, dweb โ€ข Go โ€œup a layerโ€ from BEAM to the internet itself

Slide 12

Slide 12

โ€œHistorical Reasonsโ€ How We Got Here ๐Ÿ“ ๐Ÿ“ฒ

Slide 13

Slide 13

Motivation ๐ŸŽญ 1994 Set the Tone

Slide 14

Slide 14

Motivation ๐ŸŽญ 1994 Set the Tone

Slide 15

Slide 15

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ

Slide 16

Slide 16

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ

Slide 17

Slide 17

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข

Slide 18

Slide 18

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข ๐Ÿ—ƒ

Slide 19

Slide 19

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข โš™ ๐Ÿ—ƒ

Slide 20

Slide 20

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข โš™ ๐Ÿ’ช ๐Ÿ—ƒ

Slide 21

Slide 21

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข โš™ ๐Ÿ’ช ๐Ÿ—ƒ

Slide 22

Slide 22

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข โš™ ๐Ÿ’ช ๐Ÿ—ƒ

Slide 23

Slide 23

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข โš™ ๐Ÿ’ช ๐Ÿ—ƒ

Slide 24

Slide 24

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข โš™ ๐Ÿ’ช ๐Ÿ—ƒ

Slide 25

Slide 25

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข โš™ ๐Ÿ’ช ๐Ÿ—ƒ

Slide 26

Slide 26

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ’ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข ๐Ÿ–ฅ ๐Ÿข ๐Ÿ–ฅ ๐Ÿข โš™ ๐Ÿ’ช ๐Ÿ—ƒ

Slide 27

Slide 27

Motivation ๐ŸŽญ The Dream of the 90s is Alive on the Web ๐ŸŽถ ๐Ÿ’ ๐Ÿ’ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿข ๐Ÿ–ฅ ๐Ÿข ๐Ÿ–ฅ ๐Ÿข โš™ ๐Ÿ’ช ๐Ÿ” ๐Ÿ—ƒ

Slide 28

Slide 28

Motivation ๐ŸŽญ Scaling Up ๐Ÿ’ ๐Ÿ’ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿ–ฅ ๐Ÿ–ฅ ๐Ÿ™ โš™ โš™ โš™ ๐Ÿ” ๐Ÿ” ๐Ÿ” ๐Ÿ—ƒ ๐Ÿ—ƒ ๐Ÿ—ƒ

Slide 29

Slide 29

Motivation ๐ŸŽญ Scaling Up ๐Ÿ’ ๐Ÿ’ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿ–ฅ ๐Ÿ–ฅ ๐Ÿ™ โš™ โš™ โš™ ๐Ÿ” ๐Ÿ” ๐Ÿ” ๐Ÿ—ƒ ๐Ÿ—ƒ ๐Ÿ—ƒ

Slide 30

Slide 30

Motivation ๐ŸŽญ Scaling Up ๐Ÿ’ ๐Ÿ’ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿ–ฅ ๐Ÿ–ฅ โš™ ๐Ÿ—ƒ ๐Ÿ” ๐Ÿ™ โš™ ๐Ÿ—ƒ โ€œCloudโ€ ๐Ÿ” โš™ ๐Ÿ—ƒ โ˜ ๐Ÿ”

Slide 31

Slide 31

Motivation ๐ŸŽญ Less is More ๐Ÿ’ ๐Ÿ’ ๐Ÿ’ ๐Ÿ–ฅ ๐Ÿ–ฅ ๐Ÿ–ฅ โš™ ๐Ÿ—ƒ ๐Ÿ” ๐Ÿ™ โš™ ๐Ÿ—ƒ โ€œServerlessโ€ ๐Ÿ” ๐Ÿ—ƒ (AKA more โš™servers) ๐ŸŒฉ ๐Ÿ”

Slide 32

Slide 32

โ€ฆand so it was for many yearsโ€ฆ

Slide 33

Slide 33

โ€ฆand so it was for many yearsโ€ฆ ๐Ÿฆ–โ˜„๐ŸŒ‹๐ŸŒพ๐Ÿฐ๐Ÿข๐Ÿš€

Slide 34

Slide 34

Motivation ๐ŸŽญ Natural Consequences ๐Ÿƒ

Slide 35

Slide 35

Motivation ๐ŸŽญ Natural Consequences ๐Ÿƒ โ€ข Single source of truth (โ€œtheโ€ database)

Slide 36

Slide 36

Motivation ๐ŸŽญ Natural Consequences ๐Ÿƒ โ€ข Single source of truth (โ€œtheโ€ database) โ€ข Server-centric โ€ข โ€œFull stack developmentโ€ โ€ข DevOps, Docker, k8s โ€ข How to train enough engineers?

Slide 37

Slide 37

Motivation ๐ŸŽญ Natural Consequences ๐Ÿƒ โ€ข Single source of truth (โ€œtheโ€ database) โ€ข Server-centric โ€ข โ€œFull stack developmentโ€ โ€ข DevOps, Docker, k8s โ€ข How to train enough engineers?

Slide 38

Slide 38

Motivation ๐ŸŽญ Natural Consequences ๐Ÿƒ โ€ข Single source of truth (โ€œtheโ€ database) โ€ข Server-centric โ€ข โ€œFull stack developmentโ€ โ€ข DevOps, Docker, k8s โ€ข How to train enough engineers? โ€ข Infrastructure Hegemony โ€ข AWS (60%), GCP, Azure

Slide 39

Slide 39

Motivation ๐ŸŽญ Sending a โ€œDirectโ€ Message

Slide 40

Slide 40

Motivation ๐ŸŽญ Sending a โ€œDirectโ€ Message

Slide 41

Slide 41

Motivation ๐ŸŽญ Sending a โ€œDirectโ€ Message

Slide 42

Slide 42

Motivation ๐ŸŽญ Sending a โ€œDirectโ€ Message โณ๐Ÿ”‹๐Ÿ›ข๐Ÿช 

Slide 43

Slide 43

New Environment ๐Ÿ›ฐ Users vs Cloud Infra Source: AWS

Slide 44

Slide 44

New Environment ๐Ÿ›ฐ Users vs Cloud Infra Source: AWS

Slide 45

Slide 45

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 6 7 6 2 1 1 1 1 Source: AWS

Slide 46

Slide 46

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 6 7 6 2 1 1 1 1 Source: AWS

Slide 47

Slide 47

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 6 7 6 2 1 1 1 1 Source: AWS

Slide 48

Slide 48

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 6 7 6 2 1 1 1 1 Source: AWS

Slide 49

Slide 49

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 6 7 6 2 1 1 1 1 Source: AWS

Slide 50

Slide 50

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 6 7 2 6 50M 1 1 1 1 Source: AWS

Slide 51

Slide 51

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 371 million 56M/centre 6 7 2 6 50M 1 1 1 1 Source: AWS

Slide 52

Slide 52

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 371 million 56M/centre 6 7 2 6 50M 1 1 ~435 million 435M/centre 1 1 Source: AWS

Slide 53

Slide 53

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 371 million 56M/centre 6 7 2 6 50M 1 1 ~435 million 435M/centre 1 ~1.4 billion 1400M/centre 1 Source: AWS

Slide 54

Slide 54

New Environment ๐Ÿ›ฐ Users vs Cloud Infra 371 million 56M/centre 6 7 2 6 50M 1 1 ~435 million 435M/centre 1 ~1.4 billion 1400M/centre 1 Source: AWS

Slide 55

Slide 55

Video Killed the Radio Star A New Environment ๐Ÿ

Slide 56

Slide 56

New Environment ๐Ÿ›ฐ New Environment

Slide 57

Slide 57

New Environment ๐Ÿ›ฐ New Environment Then ๐Ÿ“  Now ๐Ÿš€

Slide 58

Slide 58

New Environment ๐Ÿ›ฐ New Environment Need Then ๐Ÿ“  Now ๐Ÿš€ Convenient ๐Ÿ’ Critical ๐Ÿšจ

Slide 59

Slide 59

New Environment ๐Ÿ›ฐ New Environment Then ๐Ÿ“  Now ๐Ÿš€ Need Convenient ๐Ÿ’ Critical ๐Ÿšจ Location Data Centre ๐Ÿข Powerful Clients (M1, IoT) โŒš๐Ÿš™๐Ÿ‘Ÿ

Slide 60

Slide 60

New Environment ๐Ÿ›ฐ New Environment Then ๐Ÿ“  Now ๐Ÿš€ Need Convenient ๐Ÿ’ Critical ๐Ÿšจ Location Data Centre ๐Ÿข Powerful Clients (M1, IoT) โŒš๐Ÿš™๐Ÿ‘Ÿ ๐Ÿ–ฅ ๐Ÿ“ฑ Access

Slide 61

Slide 61

New Environment ๐Ÿ›ฐ New Environment Then ๐Ÿ“  Now ๐Ÿš€ Need Convenient ๐Ÿ’ Critical ๐Ÿšจ Location Data Centre ๐Ÿข Powerful Clients (M1, IoT) โŒš๐Ÿš™๐Ÿ‘Ÿ ๐Ÿ–ฅ ๐Ÿ“ฑ Bandwidth ๐Ÿšš Latency โฒ Access Bottleneck

Slide 62

Slide 62

New Environment ๐Ÿ›ฐ New Environment Then ๐Ÿ“  Now ๐Ÿš€ Need Convenient ๐Ÿ’ Critical ๐Ÿšจ Location Data Centre ๐Ÿข Powerful Clients (M1, IoT) โŒš๐Ÿš™๐Ÿ‘Ÿ ๐Ÿ–ฅ ๐Ÿ“ฑ Bandwidth ๐Ÿšš Latency โฒ ๐Ÿ‡บ๐Ÿ‡ธ๐Ÿ‡ช๐Ÿ‡บ ๐ŸŒŽ๐ŸŒ๐ŸŒ โ€ฆ ๐ŸŒ” Access Bottleneck Market

Slide 63

Slide 63

High Volume ๐Ÿ“ข Science Fiction โ†’ Reality โ€ข Remote surgery โ€ข Extended reality โ€ข Autonomous vehicles โ€ข Location transparency โ€ข Competitive cloud gaming โ€ข Realtime manufacturing โ€ข Continuous ML Literal brain surgery over 5G 3,000km ~ 1,900mi

Slide 64

Slide 64

Slide 65

Slide 65

Sensor data explosion will kill the cloud. [โ€ฆ] existing infrastructure will not be able to handle the volumes or the rates We are absolutely going to return to a peer-to-peer computing [โ€ฆ] not unlike distributed computing We are going to move to a world of data-centric programming. ~ a16z, โ€œThe End of Cloud Computingโ€

Slide 66

Slide 66

Sensor data explosion will kill the cloud. [โ€ฆ] existing infrastructure will not be able to handle the volumes or the rates We are absolutely going to return to a peer-to-peer computing [โ€ฆ] not unlike distributed computing We are going to move to a world of data-centric programming. ~ a16z, โ€œThe End of Cloud Computingโ€ โœ…

Slide 67

Slide 67

Sensor data explosion will kill the cloud. [โ€ฆ] existing infrastructure will not be able to handle the volumes or the rates We are absolutely going to return to a peer-to-peer computing [โ€ฆ] not unlike distributed computing We are going to move to a world of data-centric programming. โœ… ~ a16z, โ€œThe End of Cloud Computingโ€ โœ…

Slide 68

Slide 68

Sensor data explosion will kill the cloud. [โ€ฆ] existing infrastructure will not be able to handle the volumes or the rates We are absolutely going to return to a peer-to-peer computing [โ€ฆ] not unlike distributed computing We are going to move to a world of data-centric programming. โœ… ~ a16z, โ€œThe End of Cloud Computingโ€ ๐Ÿคพ โœ… ๐Ÿ—‘

Slide 69

Slide 69

Sensor data explosion will kill the cloud. [โ€ฆ] existing infrastructure will not be able to handle the volumes or the rates We are absolutely going to return to a peer-to-peer computing [โ€ฆ] not unlike distributed computing We are going to move to a world of data-centric programming. โœ… ~ a16z, โ€œThe End of Cloud Computingโ€ ๐Ÿคพ โœ… ๐Ÿ—‘

Slide 70

Slide 70

The World is Changing Relativistic Computing ๐Ÿ›ธ

Slide 71

Slide 71

Slide 72

Slide 72

The ship that made the Kessel Run in less than 12 parsecs ~ Han Solo

Slide 73

Slide 73

The ship that made the Kessel Run in less than 12 parsecs ~ Han Solo

Slide 74

Slide 74

New Environment ๐Ÿ›ฐ Mooreโ€™s Law. But make it networked.

Slide 75

Slide 75

Low Latency ๐Ÿ‡ Latency is a Physical Limit ๐Ÿšง โ€ข Bandwidth max not even close โ€ข Speed of light causality โ€ข Edge dominates < 40ms โ€ข Best at ~8ms โ€ข 1ms applications exist โ€ข โ€œUltra Reliable Low Latencyโ€

Slide 76

Slide 76

Low Latency ๐Ÿ‡ Latency is a Physical Limit ๐Ÿšง โ€ข Bandwidth max not even close โ€ข Speed of light causality โ€ข Edge dominates < 40ms โ€ข Best at ~8ms โ€ข 1ms applications exist โ€ข โ€œUltra Reliable Low Latencyโ€ f Source: Ericsson http://cscn2017.ieee-cscn.org/ iles/2017/08/Janne_Peisa_Ericsson_CSCN2017.pdf

Slide 77

Slide 77

Low Latency ๐Ÿ‡ Latency is a Physical Limit ๐Ÿšง โ€ข Bandwidth max not even close โ€ข Speed of light causality โ€ข Edge dominates < 40ms โ€ข Best at ~8ms โ€ข 1ms applications exist โ€ข โ€œUltra Reliable Low Latencyโ€ f Source: Ericsson http://cscn2017.ieee-cscn.org/ iles/2017/08/Janne_Peisa_Ericsson_CSCN2017.pdf

Slide 78

Slide 78

Low Latency ๐Ÿ‡ What 8ms Looks Like

Slide 79

Slide 79

Low Latency ๐Ÿ‡ What 8ms Looks Like Austin โžก San Francisco Ideal Vacuum ๐Ÿ’ซ

Slide 80

Slide 80

Low Latency ๐Ÿ‡ What 8ms Looks Like Austin โžก San Francisco Ideal Vacuum ๐Ÿ’ซ Austin ๐Ÿ” (almost) Atlanta Ideal Vacuum ๐Ÿ’ซ

Slide 81

Slide 81

Low Latency ๐Ÿ‡ What 8ms Looks Like Austin โžก San Francisco Ideal Vacuum ๐Ÿ’ซ Austin ๐Ÿ” (almost) Atlanta Ideal Vacuum ๐Ÿ’ซ Austin ๐Ÿ” New Orleans Ideal Fibre ๐Ÿงถ

Slide 82

Slide 82

Low Latency ๐Ÿ‡ Causal Islands ๐Ÿ–๐Ÿ

Slide 83

Slide 83

Low Latency ๐Ÿ‡ Causal Islands ๐Ÿ–๐Ÿ

Slide 84

Slide 84

Low Latency ๐Ÿ‡ Causal Islands ๐Ÿ–๐Ÿ

Slide 85

Slide 85

Low Latency ๐Ÿ‡ Causal Islands ๐Ÿ–๐Ÿ

Slide 86

Slide 86

New Environment ๐Ÿ›ฐ Friendly Neighbourhood Compute

Slide 87

Slide 87

New Environment ๐Ÿ›ฐ Friendly Neighbourhood Compute โ€ข 5G networks & Starlink ๐Ÿ›ฐ โ€ข Straight line point-to-point โ€ข PoP directly on the tower ๐Ÿ—ผ๐Ÿ“€

Slide 88

Slide 88

New Environment ๐Ÿ›ฐ Friendly Neighbourhood Compute โ€ข 5G networks & Starlink ๐Ÿ›ฐ โ€ข Straight line point-to-point โ€ข PoP directly on the tower ๐Ÿ—ผ๐Ÿ“€ โ€ข Walmartโ€™s Edge โ€ข 90% Americans < 10mi [16km]

Slide 89

Slide 89

High Volume ๐Ÿ“ข A New Topology

Slide 90

Slide 90

High Volume ๐Ÿ“ข A New Topology ๐Ÿคณ

Slide 91

Slide 91

High Volume ๐Ÿ“ข A New Topology ๐Ÿ›ฐ ๐Ÿคณ ๐Ÿ—ผ ๐Ÿ’พโš™

Slide 92

Slide 92

High Volume ๐Ÿ“ข A New Topology ๐Ÿ›ฐ ๐Ÿคณ ๐Ÿ—ผ ๐Ÿ’พโš™ ๐Ÿข ๐Ÿ’พโš™

Slide 93

Slide 93

High Volume ๐Ÿ“ข A New Topology ๐Ÿ›ฐ ๐Ÿคณ ๐Ÿ—ผ ๐Ÿ’พโš™ ๐Ÿข ๐Ÿ’พโš™ โ˜ ๐Ÿ’พโš™ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ ๐Ÿ’พโš™ โš™

Slide 94

Slide 94

High Volume ๐Ÿ“ข A New Topology ๐Ÿ›ฐ ๐Ÿคณ ๐Ÿ—ผ ๐Ÿ’พโš™ ๐Ÿ›ฐ ๐Ÿ›ฐ ๐Ÿข โ˜ ๐Ÿ’พโš™ ๐Ÿ’พโš™ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ ๐Ÿ’พโš™ โš™

Slide 95

Slide 95

High Volume ๐Ÿ“ข A New Topology ๐Ÿ›ฐ Local ๐Ÿคณ First ๐Ÿ—ผ ๐Ÿ’พโš™ ๐Ÿ›ฐ ๐Ÿ›ฐ ๐Ÿข โ˜ ๐Ÿ’พโš™ ๐Ÿ’พโš™ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ ๐Ÿ’พโš™ โš™

Slide 96

Slide 96

High Volume ๐Ÿ“ข A New Topology ๐Ÿ›ฐ Local ๐Ÿคณ First ๐Ÿ—ผ Realtime, Storage, Caching, OLTP ๐Ÿ’พโš™ ๐Ÿ›ฐ ๐Ÿ›ฐ ๐Ÿข โ˜ ๐Ÿ’พโš™ ๐Ÿ’พโš™ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ ๐Ÿ’พโš™ โš™

Slide 97

Slide 97

High Volume ๐Ÿ“ข A New Topology ๐Ÿ›ฐ Local ๐Ÿคณ First ๐Ÿ—ผ Realtime, Storage, Caching, OLTP ๐Ÿ’พโš™ ๐Ÿ›ฐ Relay, Replication, Consistency, Tasks ๐Ÿ’พโš™ ๐Ÿข ๐Ÿ›ฐ โ˜ ๐Ÿ’พโš™ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ ๐Ÿ’พโš™ โš™

Slide 98

Slide 98

High Volume ๐Ÿ“ข A New Topology ๐Ÿ›ฐ Local ๐Ÿคณ First ๐Ÿ—ผ Realtime, Storage, Caching, OLTP ๐Ÿ’พโš™ ๐Ÿ›ฐ Relay, Replication, Consistency, Tasks ๐Ÿ’พโš™ ๐Ÿข ๐Ÿ›ฐ โ˜ Aggregation, Batching, Training, โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ OLAP โš™ ๐Ÿ’พ ๐Ÿ’พโš™ โš™

Slide 99

Slide 99

High Volume ๐Ÿ“ข A New Topology ๐Ÿ›ฐ Local ๐Ÿคณ First ๐Ÿ‡ ๐Ÿ—ผ Realtime, Storage, Caching, OLTP ๐Ÿ’พโš™ ๐Ÿ›ฐ Relay, Replication, Consistency, Tasks ๐Ÿ’พโš™ ๐Ÿข ๐Ÿ›ฐ โ˜ Aggregation, Batching, Training, โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ โš™ ๐Ÿ’พ OLAP โš™ ๐Ÿ’พ ๐Ÿ’พโš™ โš™ ๐Ÿ˜

Slide 100

Slide 100

Functional Programming On the Edge ๐Ÿง—

Slide 101

Slide 101

Slide 102

Slide 102

Instead of [โ€ฆ] โ€œwhich database would be best to hold presences?โ€, we could ask โ€œhow can we best replicate data in a distributed system without the user having to worry about it?โ€ With Elixir, you are empowered to tackle problems that in other platforms would feel impossible to solve ~ Chris McCord, What Makes Phoenix Presence Special

Slide 103

Slide 103

On the Edge ๐Ÿง— Phoenix LiveView

Slide 104

Slide 104

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป

Slide 105

Slide 105

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ–ฅ ๐Ÿ’พ

Slide 106

Slide 106

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ ๐Ÿ—ƒ โš™ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ–ฅ ๐Ÿ’พ

Slide 107

Slide 107

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ ๐Ÿ—ƒ โš™ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ–ฅ ๐Ÿ’พ

Slide 108

Slide 108

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ ๐Ÿ—ƒ โš™ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ–ฅ ๐Ÿ’พ

Slide 109

Slide 109

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ ๐Ÿ—ƒ โš™ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ–ฅ ๐Ÿ’พ

Slide 110

Slide 110

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ ๐Ÿ—ƒ โš™ โš™ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ–ฅ ๐Ÿ’พ

Slide 111

Slide 111

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ ๐Ÿ—ƒ โš™ โš™ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ–ฅ ๐Ÿ’พ ๐Ÿ–ฅ ๐Ÿ’พ

Slide 112

Slide 112

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ ๐Ÿ—ƒ โš™ โš™ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ–ฅ ๐Ÿ’พ ๐Ÿ–ฅ ๐Ÿ’พ

Slide 113

Slide 113

On the Edge ๐Ÿง— Phoenix LiveView Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Client ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ ๐Ÿ—ƒ โš™ โš™ WSS / REST / GraphQL โ†• Controller Logic โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ–ฅ ๐Ÿ’พ ๐Ÿ–ฅ ๐Ÿ’พ

Slide 114

Slide 114

On the Edge ๐Ÿง— Phoenix Inside Out ๐Ÿฃ ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ ๐Ÿ–ฅ ๐Ÿ’พ๐Ÿ’พ๐Ÿ’พ โš™ ๐Ÿ’พ ๐Ÿ—ƒ

Slide 115

Slide 115

On the Edge ๐Ÿง— Mo Distributed Mo Problems Property Consequence Casual islands No single source of truth! Local first How to do coordination? Replicate/run on any machine ACLs fail (for reads, many writes)

Slide 116

Slide 116

On the Edge ๐Ÿง— CAP โ†’ PACELC ๐Ÿ“ฆ๐ŸฆŒ

Slide 117

Slide 117

On the Edge ๐Ÿง— CAP โ†’ PACELC ๐Ÿ“ฆ๐ŸฆŒ โ€ข If network partition, either: โ€ข Availability (A) โœ… Uptime! โ€ข Consistency (C)

Slide 118

Slide 118

On the Edge ๐Ÿง— CAP โ†’ PACELC ๐Ÿ“ฆ๐ŸฆŒ โ€ข If network partition, either: โ€ข Availability (A) โœ… Uptime! C โ€ข Consistency (C) A

Slide 119

Slide 119

On the Edge ๐Ÿง— CAP โ†’ PACELC ๐Ÿ“ฆ๐ŸฆŒ โ€ข If network partition, either: โ€ข Availability (A) โœ… Uptime! C โ€ข Consistency (C) P A

Slide 120

Slide 120

On the Edge ๐Ÿง— CAP โ†’ PACELC ๐Ÿ“ฆ๐ŸฆŒ โ€ข If network partition, either: โ€ข Availability (A) โœ… Uptime! C โ€ข Consistency (C) P โ€ข Else (E) running normally, either: โ€ข Latency (L) โœ… Speed! โ€ข Consistency (C) A

Slide 121

Slide 121

On the Edge ๐Ÿง— CAP โ†’ PACELC ๐Ÿ“ฆ๐ŸฆŒ โ€ข If network partition, either: โ€ข Availability (A) โœ… Uptime! C โ€ข Consistency (C) P E โ€ข Else (E) running normally, either: โ€ข Latency (L) โœ… Speed! โ€ข Consistency (C) A L

Slide 122

Slide 122

On the Edge ๐Ÿง— CAP โ†’ PACELC ๐Ÿ“ฆ๐ŸฆŒ โ€ข If network partition, either: โ€ข Availability (A) โœ… Uptime! C โ€ข Consistency (C) P E โ€ข Else (E) running normally, either: โ€ข Latency (L) โœ… Speed! โ€ข Consistency (C) A L

Slide 123

Slide 123

On the Edge ๐Ÿง— CAP โ†’ PACELC ๐Ÿ“ฆ๐ŸฆŒ โ€ข If network partition, either: โ€ข Availability (A) โœ… Uptime! C โ€ข Consistency (C) P E โ€ข Else (E) running normally, either: โ€ข Latency (L) โœ… Speed! โ€ข Consistency (C) A L PA/EL

Slide 124

Slide 124

On the Edge ๐Ÿง— New Assumptions, New Approach

Slide 125

Slide 125

On the Edge ๐Ÿง— New Assumptions, New Approach โ€ข New assumptions โ†’ new architecture โ†’ new features โ€ข Local-first โ†’ network e cient ffi โ€ข Data can run anywhere โ†’ commons networks

Slide 126

Slide 126

On the Edge ๐Ÿง— New Tools

Slide 127

Slide 127

On the Edge ๐Ÿง— ff New Tools โ€ข Conflict-free Replicated Data Type (CRDT) โ€ข Software Transactional Memory (STM) โ€ข Di erential Datalog (DDlog) โ€ข Merkleization (hash chaining) โ€ข Cryptographic compute (MPC/FHE/NIZK) โ€ข REST < bidirectional sync < relative data views

Slide 128

Slide 128

On the Edge ๐Ÿง— ff New Tools โ€ข Conflict-free Replicated Data Type (CRDT) โ€ข Software Transactional Memory (STM) โ€ข Di erential Datalog (DDlog) โ€ข Merkleization (hash chaining) โ€ข Cryptographic compute (MPC/FHE/NIZK) โ€ข REST < bidirectional sync < relative data views

Slide 129

Slide 129

On the Edge ๐Ÿง— ff New Tools โ€ข Conflict-free Replicated Data Type (CRDT) โ€ข Software Transactional Memory (STM) โ€ข Di erential Datalog (DDlog) โ€ข Merkleization (hash chaining) โ€ข Cryptographic compute (MPC/FHE/NIZK) โ€ข REST < bidirectional sync < relative data views

Slide 130

Slide 130

On the Edge ๐Ÿง— ff New Tools โ€ข Conflict-free Replicated Data Type (CRDT) โ€ข Software Transactional Memory (STM) โ€ข Di erential Datalog (DDlog) โ€ข Merkleization (hash chaining) โ€ข Cryptographic compute (MPC/FHE/NIZK) โ€ข REST < bidirectional sync < relative data views

Slide 131

Slide 131

Fixing The Leaky Pipes Identity & Access ๐Ÿšฟ

Slide 132

Slide 132

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write

Slide 133

Slide 133

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿง‘๐ŸŒพ

Slide 134

Slide 134

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿง‘๐ŸŒพ โš™

Slide 135

Slide 135

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿง‘๐ŸŒพ ๐Ÿ’‚ โœ‹ โš™

Slide 136

Slide 136

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿง‘๐ŸŒพ ๐Ÿ“‘ ๐Ÿ’‚ โœ‹ โš™

Slide 137

Slide 137

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿง‘๐ŸŒพ ๐Ÿ“‘ ๐Ÿ’‚ โœ‹ โš™

Slide 138

Slide 138

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿง‘๐ŸŒพ ๐Ÿ“‘ ๐Ÿ’‚ โœ‹ โš™

Slide 139

Slide 139

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿง‘๐ŸŒพ ๐Ÿ“‘ ๐Ÿ’‚ โœ‹ Not in control โš™

Slide 140

Slide 140

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿ“‘ In control ๐Ÿง‘๐ŸŒพ ๐Ÿ’‚ โœ‹ Not in control โš™

Slide 141

Slide 141

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿ“‘ In control ๐Ÿง‘๐ŸŒพ ๐Ÿ’‚ โœ‹ Not in control โš™

Slide 142

Slide 142

Fixing the Leaky Pipes ๐Ÿšฟ ACL Read & Write ๐Ÿ“‘ ๐Ÿ’‚ โœ‹ In control ๐Ÿง‘๐ŸŒพ ๐Ÿ’‚ โœ‹ Not in control โš™

Slide 143

Slide 143

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation

Slide 144

Slide 144

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต

Slide 145

Slide 145

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต ๐Ÿ“ฌ

Slide 146

Slide 146

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation PID โœŠ โœŠ ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ“ฌ

Slide 147

Slide 147

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation PID โœŠ โœŠ ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ’Œ ๐Ÿ“ฌ

Slide 148

Slide 148

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต PID โœŠ โœŠ ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ’Œ ๐Ÿ“ฌ

Slide 149

Slide 149

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต PID โœŠ โœŠ ๐Ÿ•ต ๐Ÿ—บ โš™ ๐Ÿ’Œ ๐Ÿ“ฌ

Slide 150

Slide 150

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โš™ โœŠ โœŠ PID โœŠ โœŠ Addr ๐Ÿ’Œ ๐Ÿ“ฌ

Slide 151

Slide 151

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation โœŠ โš™ PID ๐Ÿ’Œ ๐Ÿ“ฌ โœŠ Addr ๐ŸŽŸ โœŠ ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ

Slide 152

Slide 152

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation โœŠ โš™ PID ๐Ÿ’Œ ๐Ÿ“ฌ โœŠ Addr ๐ŸŽŸ โœŠ ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ In control โœŠ

Slide 153

Slide 153

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ โœŠ PID โœŠ โœŠ Addr In control ๐ŸŽŸ โš™ All req info ๐Ÿ’Œ ๐Ÿ“ฌ

Slide 154

Slide 154

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation โœŠ โš™ PID ๐Ÿ’Œ ๐Ÿ“ฌ โœŠ Addr ๐ŸŽŸ โœŠ ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ

Slide 155

Slide 155

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation โœŠ PID ๐Ÿ“ฌ โœŠ Addr โš™ โœŠ ๐Ÿ•ต ๐ŸŽŸ ๐Ÿ—บ ๐ŸŽŸ ๐ŸŽŸ ๐Ÿ•ต ๐Ÿ’Œ ๐Ÿ—บ ๐Ÿ’Œ ๐Ÿ’Œ โœŠ

Slide 156

Slide 156

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation โœŠ โš™ PID ๐Ÿ’Œ ๐Ÿ“ฌ โœŠ Addr ๐ŸŽŸ โœŠ ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ

Slide 157

Slide 157

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation โœŠ โš™ ๐Ÿง‘๐ŸŽจ PID ๐Ÿ’Œ ๐Ÿ“ฌ โœŠ Addr ๐ŸŽŸ โœŠ ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ

Slide 158

Slide 158

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ โœŠ PID โœŠ โœŠ Addr ๐ŸŽŸ ๐Ÿ’Œ โš™ ๐Ÿง‘๐ŸŽจ ๐Ÿ—บ ๐Ÿ“ฌ

Slide 159

Slide 159

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ โœŠ PID โœŠ โœŠ Addr ๐ŸŽŸ ๐Ÿ’Œ โš™ ๐Ÿง‘๐ŸŽจ ๐Ÿ—บ ๐Ÿ“ฌ ๐Ÿ’Œ

Slide 160

Slide 160

๐Ÿ‘จ๐ŸŽจ Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ โœŠ PID โœŠ โœŠ Addr ๐ŸŽŸ ๐Ÿ’Œ โš™ ๐Ÿง‘๐ŸŽจ ๐Ÿ—บ ๐Ÿ“ฌ ๐Ÿ’Œ

Slide 161

Slide 161

๐Ÿ‘จ๐ŸŽจ Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ โœŠ PID โœŠ โœŠ Addr ๐ŸŽŸ ๐Ÿ’Œ ๐ŸŽŸ ๐Ÿ—บ โš™ ๐Ÿง‘๐ŸŽจ ๐Ÿ“ฌ ๐Ÿ’Œ

Slide 162

Slide 162

๐Ÿ‘จ๐ŸŽจ Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation ๐Ÿ•ต ๐Ÿ—บ ๐Ÿ•ต ๐Ÿ—บ โœŠ โœŠ PID โœŠ โœŠ Addr ๐ŸŽŸ ๐Ÿ’Œ ๐ŸŽŸ ๐Ÿ—บ ๐ŸŽŸ โš™ ๐Ÿง‘๐ŸŽจ ๐Ÿ“ฌ ๐Ÿ’Œ

Slide 163

Slide 163

Fixing the Leaky Pipes ๐Ÿšฟ Rights Amplification

Slide 164

Slide 164

Fixing the Leaky Pipes ๐Ÿšฟ Rights Amplification ๐Ÿฅซ โœ‚

Slide 165

Slide 165

Fixing the Leaky Pipes ๐Ÿšฟ Rights Amplification ๐Ÿฅซ โœจ โœ‚

Slide 166

Slide 166

Fixing the Leaky Pipes ๐Ÿšฟ Rights Amplification ๐Ÿฅซ โœจ ๐Ÿฅ˜ โœ‚

Slide 167

Slide 167

Fixing the Leaky Pipes ๐Ÿšฟ Faster, Stronger, More Streamlined

Slide 168

Slide 168

Fixing the Leaky Pipes ๐Ÿšฟ Faster, Stronger, More Streamlined

Slide 169

Slide 169

Fixing the Leaky Pipes ๐Ÿšฟ Faster, Stronger, More Streamlined

Slide 170

Slide 170

Fixing the Leaky Pipes ๐Ÿšฟ Faster, Stronger, More Streamlined Universal, verifiable, user originated

Slide 171

Slide 171

Fixing the Leaky Pipes ๐Ÿšฟ JWT++

Slide 172

Slide 172

Fixing the Leaky Pipes ๐Ÿšฟ JWT++

Slide 173

Slide 173

Fixing the Leaky Pipes ๐Ÿšฟ JWT++

Slide 174

Slide 174

Fixing the Leaky Pipes ๐Ÿšฟ JWT++

Slide 175

Slide 175

Fixing the Leaky Pipes ๐Ÿšฟ Reading the Universal Dataspace๐Ÿช๐Ÿ”ฎ

Slide 176

Slide 176

Fixing the Leaky Pipes ๐Ÿšฟ Reading the Universal Dataspace๐Ÿช๐Ÿ”ฎ ๐Ÿ“ ๐Ÿ“ฐ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“… ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“‘ ๐Ÿ“Š ๐Ÿ“‰ ๐Ÿ“‘ ๐Ÿ“œ ๐Ÿ“‘ ๐Ÿ“ˆ

Slide 177

Slide 177

Fixing the Leaky Pipes ๐Ÿšฟ Reading the Universal Dataspace๐Ÿช๐Ÿ”ฎ ๐Ÿ‘จ๐Ÿซ ๐Ÿ‘ฉ๐Ÿ”ฌ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ฐ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“… ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“‘ ๐Ÿ“Š ๐Ÿ“‰ ๐Ÿ“‘ ๐Ÿ“œ ๐Ÿ“‘ ๐Ÿ“ˆ ๐Ÿง‘๐ŸŒพ

Slide 178

Slide 178

Fixing the Leaky Pipes ๐Ÿšฟ Reading the Universal Dataspace๐Ÿช๐Ÿ”ฎ ๐Ÿ‘จ๐Ÿซ ๐Ÿ‘ฉ๐Ÿ”ฌ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ฐ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“… ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“‘ ๐Ÿ“Š ๐Ÿ“‰ ๐Ÿ“‘ ๐Ÿ“œ ๐Ÿ“‘ ๐Ÿ“ˆ ๐Ÿง‘๐ŸŒพ

Slide 179

Slide 179

Fixing the Leaky Pipes ๐Ÿšฟ Reading the Universal Dataspace๐Ÿช๐Ÿ”ฎ ๐Ÿ‘จ๐Ÿซ ๐Ÿ‘ฉ๐Ÿ”ฌ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ฐ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“… ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“‘ ๐Ÿ“Š ๐Ÿ“‰ ๐Ÿ“‘ ๐Ÿ“œ ๐Ÿ“‘ ๐Ÿ“ˆ ๐Ÿง‘๐ŸŒพ

Slide 180

Slide 180

Fixing the Leaky Pipes ๐Ÿšฟ Reading the Universal Dataspace๐Ÿช๐Ÿ”ฎ ๐Ÿ‘จ๐Ÿซ ๐Ÿ‘ฉ๐Ÿ”ฌ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ฐ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“… ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“‘ ๐Ÿ“Š ๐Ÿ“‰ ๐Ÿ“‘ ๐Ÿ“œ ๐Ÿ“‘ ๐Ÿ“ˆ ๐Ÿง‘๐ŸŒพ

Slide 181

Slide 181

Itโ€™s all about that Data, Data, Data ๐Ÿ“Š

Slide 182

Slide 182

Data dominates. If youโ€™ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming. Rob Pike, 5 Rules of Programming

Slide 183

Slide 183

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š

Slide 184

Slide 184

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š

Slide 185

Slide 185

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š ๐ŸŽจ

Slide 186

Slide 186

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š ๐ŸŽจ

Slide 187

Slide 187

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š tโ†’ ๐ŸŽจ

Slide 188

Slide 188

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š ๐ŸŸข ๐ŸŽจ ๐Ÿ”ด ๐ŸŸก ๐Ÿ”ด tโ†’ ๐ŸŸข ๐ŸŸข ๐ŸŸก

Slide 189

Slide 189

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š ๐ŸŸข ๐ŸŽจ ๐Ÿ”ด ๐ŸŸก ๐Ÿ”ด tโ†’ ๐ŸŸข ๐ŸŸข ๐ŸŸก

Slide 190

Slide 190

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š ๐ŸŸข ๐ŸŽจ ๐Ÿ”ด ๐ŸŸก ๐Ÿ”ด tโ†’ ๐ŸŸข ๐ŸŸข ๐ŸŸก

Slide 191

Slide 191

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š ๐ŸŸข ๐ŸŽจ ๐Ÿ”ด ๐ŸŸก ๐Ÿ”ด tโ†’ ๐ŸŸข ๐ŸŸข ๐ŸŸก

Slide 192

Slide 192

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š ๐ŸŸข ๐ŸŽจ ๐Ÿ”ด ๐ŸŸก ๐Ÿ”ด tโ†’ ๐ŸŸข ๐ŸŸข ๐ŸŸก

Slide 193

Slide 193

Itโ€™s All About that Data ๐Ÿ“Š Gossiping Out of Order ๐Ÿ™Š ๐ŸŸข ๐ŸŽจ ๐Ÿ”ด ๐ŸŸก ๐Ÿ”ด tโ†’ ๐ŸŸข ๐ŸŸข ๐ŸŸก โŽ

Slide 194

Slide 194

Itโ€™s All About that Data ๐Ÿ“Š Entropy Isnโ€™t What It Used To Be

Slide 195

Slide 195

Itโ€™s All About that Data ๐Ÿ“Š Entropy Isnโ€™t What It Used To Be

Slide 196

Slide 196

Itโ€™s All About that Data ๐Ÿ“Š Abstract โ€ข Network agnostic โ€ข Any number of replicas

Slide 197

Slide 197

Itโ€™s All About that Data ๐Ÿ“Š Abstract Commutative โ€ข Network agnostic โ€ข Any number of replicas

Slide 198

Slide 198

Itโ€™s All About that Data ๐Ÿ“Š Abstract Commutative merge merge โ€ข Network agnostic โ€ข Any number of replicas

Slide 199

Slide 199

Itโ€™s All About that Data ๐Ÿ“Š Abstract Commutative merge merge โ€ข Network agnostic โ€ข Any number of replicas

Slide 200

Slide 200

Itโ€™s All About that Data ๐Ÿ“Š Abstract Commutative merge merge โ€ข Network agnostic โ€ข Any number of replicas

Slide 201

Slide 201

Itโ€™s All About that Data ๐Ÿ“Š Abstract Commutative merge merge โ€ข Network agnostic โ€ข Any number of replicas

Slide 202

Slide 202

Itโ€™s All About that Data ๐Ÿ“Š Abstract Commutative merge merge โ€ข Network agnostic โ€ข Any number of replicas Associative

Slide 203

Slide 203

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative merge merge โ€ข Network agnostic โ€ข Any number of replicas merge merge

Slide 204

Slide 204

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative merge merge โ€ข Network agnostic โ€ข Any number of replicas merge merge

Slide 205

Slide 205

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge

Slide 206

Slide 206

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge ( ) merge

Slide 207

Slide 207

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge ( ) merge

Slide 208

Slide 208

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge ( ) merge

Slide 209

Slide 209

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge ( ) merge merge

Slide 210

Slide 210

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge ( ) merge merge

Slide 211

Slide 211

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge ( ) merge merge

Slide 212

Slide 212

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge Idempotent ( ) merge merge

Slide 213

Slide 213

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge Idempotent ( ) merge merge fill

Slide 214

Slide 214

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge Idempotent ( ) merge merge fill

Slide 215

Slide 215

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge Idempotent ( ) merge merge fill

Slide 216

Slide 216

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge Idempotent ( ) merge merge fill

Slide 217

Slide 217

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge Idempotent ( ) merge merge fill fill

Slide 218

Slide 218

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge Idempotent ( ) merge merge fill fill

Slide 219

Slide 219

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge Idempotent ( ) merge merge fill fill

Slide 220

Slide 220

Itโ€™s All About that Data ๐Ÿ“Š Abstract Associative Commutative ( merge merge โ€ข Network agnostic โ€ข Any number of replicas ) merge merge Idempotent ( ) merge merge fill fill

Slide 221

Slide 221

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 222

Slide 222

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 223

Slide 223

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 224

Slide 224

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 225

Slide 225

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 226

Slide 226

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 227

Slide 227

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 228

Slide 228

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 229

Slide 229

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 230

Slide 230

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 231

Slide 231

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 232

Slide 232

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 233

Slide 233

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 234

Slide 234

Itโ€™s All About that Data ๐Ÿ“Š PNCounter

Slide 235

Slide 235

Itโ€™s All About that Data ๐Ÿ“Š Syncing Tables Seems Inefficient

Slide 236

Slide 236

Itโ€™s All About that Data ๐Ÿ“Š Syncing Tables Seems Inefficient user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

โ€” OCT-2020

Slide 237

Slide 237

Itโ€™s All About that Data ๐Ÿ“Š Syncing Tables Seems Inefficient user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

โ€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Slide 238

Slide 238

Itโ€™s All About that Data ๐Ÿ“Š Syncing Tables Seems Inefficient Whoโ€™s clock? Meaningful or coincidence? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

โ€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Slide 239

Slide 239

Itโ€™s All About that Data ๐Ÿ“Š Syncing Tables Seems Inefficient Whoโ€™s clock? Meaningful or coincidence? ๐Ÿ”’? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

โ€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Slide 240

Slide 240

Itโ€™s All About that Data ๐Ÿ“Š Syncing Tables Seems Inefficient Whoโ€™s clock? Meaningful or coincidence? ๐Ÿ”’? ๐Ÿชต? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

โ€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Slide 241

Slide 241

Itโ€™s All About that Data ๐Ÿ“Š Syncing Tables Seems Inefficient Whoโ€™s clock? Meaningful or coincidence? ๐Ÿ”’? ๐Ÿชต? ๐Ÿ˜ค? user_id username company start_date inserted_at 1 expede Fission AUG-2019 FEB-2020 2 bmann

โ€” OCT-2020 kb_id owner_id mode switches inserted_at 42 1 Wireless Blue JAN-2020

Slide 242

Slide 242

Itโ€™s All About that Data ๐Ÿ“Š Relationships XYZ Name: @expede From JAN-2000 ๐Ÿ”’ Work: Fission From AUG-2019 KEB ๐Ÿ”’ Red Switches Switches: Blue From JAN-2020 From FEB-2020 Wireless

Slide 243

Slide 243

Itโ€™s All About that Data ๐Ÿ“Š Relationships XYZ Name: @expede From JAN-2000 ๐Ÿ”’ Work: Fission From AUG-2019 KEB ๐Ÿ”’ Red Switches Switches: Blue From JAN-2020 From FEB-2020 Wireless

Slide 244

Slide 244

Itโ€™s All About that Data ๐Ÿ“Š A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Slide 245

Slide 245

Itโ€™s All About that Data ๐Ÿ“Š A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Slide 246

Slide 246

Itโ€™s All About that Data ๐Ÿ“Š A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Slide 247

Slide 247

Itโ€™s All About that Data ๐Ÿ“Š A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Slide 248

Slide 248

Itโ€™s All About that Data ๐Ÿ“Š A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020 ๐Ÿข

Slide 249

Slide 249

Itโ€™s All About that Data ๐Ÿ“Š A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020 ๐Ÿ‘ฉ๐Ÿš€๐Ÿ“ฑ ๐Ÿข

Slide 250

Slide 250

Itโ€™s All About that Data ๐Ÿ“Š A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 ๐Ÿ‘จ๐Ÿณ๐Ÿ’ป KEB Owner:XYZ From JAN-2020 ๐Ÿข KEB Switches: Blue From FEB-2020 ๐Ÿ‘ฉ๐Ÿš€๐Ÿ“ฑ

Slide 251

Slide 251

Itโ€™s All About that Data ๐Ÿ“Š A Sequel to SQL: Nonlinear DBs โžกโฌ… XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 ๐Ÿ‘จ๐Ÿณ๐Ÿ’ป KEB Owner:XYZ From JAN-2020 ๐Ÿข KEB Switches: Blue From FEB-2020 ๐Ÿ‘ฉ๐Ÿš€๐Ÿ“ฑ

Slide 252

Slide 252

Collaboration & Memoization & E ects at Scale (oh my!) ff Universal Compute ๐ŸŒŸ

Slide 253

Slide 253

Universal Compute ๐ŸŒŸ โ€œWith a Little Scale From My Friendsโ€

Slide 254

Slide 254

Universal Compute ๐ŸŒŸ Throughput โ€œWith a Little Scale From My Friendsโ€ Parallelization

Slide 255

Slide 255

Universal Compute ๐ŸŒŸ โ€œWith a Little Scale From My Friendsโ€ Throughput Ideal (Linear) Parallelization

Slide 256

Slide 256

Universal Compute ๐ŸŒŸ โ€œWith a Little Scale From My Friendsโ€ Ideal (Linear) Throughput Amdahlโ€™s Law Parallelization

Slide 257

Slide 257

Universal Compute ๐ŸŒŸ โ€œWith a Little Scale From My Friendsโ€ Ideal (Linear) Throughput Amdahlโ€™s Law Universal Scaling Law Parallelization

Slide 258

Slide 258

Universal Compute ๐ŸŒŸ โ€œWith a Little Scale From My Friendsโ€ Ideal (Linear) Throughput Amdahlโ€™s Law Incoherence, Data Contention Universal Scaling Law Parallelization

Slide 259

Slide 259

Universal Compute ๐ŸŒŸ โ€œWith a Little Scale From My Friendsโ€ Throughput Global Adaptive Memoization ๐Ÿคฏ Ideal (Linear) Amdahlโ€™s Law Incoherence, Data Contention Universal Scaling Law Parallelization

Slide 260

Slide 260

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ

Slide 261

Slide 261

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream

Slide 262

Slide 262

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream

Slide 263

Slide 263

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream tโ†’

Slide 264

Slide 264

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream tโ†’

Slide 265

Slide 265

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream tโ†’

Slide 266

Slide 266

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream tโ†’

Slide 267

Slide 267

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream tโ†’

Slide 268

Slide 268

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream tโ†’

Slide 269

Slide 269

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream tโ†’

Slide 270

Slide 270

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream tโ†’ ๐Ÿš€

Slide 271

Slide 271

Universal Compute ๐ŸŒŸ The Compute Commons ๐Ÿ•Š๐Ÿ“ฌ Side E ect Stream Pure E ect Stream Pure Function Stream ff ff Base Event Stream tโ†’ ๐Ÿš€

Slide 272

Slide 272

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Slide 273

Slide 273

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Slide 274

Slide 274

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Slide 275

Slide 275

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Slide 276

Slide 276

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Slide 277

Slide 277

Where Do We Go From Here? ๐Ÿ”ญ

Slide 278

Slide 278

Where Do We Go From Here? New Environment Then ๐Ÿ“  Now ๐Ÿš€ Need Convenient ๐Ÿ’ Critical ๐Ÿšจ Location Data Centre ๐Ÿข Powerful Clients (M1, IoT) โŒš๐Ÿš™๐Ÿ‘Ÿ ๐Ÿ–ฅ ๐Ÿ“ฑ Bandwidth ๐Ÿšš Latency โฒ ๐Ÿ‡บ๐Ÿ‡ธ๐Ÿ‡ช๐Ÿ‡บ ๐ŸŒŽ๐ŸŒ๐ŸŒ โ€ฆ ๐ŸŒ” Access Bottleneck Market

Slide 279

Slide 279

Where Do We Go From Here? Relativistic Programming ๐Ÿ’ซ

Slide 280

Slide 280

Where Do We Go From Here? A Better Future on the Edge

Slide 281

Slide 281

Where Do We Go From Here? A Better Future on the Edge Embrace the distributed nature of the internet:

Slide 282

Slide 282

Where Do We Go From Here? A Better Future on the Edge Embrace the distributed nature of the internet: 1. Only replicate what you need to

Slide 283

Slide 283

Where Do We Go From Here? A Better Future on the Edge Embrace the distributed nature of the internet: 1. Only replicate what you need to 2. Remember that data propagates relativistically

Slide 284

Slide 284

Where Do We Go From Here? A Better Future on the Edge Embrace the distributed nature of the internet: 1. Only replicate what you need to 2. Remember that data propagates relativistically 3. Free yourself from intrinsic time

Slide 285

Slide 285

๐ŸŽ‰ Thank You, ElixirConf ๐Ÿ‡บ๐Ÿ‡ธ brooklyn@fission.codes https://fission.codes github.com/expede @expede

Slide 286

Slide 286

๐ŸŽ‰ Thank You, ElixirConf ๐Ÿ‡บ๐Ÿ‡ธ brooklyn@fission.codes https://fission.codes github.com/expede @expede

Slide 287

Slide 287

๐ŸŽ‰ Thank You, ElixirConf ๐Ÿ‡บ๐Ÿ‡ธ brooklyn@fission.codes https://fission.codes github.com/expede @expede

Slide 288

Slide 288

Slide 289

Slide 289

Itโ€™s All About that Data ๐Ÿ“Š Mutable Pointers send(:example@42.123.45.6, :ping) %{node_id => %{path => content}} โ€ข Single-source server/client โ€ข DNS: hostname โ†’ IP address โ€ข PIDs: number โ†’ address โ€ข Focused: physical network ff โ€ข Referential opacity (same PID, di erent data)

Slide 290

Slide 290

Itโ€™s All About that Data ๐Ÿ“Š Mutable Pointers send(:example@42.123.45.6, :ping) %{node_id => %{path => content}} โ€ข Single-source server/client โ€ข DNS: hostname โ†’ IP address โ€ข PIDs: number โ†’ address P H Y S I C A L L O C AT I O N ๐Ÿ—บ โ€ข Focused: physical network ff โ€ข Referential opacity (same PID, di erent data)

Slide 291

Slide 291

Itโ€™s All About that Data ๐Ÿ“Š Mutable Pointers send(:example@42.123.45.6, :ping) %{node_id => %{path => content}} โ€ข Single-source server/client โ€ข DNS: hostname โ†’ IP address โ€ข PIDs: number โ†’ address V I R T UA L A D D R E S S ๐Ÿ“ฌ P H Y S I C A L L O C AT I O N ๐Ÿ—บ โ€ข Focused: physical network ff โ€ข Referential opacity (same PID, di erent data)

Slide 292

Slide 292

Itโ€™s All About that Data ๐Ÿ“Š Consistent Keys %{hash(content) => content} โ€ข Above virtual address โ€ข Focused: data itself โ€ข Same for everyone & everywhere โ€ข Perfect for caching โ€ข Immutable data++ โ€ข Consistent pointers โ†’ consistent data

Slide 293

Slide 293

Itโ€™s All About that Data ๐Ÿ“Š Consistent Keys %{hash(content) => content} โ€ข Above virtual address โ€ข Focused: data itself CONTENT ID โ˜ƒ โ€ข Same for everyone & everywhere โ€ข Perfect for caching โ€ข Immutable data++ โ€ข Consistent pointers โ†’ consistent data P H Y S I C A L L O C AT I O N ๐Ÿ—บ

Slide 294

Slide 294

Itโ€™s All About that Data ๐Ÿ“Š Consistent Keys %{hash(content) => content} โ€ข Above virtual address โ€ข Focused: data itself โ€ข Same for everyone & everywhere โ€ข Perfect for caching โ€ข Immutable data++ โ€ข Consistent pointers โ†’ consistent data CONTENT ID โ˜ƒ V I R T UA L A D D R E S S ๐Ÿ“ฌ P H Y S I C A L L O C AT I O N ๐Ÿ—บ

Slide 295

Slide 295

Itโ€™s All About that Data ๐Ÿ“Š Hash-Based Relationships

Slide 296

Slide 296

Itโ€™s All About that Data ๐Ÿ“Š Hash-Based Relationships { } CID ~ Data PID Qm123456โ€ฆ: { data: nil, links: [ {name: โ€œcompanyโ€, hash: Qmabcโ€ฆ} {name: โ€œindustryโ€, hash: Qmzyxโ€ฆ} ] }

Slide 297

Slide 297

Itโ€™s All About that Data ๐Ÿ“Š Hash-Based Relationships { } { Qm123456โ€ฆ: { data: nil, links: [ {name: โ€œcompanyโ€, hash: Qmabcโ€ฆ} {name: โ€œindustryโ€, hash: Qmzyxโ€ฆ} ] } CID ~ Data PID Qmabcdefโ€ฆ: { data: โ€œFissionโ€, links: [ {name: โ€œcityโ€, hash: Qm1gbโ€ฆ}, {name: โ€œaboutโ€, hash: Qm0eNโ€ฆ} ] } }

Slide 298

Slide 298

Itโ€™s All About that Data ๐Ÿ“Š Hash-Based Relationships { } { Qm123456โ€ฆ: { data: nil, links: [ {name: โ€œcompanyโ€, hash: Qmabcโ€ฆ} {name: โ€œindustryโ€, hash: Qmzyxโ€ฆ} ] } CID ~ Data PID Qmabcdefโ€ฆ: { data: โ€œFissionโ€, links: [ {name: โ€œcityโ€, hash: Qm1gbโ€ฆ}, {name: โ€œaboutโ€, hash: Qm0eNโ€ฆ} ] } } Qm123456โ€ฆ/company/about/ceo => โ€œBoris Mannโ€

Slide 299

Slide 299

Itโ€™s All About that Data ๐Ÿ“Š Content IDs Are Easy

Slide 300

Slide 300

Decentralized Systems ๐ŸŒˆ Different Clients ~ Schema Drift ๐Ÿ” Source: Project Cambria, Ink & Switch https://www.inkandswitch.com/cambria.html

Slide 301

Slide 301

High Volume ๐Ÿ“ข Evolving Toolbox Cloud Geographic Sync Serverless Commons Networks P2P Local First ff O line

Slide 302

Slide 302

On the Edge ๐Ÿง— Why Elixir? โ€ข Data-oriented, immutable โ€ข Code-as-data ๐Ÿ”„ data-as-code โ€ข Shared-nothing architectures โ€ข Easy concurrency, distributed systems โ€ข Actor model โ†’ OCAP โ€ข Build up complexity from simple parts

Slide 303

Slide 303

Slide 304

Slide 304

We have a system that applies cutting edge CS research to tackle day-to-day problems in the applications we all write. Phoenix Presence - has no single point of failure - has no single source of truth -[โ€ฆ] - self heals ~ Chris McCord, โ€œWhat Makes Phoenix Presence Specialโ€

Slide 305

Slide 305

Low Latency ๐Ÿ‡ Earth is Just Too Big! ๐ŸŒ โ€ข Ideal 40ms one-way โ€ข SF โžก Austin, Vancouver, London, Tokyo โ€ข SF โŒ Cape Town, Sidney, Rio de Janeiro Credit: Keenan Crane http://www.cs.cmu.edu/~kmcrane/Projects/ModelRepository/

Slide 306

Slide 306

Low Latency ๐Ÿ‡ Earth is Just Too Big! ๐ŸŒ โ€ข Ideal 40ms one-way โ€ข SF โžก Austin, Vancouver, London, Tokyo โ€ข SF โŒ Cape Town, Sidney, Rio de Janeiro Credit: Keenan Crane http://www.cs.cmu.edu/~kmcrane/Projects/ModelRepository/

Slide 307

Slide 307

What does this all mean? Consequence ๐ŸŒ‹

Slide 308

Slide 308

Consequence ๐Ÿ›ธ Primary Progression

Slide 309

Slide 309

Consequence ๐Ÿ›ธ Primary Progression 1. Embrace the distributed nature of the internet ๐Ÿค—

Slide 310

Slide 310

Consequence ๐Ÿ›ธ Primary Progression 1. Embrace the distributed nature of the internet ๐Ÿค— 2. Universal IDs (without coordination)

Slide 311

Slide 311

Consequence ๐Ÿ›ธ Primary Progression 1. Embrace the distributed nature of the internet ๐Ÿค— 2. Universal IDs (without coordination) 3. Direct access control

Slide 312

Slide 312

Consequence ๐Ÿ›ธ Primary Progression 1. Embrace the distributed nature of the internet ๐Ÿค— 2. Universal IDs (without coordination) 3. Direct access control 4. Cache friendliness

Slide 313

Slide 313

Consequence ๐Ÿ›ธ Primary Progression 1. Embrace the distributed nature of the internet ๐Ÿค— 2. Universal IDs (without coordination) 3. Direct access control 4. Cache friendliness 5. Relativistic databases

Slide 314

Slide 314

Consequence ๐Ÿ›ธ Primary Progression 1. Embrace the distributed nature of the internet ๐Ÿค— 2. Universal IDs (without coordination) 3. Direct access control 4. Cache friendliness 5. Relativistic databases 6. Interoperable formats (across time & team)

Slide 315

Slide 315

Consequence ๐Ÿ›ธ Primary Progression 1. Embrace the distributed nature of the internet ๐Ÿค— 2. Universal IDs (without coordination) 3. Direct access control 4. Cache friendliness 5. Relativistic databases 6. Interoperable formats (across time & team) ffi 7. E cient replication

Slide 316

Slide 316

Itโ€™s All About that Data ๐Ÿ“Š Minimal CRDT From Smaller Blocks

Slide 317

Slide 317

Itโ€™s All About that Data ๐Ÿ“Š Minimal CRDT From Smaller Blocks

Slide 318

Slide 318

Itโ€™s All About that Data ๐Ÿ“Š Minimal CRDT From Smaller Blocks

Slide 319

Slide 319

Itโ€™s All About that Data ๐Ÿ“Š Minimal CRDT From Smaller Blocks

Slide 320

Slide 320

Itโ€™s All About that Data ๐Ÿ“Š Minimal CRDT From Smaller Blocks Sibling / Concurrent

Slide 321

Slide 321

Getting Ready ๐Ÿฑ Data > Compute โ€ข Pure data-focus frees you! โ€ข Clarify โ€œrealโ€ dependencies on data โ€ข Direct auth, OCAP

Slide 322

Slide 322

Motivation ๐ŸŽญ What Even Is a โ€œServerโ€?

  1. Multi-tenant auth gatekeeper 2. Uptime / resource availability 3. Out-of-band compute (e.g. batch tasks, cron, OLAP)

Slide 323

Slide 323

Low Latency ๐Ÿ‡ Canโ€™t Go Faster, Make Shorter Trips

Slide 324

Slide 324

Low Latency ๐Ÿ‡ Canโ€™t Go Faster, Make Shorter Trips Source: Computer History Museum

Slide 325

Slide 325

Low Latency ๐Ÿ‡ Canโ€™t Go Faster, Make Shorter Trips >10ฮผm >10,000nm Source: Computer History Museum

Slide 326

Slide 326

Low Latency ๐Ÿ‡ Canโ€™t Go Faster, Make Shorter Trips >10ฮผm >10,000nm Source: Computer History Museum 10nm