本文提出Object as a Service(OaaS)范式及Oparaca平台,以云对象统一封装数据与函数,支持访问控制、继承和数据流语义,实验表明其开销微小且提升可扩展性与易用性。
摘要:
函数即服务(FaaS)范式被设想为下一代云计算系统,它通过使云原生应用开发者摆脱云资源管理,从而减轻其负担。然而,FaaS并不处理应用数据方面的问题。因此,开发者不得不介入并承担管理应用数据的负担,通常需要通过独立的云存储服务来完成。为进一步简化云原生应用开发,本文提出一种称为Object as a Service(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 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.
Following the Data, Not the Function: Rethinking Function Orchestration in Serverless Computing
Serverless applications are typically composed of function workflows in which multiple short-lived functions are triggered to exchange data in response to events or state changes. Current serverless platforms coordinate and trigger functions by following high-level invocation dependencies but are oblivious to the underlying data exchanges between functions. This design is neither efficient nor easy to use in orchestrating complex workflows -- developers often have to manage complex function interactions by themselves, with customized implementation and unsatisfactory performance. In this paper…
Plug and Play Bench: Simplifying Big Data Benchmarking Using Containers
最近大数据的蓬勃发展,加上其处理和存储的挑战,引发了分布式数据处理和存储范式的发展,如MapReduce,Spark和NoSQL数据库。随着云计算的出现,在机器集群上处理和存储如此庞大的数据集现在是容易可行的。但是,用户可以依靠有限的工具和方法来衡量和理解本地部署在集群或云中的大数据应用程序的性能。研究人员已经开始通过提供适合大数据应用程序的基准测试套件来探索这一领域。然而,这些工具中的许多是分散的,部署和管理复杂的,并且不提供关于对应用程序进行基准测试的货币成本的透明度。在本文中,我们提出了Plug And Play Bench,这是一种基础设施感知抽象,旨在集成和简化机器集群上大数据基准测试工具的部署。PAPB通过基于底层集群部署框架将工具和设置容器化,自动化安装、配置和执行常见大数据基准工作负载的繁琐过程。我们的概念验证实施利用HiBench作为基准套件,HDP作为集群部署框架,Azure作为云平台。本文进一步说明了基于底层Microsoft Azure云平台的成本指标。