Tutorial: Object as a Service (OaaS) Serverless Cloud Computing Paradigm
Pawissanutt Lertpongrujikorn, Mohsen Amini Salehi
TL;DR
This paper introduces Object as a Service (OaaS), a serverless paradigm that unifies application logic, state, and non-functional requirements within an object-centric abstraction to address limitations of Function as a Service (FaaS) in data management, workflows, and QoS control. It presents Oparaca as a provider-agnostic platform implementing OaaS through class-runtime objects, dataflow-driven execution, and requirement-driven optimization, with support for unstructured data and integration with existing FaaS engines like Knative. A hands-on OaaS Tutorial demonstrates class definitions, deployment, and interaction, while an evaluation against Knative highlights higher peak throughput due to in-memory data consolidation, tempered by persistent-storage bottlenecks. The work emphasizes portability, declarative QoS coordination, and deployment-time optimization as key benefits, and points to future work on multi-datacenter deployment and jurisdiction-aware latency controls.
Abstract
While the first generation of cloud computing systems mitigated the job of system administrators, the next generation of cloud computing systems is emerging to mitigate the burden for cloud developers -- facilitating the development of cloud-native applications. This paradigm shift is primarily happening by offering higher-level serverless abstractions, such as Function as a Service (FaaS). Although FaaS has successfully abstracted developers from the cloud resource management details, it falls short in abstracting the management of both data (i.e., state) and the non-functional aspects, such as Quality of Service (QoS) requirements. The lack of such abstractions implies developer intervention and is counterproductive to the objective of mitigating the burden of cloud-native application development. To further streamline cloud-native application development, we present Object-as-a-Service (OaaS) -- a serverless paradigm that borrows the object-oriented programming concepts to encapsulate application logic and data in addition to non-functional requirements into a single deployment package, thereby streamlining provider-agnostic cloud-native application development. We realized the OaaS paradigm through the development of an open-source platform called Oparaca. In this tutorial, we will present the concept and design of the OaaS paradigm and its implementation -- the Oparaca platform. Then, we give a tutorial on developing and deploying the application on the Oparaca platform and discuss its benefits and its optimal configurations to avoid potential overheads.
