FunLess: Functions-as-a-Service for Private Edge Cloud Systems
Giuseppe De Palma, Saverio Giallorenzo, Jacopo Mauro, Matteo Trentin, Gianluigi Zavattaro
TL;DR
FunLess tackles the problem of running FaaS on private edge clouds with constrained devices by using WebAssembly as the execution runtime, enabling a lightweight, portable, and secure sandbox that reduces cold-start overhead and eliminates container overhead. The system architecture comprises a Core controller and distributed Workers that run Wasm binaries via Wasmtime, with a memory-aware cache and BEAM-based communication, allowing edge-only deployment. Empirical evaluation across edge and cloud configurations shows FunLess achieving comparable latency to OpenFaaS, Fission, and Knative while supporting edge-only deployments and exhibiting a smaller memory footprint, particularly in bare-metal configurations. The work demonstrates the practicality of a Wasm-based FaaS for heterogeneous, resource-constrained environments and outlines concrete directions to further improve performance and reliability, including runtime optimizations and optional retry mechanisms.
Abstract
We present FunLess, a Function-as-a-Service (FaaS) platform tailored for the private edge cloud system. FunLess responds to recent trends that advocate for extending the coverage of serverless computing to private edge cloud systems and enhancing latency, security, and privacy while improving resource usage. Unlike existing solutions that rely on containers for function invocation, FunLess leverages WebAssembly (Wasm) as its runtime environment. Wasm's lightweight, sandboxed runtime is crucial to have functions run on constrained devices at the edge. Moreover, the advantages of using Wasm in FunLess include a consistent development and deployment environment for users and function portability (write once, run everywhere) We validate FunLess under different deployment scenarios, characterised by the presence/absence of constrained-resource devices (Raspberry Pi 3B+) and the (in)accessibility of container orchestration technologies - Kubernetes. We compare FunLess with three production-ready, widely adopted open-source FaaS platforms - OpenFaaS, Fission, and Knative. Our benchmarks confirm that FunLess is a proper solution for FaaS private edge cloud systems since it achieves performance comparable to the considered FaaS alternatives while it is the only fully-deployable alternative on constrained-resource devices, thanks to its small memory footprint.
