Slide 1

Slide 1 text

BUILDING A SERVERLESS PLATFORM FOR EDGE COMPUTING IN ERLANG BeamMeetup - 07/2021

Slide 2

Slide 2 text

benoît chesnea u craftsman in edge computing & P2P platform s Owner of Enki Multimedia created 14 years ago about me

Slide 3

Slide 3 text

Edge computing is a distributed computing framework that brings enterprise applications closer to data sources such as IoT devices or local edge servers. This proximity to data at its source can deliver strong business bene fi ts, including faster insights, improved response times and better bandwidth availability. What is edge 
 computing? https://www.ibm.com/cloud/what-is-edge-computing

Slide 4

Slide 4 text

Serverless is a cloud computing execution model that provisions computing resources on demand, and o ffl oads all responsibility for common infrastructure management tasks (e.g., scaling, scheduling, patching, provisioning, etc.) to cloud providers and tools, allowing engineers to focus their time and effort on the business logic speci fi c to their applications or process. What is serverless computing?

Slide 5

Slide 5 text

integrating Serverless to edge computing

Slide 6

Slide 6 text

decomposing applications in small units: function s whitebox approac h event drive n computation closer to the data sources key s

Slide 7

Slide 7 text

next-generation of barrel: namshu b HCI focus on containers and distributed storag e focus on offering a P2P and customisable infrastructure where data and its execution can be replicated between different edge points . on Premise

Slide 8

Slide 8 text

replicated document storage as database ( fi ltered ) documents are stored (durable objects with properties ) “design documents” that contains functions that can be executed over a databas e events driven, you can executes functions based on changes in the database. inspired by couchdb, kazoo + feedback from customers

Slide 9

Slide 9 text

~/ $ namshub login https://localhost:7090 # Create and publish a “Hello World” application ~/ $ namshub generate hello ~/ $ cd hello ~/hello $ namshub db world ~/hello $ namshub publish

Slide 10

Slide 10 text

a server language engine written Erlang. shows and lists function s Functions evaluations in different languages using nif or extenal process using a gen_server / design doc s evaluated code was evaluated line by line in a loo p the couchapp client in python or erica in erlang Couchapps, a missed opportunit y

Slide 11

Slide 11 text

issue with the couchapps engine is that it forced us to write one nif or an external server for each language supporte d dif fi cult to be multiplatfor m the solution: webassembl y namshub support beam and WASM functions can be executed during a request or on change s results can be persisted. (or a snapshot of them) the namshub engine

Slide 12

Slide 12 text

3 main component s the gateway, a separate controller that can replicate or forward document betwene different node s the application server which contains the execution logic and handle design documents . the database nodes (a barrel node) that support local storage and exchange events.

Slide 13

Slide 13 text

the WASM enging is written using Zig and is connected as a c-node to erlang. Multiple execution engine can be registered to the application server . the controller is an erlang release that pass the data and the events between each registered applications and local storage nodes.

Slide 14

Slide 14 text

application server gateway data node data node

Slide 15

Slide 15 text

the application server is composed of different erlang applications: UI, Functions runtime, yours. . applications: can have a listener that receive events from the controlle r do other execution or interact with external application s send event s different transports between nodes can be use d a transaction engine

Slide 16

Slide 16 text

HTTP/(1.1,2,3) as a glue to discuss from and to Erlang application s Hackney with HTTP2 and websocket s Cowbo y storage handled by a custom storage built on top of rocksdb . gen_persist: persistant framework key components

Slide 17

Slide 17 text

release next week as an opensource releas e a service will simplify the usage between different edge points key components

Slide 18

Slide 18 text

?

Slide 19

Slide 19 text

want to get a preview:
 [email protected] Contact us : [email protected]