Object as a Service: Simplifying Cloud-Native Development through Serverless Object Abstraction
Pawissanutt Lertpongrujikorn, Mohsen Amini Salehi
函数即服务(FaaS)范式被设想为下一代云计算系统,通过从云资源管理中抽象出来,减轻了云原生应用程序开发人员的负担。 但是,它不涉及应用程序数据方面。 因此,开发人员必须干预并承担管理应用程序数据的负担,通常是通过单独的云存储服务。 为了进一步简化云原生应用程序开发,在这项工作中,我们提出了一种新的范式,称为对象即服务(OaaS),将应用程序数据和函数封装到云对象抽象中。 OaaS减轻了开发人员的资源和数据管理负担,同时提供了内置的优化功能。 受OOP的启发,OaaS将访问修改器和继承纳入无服务器范式,即:(a)阻止开发人员通过意外访问底层数据来损害系统;(b)在云原生应用程序开发中实现软件重用。 此外,OaaS原生支持数据流语义。 它使开发人员能够定义功能工作流程,同时透明地处理数据导航、同步和并行问题。 为了建立OaaS范式,我们开发了一个名为Oparaca的平台,该平台为结构化和非结构化数据提供状态抽象,并提供一致性和容错保证。 我们在实际应用环境中根据最先进的平台对 Oparaca 进行了评估,这些平台涉及强加的开销、可扩展性和易用性。 结果表明,OaaS提供的对象抽象可以简化灵活和可扩展的云原生应用程序开发,在底层无服务器系统上具有微不足道的开销。
The function-as-a-service (FaaS) paradigm is envisioned as the next generation of cloud computing systems that mitigate the burden for cloud-native application developers by abstracting them from cloud resource management. However, it does not deal with the application data aspects. As such, developers have to intervene and undergo the burden of managing the application data, often via separate cloud storage services. To further streamline cloud-native application development, in this work, we p...