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.
翻译:无服务器平台因其具有弹性、低成本和快速部署的希望而吸引了关注。 没有服务器的平台不是使用固定的虚拟机器(VM)基础设施,因为其操作和运行成本可能相当高,而是根据需求,以与微重功能执行时间成比例的成本触发的服务器平台支持短期计算。然而,没有服务器的平台提供了有限的执行环境。例如,功能的执行时间有限,资源有限,而且没有支持功能之间的网络。在本文中,我们探索如何将无服务器的平台视为能够执行未经修改的现有应用程序的短寿命、通用数据中心。作为这一探索的第一步,我们开发了Boxer,这是一个在现有功能As-A服务平台之上提供执行环境的系统,使用户能够无服务器的常规VM云服务无缝地迁移到无服务器平台。Boxer允许通用应用程序受益于无服务器平台的细微弹性弹性弹性,而不必修改应用程序,以采用限制性事件错错式程序模型或交错式数据通信辅助系统。我们没有在AWS-Lambda平台顶端执行,而是在AWS-Lambda平台上实施其标准网络。