Growing popularity of serverless functions is driving the
need to optimize the execution platform to reduce resource
usage and increase the number of functions that can be executed
concurrently. This reduces the provider’s costs and
increases profit. While current serverless solutions use containers
and/or virtual machines, we propose a unikernel
based design called USETL which is specialized for serverless
extract, transform, load (ETL) workloads. Our design
is motivated by a number of key observations: serverless
functions are stateless, ephemeral and event-driven. Further,
each function’s specific purpose is known at invocation time.
Unikernels are a natural fit for execution contexts with these
properties: they are minimal kernels packaged with a single
application in a single address space, which makes them
incredibly lightweight. Our design removes network and
storage components entirely, replacing them with high level
APIs tailored to the needs of serverless ETL functions. Virtualizing
I/O at the runtime library interface reduces memory
and CPU overheads, yielding higher consolidation density
https://dl.acm.org/citation.cfm?id=3343750