  Serverless platforms have attracted attention due to their promise of
elasticity, low cost, and fast deployment. Instead of using a fixed virtual
machine (VM) infrastructure, which can incur considerable costs to operate and
run, serverless platforms support short computations, triggered on demand, with
cost proportional to fine-grain function execution time. However, serverless
platforms offer a restricted execution environment. For example, functions have
limited execution times, limited resources, and no support for networking
between functions. In this paper, we explore what it takes to treat serverless
platforms as short-lived, general purpose data-centers which can execute
unmodified existing applications. As a first step in this quest, we have
developed Boxer, a system providing an execution environment on top of existing
functions-as-a-service platforms that allows users to seamlessly migrate
conventional VM-based cloud services to serverless platforms. Boxer allows
generic applications to benefit from the fine-grain elasticity of serverless
platforms without having to modify applications to adopt a restrictive
event-triggered programming model or orchestrate auxiliary systems for data
communication. We implement Boxer on top of AWS Lambda and extend it to
transparently provide standard network interfaces. We describe its
implementation and demonstrate how it can be used to run off-the-shelf cloud
applications with a degree of fine-grained elasticity not available on
traditional VM-based platforms.
