Table of Contents
Fetching ...

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.

FunLess: Functions-as-a-Service for Private Edge Cloud Systems

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.
Paper Structure (16 sections, 4 figures)

This paper contains 16 sections, 4 figures.

Figures (4)

  • Figure 1: Architecture of the FunLess platform with the function flow from creation to invocation.
  • Figure 2: Cumulative distribution of the latencies of, from top to bottom, resp. the sleep, network-benchmark, and server-reply benchmarks. At each row, on the left, we show the cloud-edge scenario and, on the right, the cloud-only one.
  • Figure 3: Top, the cumulative distribution of the latencies of the matrixMult benchmark, cloud-edge on the left and cloud-only on the right. Bottom, the same plots except that FunLess runs an alternative version of the matrixMult function written in a Rust instead of JS.
  • Figure 4: Memory consumption of the hellojs function running on a Raspberry Pi 3B+.