Boxer: FaaSt Ephemeral Elasticity for Off-the-Shelf Cloud Applications
Michael Wawrzoniak, Rodrigo Bruno, Ana Klimovic, Gustavo Alonso
TL;DR
Boxer tackles the elasticity gap between slow VM-based scaling and fast but restrictive FaaS execution. It introduces Boxer, an interposition overlay that transparently runs unmodified applications across VMs/containers and FaaS by emulating the network-of-hosts environment with a lightweight Process Monitor and Node Supervisor. The approach enables ephemeral elasticity, achieving rapid recovery and burst absorption with small overhead, demonstrated on DeathStarBench and Zookeeper deployments and showing meaningful cost-saving potential when mixing EC2 and Lambda resources. This work provides a practical path to fast, cost-efficient cloud deployments without requiring application rearchitecting, thereby enabling more responsive and resilient services.
Abstract
Elasticity is a key property of cloud computing. However, elasticity is offered today at the granularity of virtual machines, which take tens of seconds to start. This is insufficient to react to load spikes and sudden failures in latency sensitive applications, leading users to resort to expensive overprovisioning. Function-as-a-Service (FaaS) provides significantly higher elasticity than VMs, but comes coupled with an event-triggered programming model and a constrained execution environment that makes them unsuitable for off-the-shelf applications. Previous work tries to overcome these obstacles but often requires re-architecting the applications. In this paper, we show how off-the-shelf applications can transparently benefit from ephemeral elasticity with FaaS. We built Boxer, an interposition layer spanning VMs and AWS Lambda, that intercepts application execution and emulates the network-of-hosts environment that applications expect when deployed in a conventional VM/container environment. The ephemeral elasticity of Boxer enables significant performance and cost savings for off-the-shelf applications with, e.g., recovery times over 5x faster than EC2 instances and absorbing load spikes comparable to overprovisioned EC2 VM instances.
