Continous Delivery toolkit
ENACT will deliver two enablers that aim at improving the continuous delivery of smart IoT systems, with a specific focus on (i) agile and continuous evolution and (ii) ensuring the proper design of the system before delivery. A particular attention will be given to support the testing of smart IoT systems and the gradual migration from the test to the operation environment.
Agile Operation Toolkit
ENACT will deliver three innovative enablers to significantly reduce the burden of managing and maintaining smart IoT systems. A specific attention will be given (i) to ensure the trustworthiness of such systems and (ii) to automate operation activities as much as possible.
ENACT will deliver a set of enablers addressing specific crosscutting trustworthiness concerns such as ensuring proper robustness, security and privacy of smart IoT systems.
Initial ENACT architecture
ENACT will provide an integrated DevOps Framework composed of a set of loosely coupled tools. Still, these tools can be seamlessly combined, and they can easily integrate with existing IoT platform services and enablers. The Figure below shows the set of tools that forms the ENACT DevOps Framework as well as the relationships between these tools. This conceptual architecture consists of five layers, where each layer denotes a particular level of abstraction, complexity and dynamic. Note that these layers retain a certain degree of independence so that (i) the implementation of one layer can be easily substituted by another with minimal impact on the other layers, and (ii) each of them can pursue its own dynamic.
From the most abstract to the most concrete (i.e., from the farthest to the closest to the running system), the layers are described as follows:
- Improvement Layer: This layer provides the mechanisms to continuously improve and manage the development and operation processes of trustworthy SIS. On the one side, the Risk Management tool will help organizations analysing the architecture of their Smart IoT Systems and detecting potential vulnerabilities (in particular related to security and privacy aspects). In addition, it will be able to understand how vulnerabilities and potential associated risks may impact the software development process. On the other hand, the online learning tool will focus on improving the behaviour of the adaptation engine that will support the operation of trustworthy SIS. In general, the improvement layer provides feedback and knowledge to the adaptation layer with the aim to improve it.
- Adaptation Layer: This layer first embeds a set of editors to specify the behaviour as well as the orchestration and deployment of SIS across IoT, Edge and Cloud infrastructure. These editors all integrate with mechanisms to maximize and control the trustworthiness of the system. The activities performed at this layer are strongly affected by the inputs from the improvement layer.
- Enactment Layer: The aim of this layer is to actually enact the deployment and adaptation actions decided at the Adaptation Layer. The mechanisms of this layer monitor and manage the deployment of the running system.
- System Layer: This layer consists of the running system together with the environment and infrastructure in which it executes. This includes both production and testing environments.
- Monitoring and analytics Layer: This layer is orthogonal and feed the other fours. It provides mechanisms to monitor the status of the system and of its environment. This includes mechanisms to monitor the security, privacy of a smart IoT system. In addition, it performs analytics tasks providing: (i) high level notifications with insights on ongoing security issue, (ii) diagnostics and recommendations on system’s failures, and (iii) feedback on the behavioural drift of smart IoT systems (i.e., system is functioning but not delivering the expected behaviour).
More details about the initial ENACT architecture can be found in deliverable D5.1.