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

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

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

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

[โ€ฆ] 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

Brooklyn Zelenka @expede

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

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

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

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

Motivation ๐ŸŽญ 1994 Set the Tone

Motivation ๐ŸŽญ 1994 Set the Tone

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Motivation ๐ŸŽญ Natural Consequences ๐Ÿƒ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

New Environment ๐Ÿ›ฐ New Environment

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

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

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

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

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

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

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

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โ€

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โ€ โœ…

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โ€ โœ…

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โ€ ๐Ÿคพ โœ… ๐Ÿ—‘

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โ€ ๐Ÿคพ โœ… ๐Ÿ—‘

The World is Changing Relativistic Computing ๐Ÿ›ธ

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

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

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

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โ€

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

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

Low Latency ๐Ÿ‡ What 8ms Looks Like

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

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

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

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

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

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

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

New Environment ๐Ÿ›ฐ Friendly Neighbourhood Compute

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

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]

High Volume ๐Ÿ“ข A New Topology

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

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

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

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

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

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

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

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

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

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

Functional Programming On the Edge ๐Ÿง—

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

On the Edge ๐Ÿง— Phoenix LiveView

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

On the Edge ๐Ÿง— New Tools

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

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

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

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

Fixing The Leaky Pipes Identity & Access ๐Ÿšฟ

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

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

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

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

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

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

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

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

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

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

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

Fixing the Leaky Pipes ๐Ÿšฟ OCAP for Mutation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fixing the Leaky Pipes ๐Ÿšฟ Rights Amplification

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

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

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

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

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

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

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

Fixing the Leaky Pipes ๐Ÿšฟ JWT++

Fixing the Leaky Pipes ๐Ÿšฟ JWT++

Fixing the Leaky Pipes ๐Ÿšฟ JWT++

Fixing the Leaky Pipes ๐Ÿšฟ JWT++

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 ๐Ÿข

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 ๐Ÿ‘ฉ๐Ÿš€๐Ÿ“ฑ ๐Ÿข

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 ๐Ÿ‘ฉ๐Ÿš€๐Ÿ“ฑ

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 ๐Ÿ‘ฉ๐Ÿš€๐Ÿ“ฑ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Universal Compute ๐ŸŒŸ GenEffect ๐Ÿš€

Where Do We Go From Here? ๐Ÿ”ญ

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

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

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

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

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

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

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

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

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

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

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)

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)

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)

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

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 ๐Ÿ—บ

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 ๐Ÿ—บ

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

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

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โ€ฆ} ] } }

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โ€

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

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

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

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

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โ€

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/

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/

What does this all mean? Consequence ๐ŸŒ‹

Consequence ๐Ÿ›ธ Primary Progression

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

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

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

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

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

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)

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

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

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

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

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

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

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

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)

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

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

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

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