What is it about?
Serverless computing is a new paradigm of cloud computing, which makes the cloud easier to use and enables cloud platforms to optimize the performance and energy efficiency of the infrastructure under the hood. In this new era of cloud computing, users develop applications (e.g., web services and data analytics) as compositions of fine-grain functions. Applications invoke functions on-demand and the cloud platform automatically allocates and manages the hardware resources to execute functions. Serverless computing also offers a convenient pay-what-you-use cost model, which is appealing for users. We propose Dandelion, a new platform for serverless computing. Instead of retrofitting existing cloud software infrastructure, we aim to improve the performance and energy efficiency of serverless computing while maintaining secure isolation by fundamentally rethinking the serverless cloud programming model. Our vision for Dandelion proposes moving from the current vague serverless functions to a model of pure functions. With this change we cleanly separate computation from data movement. The users write the pure functions that perform the computation and the platform provides functions that move data and communicate with other services. Larger applications are built by composing these functions. The clear boundary of what user functions are allowed to do enables more lightweight isolation. As applications now expose dataflow explicitly in their compositions of individual functions, the platform can more easily optimize how data is passed. Lastly, the split into compute and data movement also enables a more natural way of mapping these operations onto hardware accelerators.
Featured Image
Photo by Patrik Kernstock on Unsplash
Why is it important?
While serverless computing holds great promise, the system software infrastructure required to run it has not kept up with the requirements of today’s applications. Cloud software infrastructure has also not kept up with the tremendous advances in cloud hardware over the past decade, such as the proliferation of CPU security extensions and energy-efficient specialized processors. The conventional approach of gradually retrofitting cloud system software that was designed over a decade ago is not sufficient to realize the full potential of serverless computing. We need a fundamentally new approach to design system software for next-generation cloud applications.
Perspectives
Read the Original
This page is a summary of: Function as a Function, October 2023, ACM (Association for Computing Machinery),
DOI: 10.1145/3620678.3624648.
You can read the full text:
Contributors
The following have contributed to this page