Function as a Service (FaaS) paradigm is getting widespread and is envisioned to be the next generation of cloud computing systems that mitigates the burden for programmers and cloud solution architects. However, FaaS does not explicitly deal with the data, and developers have to intervene and undergo the burden of managing the application data, often, via separate cloud services (e.g., AWS RDS). We overcome this problem of FaaS by borrowing the notion of object from the object-oriented programming into the serverless systems. We propose a new paradigm on top of the function abstraction, known as Object as a Service (OaaS), that offers encapsulation and abstraction benefits. The OaaS incorporates the application data into the object abstraction and relieves the developers from dealing with separate cloud services for the data management. It also unlocks opportunities for built-in optimization features, such as software reusability, data locality, and caching. Moreover, OaaS enables dataflow programming such that the developers define a workflow of functions transparently without getting involved into the synchronization and parallelism aspects. We implemented a prototype of the OaaS platform that is low-overhead and scalable. We evaluated it under real-world settings in terms of the ease-of-use, imposed overhead, and scalability. The results demonstrate that OaaS streamlines cloud programming and offers scalability with a minor overhead to the underlying cloud system.
翻译:作为服务(FAAS)模式的功能正在变得广泛,并被设想为减轻程序员和云溶设计师负担的下一代云计算系统。然而,FAAS并不明确地处理数据,开发者必须干预并承担管理应用数据的负担,通常通过不同的云服务(如AWS RDS)来管理应用数据。我们通过将对象导向程序设计中的对象概念借用到服务器系统,克服了法AS的这一问题。我们提出了在功能抽象上之上的一个新的模式,即“OAAS”,它提供了包装和抽象的好处。OAAS将应用数据纳入目标抽象,使开发者不必为数据管理单独处理云服务。它还为软件可重新使用性、数据位置和缓冲等内部优化功能创造了机会。此外,OAAS使数据流程序程序能够使开发者以透明的方式界定功能的工作流程,而无需参与同步和平行的方面。我们用OAAS模型的原型原型将应用应用到目标抽象的云性、可操作性、我们所评估的低额和低额标准。