Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Serverless meets Serverfree

Paul Frazee
October 21, 2016

Serverless meets Serverfree

The Decentralized Web accomplishes the same business goals as Serverless while providing new benefits for users

Paul Frazee

October 21, 2016
Tweet

Other Decks in Technology

Transcript

  1. 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
  2. Unserved User Needs • Work offline & control data •

    Independent publishing • Confiden:ality
  3. 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
  4. Trustless compu-ng: BitTorrents • Content-addressing • Pubkey address replaces IP

    address • Benefits: • No host/content binding • Cheap domain alloca?on • Buil?n horizontal scaling
  5. 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
  6. 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
  7. 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
  8. Versioning • Dats are mutable & versioned • Version history

    by append-only log • Enables lookup @ specific version
  9. 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
  10. More like desktop/mobile apps • Store data on device •

    Network as-needed • Tightly sandboxed and permissioned
  11. 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()
  12. Separa&ng app from data • Seman'c data sets: Album, User

    Profile, Chat-log • Applica'ons register as handlers • "Open with..." • Perhaps also intents
  13. P2P vs Centralized It's also about transac.ons • Async, NO

    transac.ons: BitTorrents • Async, has transac.ons: Blockchains • Sync or Async: Services