The serverless shell
Résumé
Serverless computing is a recent paradigm to program the cloud. It allows to execute user-defined functions at scale, on demand, and in a pay-per-use manner. This paper reports on adapting the Unix shell for serverless. Our software, called the serverless shell (sshell), runs shell scripts on a serverless platform much like with a regular computer. It permits to reuse an existing code base while benefiting from the massive power of serverless and paying only for the resources used. sshell is built around a small set of components that includes a new inter-process communication layer for serverless. We evaluate it in AWS Lambda using several microbenchmarks and a large-scale application. Our results show that sshell achieves comparable or better performance than a high-end server. Moreover, it can be faster and more cost-efficient than a cluster-based solution to mine large datasets.