The overall research question behind the ENACT project is how to develop and operate software for the next generation IoT systems, which realize distributed and coordinated intelligence among large scale resources with closed-loop from sensing to actuation. The functioning and correctness of such systems is critical, and aspects related to trustworthiness are of paramount importance. The vision of such trustworthy smart IoT systems (SIS) relies on advanced software services running across the IoT, Edge, and Cloud continuum, bringing the required intelligence to the devices and assuring the trustworthiness of the whole system. To enable the agile and continuous delivery of SIS is the key factor for the success of SIS application providers in order to keep competitive in the rapidly changing market. It is also fundamental to ensure the trustworthiness of SIS: In the world of IoT, new vulnerabilities keep emerging, and fast and continuous patching is a key approach to reducing the time that SIS are exposed to the risk of such vulnerabilities being exploited. Achieving trustworthy SIS is important not only to the IoT industry but also to society in general. By 2020, Gartner envisions that 21 billion IoT endpoints will be in use, representing great business opportunities for the entire ecosystem. In the meantime, IoT has infiltrated almost every aspect of modern living, significantly increasing the quality of our everyday lives, and any risk of trustworthiness in IoT systems may have a huge societal impact.
The overall goal of the ENACT project is to provide a novel way of developing and operating software for IoT, by enabling DevOps in the realm of trustworthy smart IoT systems. DevOps is a recent software development practice that encourages developers to frequently commit changes, and continuously place them in production. Despite its wide adoption in cloud computing, DevOps for IoT is still in its infancy. The state of the art on DevOps methods and tools relies heavily on the centralized, predictable and homogeneous resources to achieve fully automated deployment and operation, however, IoT breaks these assumptions.
ENACT investigated and experimented: (i) New practices: Three IoT solution providers transformed their daily development practice gradually into DevOps. In particular, the DevOps practice has supported the significant growth of one of the three use case providers, Tellu, in the eHealth domain. (ii) New techniques and tools: Researchers collaborated to attack the key challenges that hinder the implementation of this practice. This resulted in 10 software tools, the ENACT enablers, as the main exploitable outcome of the project. (iii) New usages: All partners together promote the acceptance of the new concept in the industry, and facilitate the adoption of the practices and tools by external IoT solution providers. Three companies from the project will provide commercial solutions based on the enablers, including a start-up company established during the ENACT period.
The results of the project demonstrate the feasibility and benefit of adopting the new DevOps practice in the domain of trustworthy smart IoT systems. It also demonstrates the importance of supporting such software engineering research in the domains that are traditionally considered as hardware-driven, such as IoT.