Object as a Service: Simplifying Cloud-Native Development through Serverless Object Abstraction

📅 2024-08-09
🏛️ arXiv.org
📈 Citations: 1
Influential: 0
📄 PDF
🤖 AI Summary
Existing Function-as-a-Service (FaaS) paradigms simplify compute resource management but fail to unify application data management, forcing developers to manually integrate external cloud storage services—increasing development complexity and operational overhead. Method: We propose Object-as-a-Service (OaaS), a novel paradigm that encapsulates functions and data into cloud-native objects endowed with object-oriented semantics—including access control, inheritance, and transparent data navigation, synchronization, and parallelism. Inspired by object-oriented programming (OOP), we design a server-side object abstraction model and implement Oparaca, a platform supporting state abstraction for both structured and unstructured data, with strong consistency and fault tolerance guarantees. Contribution/Results: Experimental evaluation shows OaaS incurs negligible runtime overhead while significantly improving development agility, system scalability, and usability in real-world scenarios—outperforming mainstream serverless platforms.

Technology Category

Application Category

📝 Abstract
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 propose a new paradigm, known as Object as a Service (OaaS) that encapsulates application data and functions into the cloud object abstraction. OaaS relieves developers from resource and data management burden while offering built-in optimization features. Inspired by OOP, OaaS incorporates access modifiers and inheritance into the serverless paradigm that: (a) prevents developers from compromising the system via accidentally accessing underlying data; and (b) enables software reuse in cloud-native application development. Furthermore, OaaS natively supports dataflow semantics. It enables developers to define function workflows while transparently handling data navigation, synchronization, and parallelism issues. To establish the OaaS paradigm, we develop a platform named Oparaca that offers state abstraction for structured and unstructured data with consistency and fault-tolerant guarantees. We evaluated Oparaca under real-world settings against state-of-the-art platforms with respect to the imposed overhead, scalability, and ease of use. The results demonstrate that the object abstraction provided by OaaS can streamline flexible and scalable cloud-native application development with an insignificant overhead on the underlying serverless system.
Problem

Research questions and friction points this paper is trying to address.

Simplifying cloud-native development with serverless object abstraction
Encapsulating application data and functions into cloud objects
Relieving developers from resource and data management burdens
Innovation

Methods, ideas, or system contributions that make the work stand out.

Encapsulates application data and functions into cloud objects
Incorporates access modifiers and inheritance into serverless paradigm
Natively supports dataflow semantics for function workflows
🔎 Similar Papers
No similar papers found.
P
Pawissanutt Lertpongrujikorn
High Performance Cloud Computing (HPCC) Lab, University of North Texas
Mohsen Amini Salehi
Mohsen Amini Salehi
Associate Professor of Computer Science and Engineering, University of North Texas
Cloud and Edge Computing