Table of Contents
Fetching ...

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.

Boxer: FaaSt Ephemeral Elasticity for Off-the-Shelf Cloud Applications

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.
Paper Structure (19 sections, 1 equation, 12 figures, 1 table)

This paper contains 19 sections, 1 equation, 12 figures, 1 table.

Figures (12)

  • Figure 1: Reddit requests over 7 days (top) and 1 minute (bottom). Extracted from a public Reddit 2015 trace.
  • Figure 2: Median instantiation times of containers and VMs services, error bars are min and max values. Details in Section \ref{['sec:vmc-elasticity']}
  • Figure 3: Reddit deployment cost (top) for different EC2 capacities using Lambda to handle requests that exceed capacity. 1-day Reddit trace (bottom) showing requests handled by EC2 and Lambda to minimize cost while providing capacity to handle all requests (c100), 65% of total requests corresponds to the level of 3% of the observed maximum. (Section \ref{['sec:ephemeral']})
  • Figure 4: An unmodified long-running networked datacenter application running in VMs (temporarily) augmented with FaaS microVM based ephemeral elasticity using Boxer.
  • Figure 5: Boxer node (VM, microVM, or a container).
  • ...and 7 more figures