DECIDE expects to achieve the following Key Results (KR):

KR1: DECIDE DevOps Framework: Provide the adequate environment for multi-cloud native application developers and operators to design, develop, deploy and operate multi-cloud applications following the DevOps philosophy on continuous integration, continuous quality and continuous delivery. The DevOps framework will be composed of several additional modules to the ones already offered in the market for CI, CQ and CD which will allow:

  1. the application of architectural patterns and modelling practices for multi-cloud native applications,
  2. to simulate and select the best topology for a multi-cloud application to be deployed on multiple clouds using cloud services offerings directly from CSPs or from the ACSmI, taking into consideration a set of user driven NFR;
  3. to define a multi-cloud SLA (MCSLA) based on the selected CSPs where the application will be deployed;
  4. creation of the deployment scripts by making use of the architectural patterns for deployment and / or following an application containerization approach;
  5. to monitor the behavior of the application with respect to its own MCSLA and the established NFP for the cloud resources where the application is deployed in order to
  6. (semi-)automatically re-adapt and redeploy the application to the new configuration suggested by the simulation tool.

KR2: DECIDE ARCHITECT: Provide a set of recommended architectural patterns to be applied in order to facilitate the design, development, optimization and deployment of a multi-cloud native application. Special emphasis in non-functional aspects will be made, such as performance, elasticity or scalability. This set of architectural patterns will be accompanied by a tool that will provide suggestions on which pattern is to be applied and in which order based on the NFR entered by the architect. Several types of architectural patterns will be delivered: architectural patterns for implementation, architectural patterns for optimization and architectural patterns for deployment.

KR3: DECIDE OPTIMUS (Simulation tool). Provide means to simulate the most adequate application topology based on a set of user driven NFR and provide recommendations on the best options for the application deployment. Both the application and the cloud services will be classified and profiled before the simulation starts to take place. Once the simulation has occurred, through big data algorithms (e.g. combinatory optimization, harmony search, multi-objectives evolutionary algorithm, Dandelion codes, and so on), the different deployment options will be suggested to the user taking into consideration the prioritized user’s preferred NFR. Furthermore, the tool will also provide recommendations of which components’ source code or configuration file need to be modified or which optimization pattern should be applied so as to be able to deploy following that configuration.

KR4: ACSmI (Advanced Cloud Service meta-Intermediator) Provide an Advanced Cloud Service meta-Intermediator (ACSmI) which will offer, create, consume and assess trusted, interoperable, and standard multi-cloud services where to deploy the multi-cloud applications. The ACSmI will also provide mechanisms to support the dynamic reconfiguration of cloud services based on changing conditions (SLA violations, security constraints, network outages) using SDN techniques. The ACSmI is an intermediate layer that will ease the discovery and adoption of cloud services in which to deploy the multi-cloud applications and the creation of a sustainable ecosystem of legislation compliant, accredited and trustworthy applications. Some modules or functionalities that will include the ACSmI are: service discovery, service composition, legislation assessment, interoperability, identity propagation, monitoring, billing, SLA assessment, service registry, gateway and legislation databases.

KR5: DECIDE ADAPT, provide a tool that allows the (semi-)automatic adaptation of the application and redeployment in another multi-cloud configuration when certain conditions are not met. These conditions are on one hand the violations of the application’s own multicloud SLA (MCSLA) and on the other hand, the non-fulfilment of the NFP of the CSPs where the application is deployed as well as the non-fulfilment of the NFP of the services provided by the ACSmI that the application is using. These conditions will trigger an alert and will cause the OPTIMUS tool to be launched again in order to search for another deployment configuration. Depending on the technological complexity requirement, and the initially prioritized requirements by the user, the application will be readapted automatically or an alert to the operator will be launched along with a diagnosis of what malfunctioned so that a new optimal configuration can be found.