论文标题
用于无服务器计算的软件工程
Software Engineering for Serverless Computing
论文作者
论文摘要
无服务器计算是一种新兴的云计算范式,已应用于各种域,包括机器学习,科学计算,视频处理等,以开发基于无服务器计算的软件应用程序(又称无服务器应用程序),开发人员遵循新的基于云的软件体系结构,在那里开发无需进行事件驱动的应用程序,而无需进行复杂和错误的服务器管理。对开发无服务器应用程序的巨大需求为软件开发人员带来了独特的挑战。但是,软件工程(SE)尚未全心全意地解决这些挑战。在本文中,我们概述了SE如何促进无服务器应用程序的开发,并呼吁SE研究社区采取行动来改善这一愿景。具体而言,我们讨论了可能的方向,其中研究人员和云提供商可以从SE角度促进无服务器计算,包括配置管理,数据安全,应用程序迁移,性能,测试和调试等。
Serverless computing is an emerging cloud computing paradigm that has been applied to various domains, including machine learning, scientific computing, video processing, etc. To develop serverless computing-based software applications (a.k.a., serverless applications), developers follow the new cloud-based software architecture, where they develop event-driven applications without the need for complex and error-prone server management. The great demand for developing serverless applications poses unique challenges to software developers. However, Software Engineering (SE) has not yet wholeheartedly tackled these challenges. In this paper, we outline a vision for how SE can facilitate the development of serverless applications and call for actions by the SE research community to reify this vision. Specifically, we discuss possible directions in which researchers and cloud providers can facilitate serverless computing from the SE perspective, including configuration management, data security, application migration, performance, testing and debugging, etc.