Main achievements for this period can be summarized as follows:
• First version of the functional requirements of all Key Results , the overall architecture of the design time and runtime components of PIACERE solutions and the workflow and related sub-workflows described as sequence diagrams, that is, how all PIACERE components work together. These have been also translated into the PIACERE scenarios, describing the workflows from the user perspective.
• First working version of all individual components covering the whole lifecycle of the IaC, from design time to run-time. The DevSecOps modelling language has been designed and specified including the concepts to be supported at different levels of abstraction (. Two versions of DOML have been released with all the needed concepts for the PIACERE tools and the use cases to create their infrastructural descriptions of the applications. The PIACERE IDE (based on Eclipse Desktop) integrates all the design time tools and some of the runtime tools (i.e. Canary Sandbox Environments Provisioner) and serves as the main entry point for the PIACERE tools. The ICG generates Terraform and Ansible code from the DOML specification and the IOP supports the optimization of up to three objectives declared in the DOML specification. The DOML checker(previously Verification Tool) inspects semantics of the DOML and assess the correctness of the DOML instance against DOML v1 and DOML v2. The IaC scanner assess the security vulnerabilities of the Terraform and Ansible files. At run-time the Canary Sandbox environment allows testing of dynamic properties of the generated IaC creating opinionated local environments, such as OpenStack. The IEM executes the generated IaC scripts, and use them to provision, configure, and install the required infrastructure. Currently it supports the creation of OpenStack and Amazon based resources. The run time is handled by the PIACERE runtime tooling, specifically, the PIACERE Runtime Contoller (PRC), based on Camunda which orchestrates the rest of the runtime tooling to achieve coherency in the runtime. The continuous monitoring components (both performance and security) generate the needed Ansible playbooks to deploy agents integrated in the IaC examples provided by the ICG and feed the time series data bases. The information collected is the input for the self-learning component which analyses several metrics (i.e. cpu usage idle, then cpu usage system) and applies algorithmic analysis to predict failures so which are informed to the self-healing component. In the self-healing component four strategies have been defined to address the potential issues in the infrastructure: reboot, redeploy, vertical scalability and horizontal scalability. At M18 And we have focused on the realisation of the redeployment strategy integrated with the PRC.
• First integrated version of the PIACERE DevSecOps framework. This first version includes the IDE and the PRC as the two main components orchestrating all the PIACERE tools. It allows the creation of a PIACERE project in the IDE and is the trigger of the design time tools (DOML, DOML checker, IaC scanner, ICG) as well as the CSE and the catalogue. The PRC incorporates the calls to the CSE and the IEM in the current version. Also, the self-healing component interoperates with the PRC to trigger a new self-healing strategy.
• Definition and implementation of the use cases (v1 and v2) and the validation strategy, accompanied by a set of use cases requirements and KPIs that will serve to measure the benefits provided by the PIACERE KRs.
• Continuous market watch on competitors, value proposition of PAICERE KERs along with the HRB European Commission initiative. This is accompanied by an analysis of the potential exploitation strategy and the individual business models that the piacere partners envision for their offerings. Furthermore, an initial IPR and the accompanying licenses have been defined.