Slide 1

Slide 1 text

Serverless meets Serverfree

Slide 2

Slide 2 text

What is Serverless?

Slide 3

Slide 3 text

Abstrac(ng servers away

Slide 4

Slide 4 text

Why? Management costs ,me and money but doesn't deliver core value.

Slide 5

Slide 5 text

How? Let someone else do it! Lambda, OpenWhisk, Azure, etc.

Slide 6

Slide 6 text

Thinking in Func+ons Applica'ons become a collec'on of events that trigger func)ons • Frees up engineering ,me and resources (less ops) • Scaling and availability built-in • Cost-efficient

Slide 7

Slide 7 text

Serverless A Solu'on for be-er business: How can we do more for less?

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Serverfree Decentralized Web and P2P

Slide 10

Slide 10 text

Unserved User Needs • Work offline & control data • Independent publishing • Confiden:ality

Slide 11

Slide 11 text

Unserved User Needs Plus the usual stuff • Cheaper • Faster • Easier

Slide 12

Slide 12 text

The New Technologies • Blockchain variants • BitTorrent variants • Others

Slide 13

Slide 13 text

Blockchain variants • Bitcoin • Ethereum • Blockstack • Zcash • etc

Slide 14

Slide 14 text

BitTorrent variants • BitTorrent / WebTorrent • IPFS • Dat

Slide 15

Slide 15 text

Others • InterLedger Protocol • Matrix • GNU Social • etc

Slide 16

Slide 16 text

Trustless compu-ng Both Blockchains and "BitTorrents"

Slide 17

Slide 17 text

Trustless compu-ng No need to entrust a host with decisions

Slide 18

Slide 18 text

Trustless compu-ng: Blockchains • Proof-of-Work consensus • Nodes take turns wri5ng transac5on-blocks • All nodes validate the blocks • In math (and protocol) we trust

Slide 19

Slide 19 text

Trustless compu-ng: BitTorrents • Content-addressing • Pubkey address replaces IP address • Benefits: • No host/content binding • Cheap domain alloca?on • Buil?n horizontal scaling

Slide 20

Slide 20 text

Trustless compu-ng Enables serverfree

Slide 21

Slide 21 text

Serverfree Applica'ons run on the device, and use device resources • No central host • Store data on the device • Interact with device and protocol APIs

Slide 22

Slide 22 text

Serverfree Feature advantages • Work offline: Download and run from cache • Independent publishing: Cheap and easy domain alloca>on • Confiden>ality: • Store data on the device • P2P and E2E Encryp>on

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Serverless, Serverfree How can they relate?

Slide 25

Slide 25 text

Serverless... Business advantages • Less ops • Buil,n scaling • Cost-efficient

Slide 26

Slide 26 text

Serverfree The same business advantages • Less ops: so)ware runs on user device • Buil5n scaling: discovery network • Cost-efficient: hos5ng is reduced to cost of content-delivery

Slide 27

Slide 27 text

The Takeaway Serverfree accomplishes the same business goals as Serverless while providing new benefits for users

Slide 28

Slide 28 text

The Tradeoff A very different execu/on environment: a distributed network of user devices

Slide 29

Slide 29 text

What is that environment going to be like? Depends on the stack

Slide 30

Slide 30 text

Trustless Hypermedia Replace HTTP with IPFS and Dat

Slide 31

Slide 31 text

Dat: URLs

Slide 32

Slide 32 text

Shortnames dat://beaker.com/ DNS TXT record: dat://39bf8a..04/

Slide 33

Slide 33 text

Versioning • Dats are mutable & versioned • Version history by append-only log • Enables lookup @ specific version

Slide 34

Slide 34 text

Versioned URLs

Slide 35

Slide 35 text

Secret sharing • URL is unguessable • URL is used to encrypt connec6on • URL is hashed before pu9ng it into the discovery network • Result: you have to know the URL to download the Dat

Slide 36

Slide 36 text

Dat • Hostless, P2P • Shortnames • Versioned • Confiden7al

Slide 37

Slide 37 text

IPFS • Hostless, P2P • Shortnames (ipfs:/ipns/{name}) • Filecoin (coming soon)

Slide 38

Slide 38 text

Demo

Slide 39

Slide 39 text

How will applica*ons change?

Slide 40

Slide 40 text

More like desktop/mobile apps • Store data on device • Network as-needed • Tightly sandboxed and permissioned

Slide 41

Slide 41 text

Most fun change: Interac(ng with the protocols

Slide 42

Slide 42 text

Create a new archive: var archive = dat.createArchive() Write v1.0.0: await archive.writeFile('hello.txt', 'hello world') await archive.checkpoint('1.0.0') Host on the network: archive.share() archive.getURL()

Slide 43

Slide 43 text

How does an applica.on store data? Files: Offline Dats Maybe also SQLite

Slide 44

Slide 44 text

Content Publishing Example Write /statuses/1476158881976.json {"message":"Hello, World!"}

Slide 45

Slide 45 text

Separa&ng app from data • Seman'c data sets: Album, User Profile, Chat-log • Applica'ons register as handlers • "Open with..." • Perhaps also intents

Slide 46

Slide 46 text

ServiceWorkers • Server on the device • Dynamic client-side Web resources

Slide 47

Slide 47 text

Web Services Some%mes, you just need a service.

Slide 48

Slide 48 text

P2P vs Centralized It's about consensus • Eventual Consistency: BitTorrents • Strict Consistency: Services & Blockchains

Slide 49

Slide 49 text

P2P vs Centralized It's also about transac.ons • Async, NO transac.ons: BitTorrents • Async, has transac.ons: Blockchains • Sync or Async: Services

Slide 50

Slide 50 text

Web Services Some%mes, you just need a service. ...but it can probably be serverless.

Slide 51

Slide 51 text

No content