  We present a framework for scheduling multifunction serverless applications
over a hybrid public-private cloud. A set of serverless jobs is input as a
batch, and the objective is to schedule function executions over the hybrid
platform to minimize the cost of public cloud use, while completing all jobs by
a specified deadline. As this scheduling problem is NP-Hard, we propose a
greedy algorithm that dynamically determines both the order and placement of
each function execution using predictive models of function execution time and
network latencies. We present a prototype implementation of our framework that
uses AWS Lambda and OpenFaaS, for the public and private cloud, respectively.
We evaluate our prototype in live experiments using a mixture of compute and
I/O heavy serverless applications. Our results show that our framework can
achieve a speedup in batch processing of up to 1.92 times that of an approach
that uses only the private cloud, at 40.5% the cost of an approach that uses
only the public cloud.
