DevOpbase

DevOpbase enables DevOps users to model the resource-related artifacts using TOSCA and generates as a result all DevOps-specific artifacts needed by a given DevOps tool. It consists of a set of Eclipse plugins, concretizing our model-driven approach for cloud resource orchestration. We distinguish three categories of plugins: modeling plugins, generation plugins and orchestration plugins. Modeling plugins provide DevOps users with editor to model their resource-related artifacts using TOSCA. Generation plugins concretize our model-driven translation technique to translate resource-related artifacts designed using TOSCA into DevOps-specific artifacts. Finally, orchestration plugins (i.e., Connecters) take as an input the DevOps-specific artifacts recently generated to ensure end-to-end orchestration operations, including selection, deployment, monitoring and runtime control over these artifacts. Technically, the implementation of our approach relies on EMF and xText QVTo and xTend2 plugins to develop M2M and M2T transformers and on Java to develop the Connectors.

DevOpbase-plugins

Generation Examples

Generated EBNF grammars needed for Compose YAML

QVTo rules for transforming TOSCA typology to Docker Compose Model

Xtend2 transformation algorithm that generates the YAML file for the generated Compose Model

Orchestration Connectors

The code for Connectors is still private but it is available upon request.

Evaluation

We conducted two experiments to evaluate (i) the productivity of our approach compared to the using of Docker and Terraform together and (ii) the transformation performance of the proposed model-driven translation technique.

Expriment 1

We measured the productivity in terms of (i) the time taken to complete the modeling and deployment task and (ii) the total number of lines-of-code (LOC) of the DevOps-specific artifacts generated by our translation technique for three uses cases.

Cloud DevOps Tools

The cloud DevOps solutions that we have used in the comparison are the following:

  1. Docker: https://www.docker.com/
  2. Terraform: https://www.terraform.io/
Evaluation results regarding overall productivity:

Expriment 2

We quantitatively evaluate the transformation performance using 5 use cases. Concretely, we first use our DevOpsBase to construct the corresponding TOSCA topology model for each use case. Afterward, we execute the transformation for each TOSCA topology model to generate the equivalent Compose file and dockerfiles ten times. We ensured the correctness of all generated artifacts by executing their full deployment on AWS using Docker Connector.

Evaluation results regarding transformation performance:

List of use cases:

All the use cases that we used are listed here.

All the resource related artifacts for the use cases, that we designed using TOSCA, are listed here.

All the Docker and Terraform specific artifacts, that we generated using DevOpsBase from resource related artifacts designed using TOSCA, are listed here.

Contributors

  • Hayet Brabra
  • Achraf Mtibaa
  • Walid Gaaloul
  • Boualem Benatallah
  • Faiez Gargouri

Contact

  • Hayet Brabra
    Telecom SudParis
    Computer Science Departement
    9 rue Charles Fourier
    91011 EVRY Cedex, France
    email: hayet.brabra (-at-) telecom-sudparis.eu