A Reconfigurable Microservice-Based Migration Technique for IoT Systems

An Internet of Things (IoT) system is often an integration of a large number of hardware and software modules, which are expected to be easily replaced or reconfigured in order to cater for quickly-changing environments and requirements. With the popularity of microservices, people have attempted to introduce the microservice architecture to IoT systems, while paid little attention to the connectivity between the decomposed microservices, resulting in poor reconfigurability of the resulting system. In this paper, we propose a reconfigurable microservice-based migration technique for IoT systems, which first decomposes an IoT system as a set of microservices and then introduces variation contexts to make the decomposed microservices reconfigurable. We have conducted a case study on an open-source real-life unmanned aerial vehicle (UAV) system. The results demonstrate that the migrated UAV system can be dynamically reconfigured to handle various run-time changes.

[1]  Igor Cavrak,et al.  Architecture of an interoperable IoT platform based on microservices , 2016, 2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO).

[2]  Avinash Keskar,et al.  A Reconfigurable IoT Architecture with Energy Efficient Event-Based Data Traffic Reduction Scheme , 2017, Int. J. Online Eng..

[3]  Rami Bahsoon,et al.  Microservices and Their Design Trade-Offs: A Self-Adaptive Roadmap , 2016, 2016 IEEE International Conference on Services Computing (SCC).

[4]  Ricardo Terra,et al.  Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems , 2016, ArXiv.

[5]  Serge Demeyer,et al.  Migrating towards microservices: migration and architecture smells , 2018, IWoR@ASE.

[6]  Mario Kusek,et al.  Microservices as Agents in IoT Systems , 2017, KES-AMSTA.

[7]  Mazin Yousif Manufacturing and the Cloud , 2016, IEEE Cloud Comput..

[8]  Stefan Wagner,et al.  From Monolith to Microservices: A Classification of Refactoring Approaches , 2018, DEVOPS.

[9]  Pooyan Jamshidi,et al.  Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture , 2016, IEEE Software.

[10]  Luciano Baresi,et al.  Microservices Identification Through Interface Analysis , 2017, ESOCC.

[11]  Rubby Casallas,et al.  Cost comparison of running web applications in the cloud using monolithic, microservice, and AWS Lambda architectures , 2017, Service Oriented Computing and Applications.

[12]  Long Sun,et al.  An open IoT framework based on microservices architecture , 2017, China Communications.

[13]  Valérie Issarny,et al.  Revisiting Service-Oriented Architecture for the IoT: A Middleware Perspective , 2016, ICSOC.

[14]  Theo Lynn,et al.  Microservices migration patterns , 2018, Softw. Pract. Exp..

[15]  Antonio Bucchiarone,et al.  From Monolithic to Microservices: An Experience Report from the Banking Domain , 2018, IEEE Software.

[16]  Olaf Zimmermann,et al.  Service Cutter: A Systematic Approach to Service Decomposition , 2016, ESOCC.

[17]  Frank Eliassen,et al.  Adaptable service composition for very-large-scale Internet of Things systems , 2011 .