DEPIC

A Framework for Developing Elastic Data-as-a-Service

View the Project on GitHub tuwiendsg/EPICS

Overview

Data-as-a-Service (DaaS) models enable the DaaS providers to provision and offer data to their consumers under elasticity principles by trading off different quality and cost models with data resource quantity. However, most of current work on DaaS is focused on the elasticity at the infrastructure for DaaS, such as scaling in/out data nodes and virtual machines based on consumer workloads. In this paper, we present DEPIC – a novel framework for supporting the development and operation of elastic DaaS. We introduce an elastic data asset model for provisioning data assets with quality of results. Based on that, we develop techniques to generate elasticity processes used to monitor, evaluate and enforce expected quality of results. We develop a runtime system to guarantee the quality of results for data assets provisioned on-demand. We present several experiments to demonstrate the ability of DEPIC to support the provider to develop and operate elastic DaaS effectively.

What is Depic?

Depic is a tool to support the development of elastic Data-as-a-Service. Depic can automatically generate source code of elastic DaaS project and elasticity processes (i.e., processes to monitor and control the elasticity of data asset). In addition, Depic utilizes Salsa service to deploy source code of elastic DaaS and external services for monitoring and controlling elasticity on the cloud.

Architecture

To support the development of eDaaS based on the concepts described in previous sections, we have implemented the DEPIC framework which consists of three main building blocks – DEPIC Tooling,DEPIC Orchestrator and DEPIC Runtime.

DEPIC Tooling: allows the DaaS provider to define the data asset functions and QoR model, tune parameters’ values of monitoring and control actions in the elasticity processes. Based on that, the Elasticity Processes and eDaaS Generator generates elasticity processes, the eDaaS, a control specification for SYBL, composition rules for MELA and a deployment description for SALSA. These specifications are stored into Elasticity Processes Repository

DEPIC Orchestrator: controls data elasticity of EDA. This component has a database of elasticity processes, which stores the specifications generated by the DEPIC Tooling component, as well as metadata of primitive actions and action dependency. The service Data Elasticity Monitor executes monitoring processes and handle eState validation. The service Data Elasticity Controller determines the appropriate control process and execute the control process.

DEPIC Runtime: the service Data Asset Loader is responsible for getting data from the data source and storing data asset in the EDA repository temporarily. The services eDaaS, Monitoring Services and Control Services are deployed by SALSA from the deployment description.

User Guide

Please read user guide to set up and get started with Depic.

Contact

https://github.com/tuwiendsg/EPICS/blob/master/DEPIC/Docs/user%20guide.txt

For further information, please contact Tien-Dung Nguyen by e-mail d.nguyen@infosys.tuwien.ac.at