Released Initial DECIDE ADAPT Architecture for Multi-cloud application deployment

Multi-cloud applications are applications that can dynamically distribute their components over heterogeneous cloud resources. The main objective of DECIDE project is to provide a novel software framework to design, develop, and dynamically deploy multi-cloud applications. In this framework the ADAPT tool aims to allow continuous deployment and dynamical self-adaptation for multi-cloud applications and to support their re-deployment using the best combination of cloud services to satisfy the required Non Functional Properties (NFP) and Service Level Agreement (SLA).

DECIDE Workpackage 4 (Continuous deployment and operation) has just released its first version of the DECIDE ADAPT Architecture in the D4.1 deliverable. This deliverable is the first result of DECIDE WP4 and reports the initial ADAPT architecture and design.

The released document starts with a detailed listing of requirements collaboratively collected from DECIDE Partners at the beginning of the project. The requirements are then analyzed and categorized to focus on the requirements explicitely referring to specific functionalities.

ADAPT targets native cloud applications possibly developed according to the micro-services architecture and deployed on multiple clouds using containers technology.

Starting from the requirements, and in the context of the overall DECIDE workflow developed in Work Package 2, WP4 Partners identified and detailed the main functionalities of the ADAPT tool. To represent those functionalities and their relationships we used the UML use case graphical syntax, followed by a textual description for each identified use case. For better traceability, each use case has a unique identifier and is mapped to its related requirements. The main functionalities of ADAPT are: deploying the application, monitoring it and adapting this application to any external or internal variability, typically by redeploying it.

Redeploying an application involves stopping and undeploying the current configuration and deploying the new one. Adapting an application by redeploying it on every SLA violation may impact business continuity. Techniques to avoid such an impact have been studied and are reported in the deliverable. Some of the reported techniques apply to the application or to the way developers create it (e.g. use a microservices architecture possibly composed of stateless services), and have been therefore proposed as fundamental techniques for the whole DECIDE framework.

The three main functionalities of ADAPT, deployment, monitoring and adaptation, are reflected in the three main components of its architecture: Deployment Orchestrator, Monitoring Manager, and Violations Handler. This document reports the high level ADAPT architecture and details the components and subcomponents that are planned to be developed in the whole project lifecycle, along with their respective interfaces.

Most of the information needed to perform the ADAPT functionalities are provided by an object which is also central to the whole DECIDE workflow: the Application Description. Its definition has evolved since the first data model shown in the DECIDE deliverable D2.1, and it is still evolving in parallel with the design and implementation iterations. This deliverable reports the current definition of all Application Description’s fields and their types.

The implementation of the ADAPT components is not starting from scratch. In parallel with the collection of requirements and the definition of the architecture, DECIDE Partners evaluated some new open source technologies for deployment and monitoring, aiming at reusing them for a faster and less effort-intensive development of the ADAPT tool. Some of the evaluated technologies, such as Terraform, Influx DB, Grafana and others, which can be considered good candidates as starting points for the implementation, have been briefly described in this deliverable.

Another major topic to be analyzed beyond implementation is how to deploy the ADAPT tool. The deployment decision results from both technical and business considerations: we will have to analyze technical aspects to understand what is feasible and then weight the possible solutions from a business standpoint. This analysis work is just started and will progress in the next year, in collaboration with WP7 for business analysis. This deliverable reports the basic idea, which project Partners currently agree on: implementing ADAPT as a containerized microservices application, and deploying it either with one instance per application, or as a service. The deployment alternatives have not been analyzed yet: this will be one of the major topics for next year’s work.

The D4.1 deliverable will soon be available online from the DECIDE website.

This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 731533