Serverless computing, commonly offered as Function-as-a-Service, was initially designed for small, lean applications. However, there has been an increasing desire to run larger, more complex applications (what we call bulky applications) in a serverless manner. Existing strategies for enabling such applications are to either increase function sizes or to rewrite applications as DAGs of functions. These approaches cause significant resource wastage, manual efforts, and/or performance overhead. We argue that the root cause of these issues is today's function-centric serverless model, where a function is the resource allocation and scaling unit. We propose a new, resource-centric serverless-computing model for executing bulky applications in a resource- and performance-efficient way, and we build the Zenix serverless platform following this model. Our results show that Zenix reduces resource consumption by up to 90% compared to today's function-centric serverless systems, while improving performance by up to 64%.
翻译:无服务器计算(通常以函数即服务的形式提供)最初是为小型、精简的应用程序设计的。然而,以无服务器方式运行更大、更复杂的应用程序(我们称之为繁重应用程序)的需求日益增长。现有的实现此类应用的策略要么是增大函数的规模,要么是将应用程序重写为函数的DAG。这些方法会导致严重的资源浪费、人工投入和/或性能开销。我们认为这些问题的根本原因在于当前以函数为中心的无服务器模型,其中函数是资源分配和扩展的单位。我们提出了一种新的、以资源为中心的无服务器计算模型,用于以资源高效和性能高效的方式执行繁重应用程序,并基于此模型构建了Zenix无服务器平台。我们的结果表明,与当前以函数为中心的无服务器系统相比,Zenix将资源消耗降低了高达90%,同时将性能提升了高达64%。