Next Article in Journal
Strategy for the Appropriation of a DSS in Small Bovine Producers Using Simulation and a Serious Video Game
Next Article in Special Issue
Research and Implementation of Scheduling Strategy in Kubernetes for Computer Science Laboratory in Universities
Previous Article in Journal
Openness and Security Thinking Characteristics for IoT Ecosystems
Open AccessArticle

A Flexible IoT Stream Processing Architecture Based on Microservices

1
FlairBit S.r.l., 16121 Genova GE, Italy
2
Department of Computer Science, Bioengineering, Robotics and Systems Engineering, University of Genova, 16126 Genova GE, Italy
*
Author to whom correspondence should be addressed.
Information 2020, 11(12), 565; https://doi.org/10.3390/info11120565
Received: 20 October 2020 / Revised: 24 November 2020 / Accepted: 26 November 2020 / Published: 2 December 2020
(This article belongs to the Special Issue Microservices and Cloud-Native Solutions: From Design to Operation)
The Internet of Things (IoT) has created new and challenging opportunities for data analytics. The IoT represents an infinitive source of massive and heterogeneous data, whose real-time processing is an increasingly important issue. IoT applications usually consist of multiple technological layers connecting ‘things’ to a remote cloud core. These layers are generally grouped into two macro levels: the edge level (consisting of the devices at the boundary of the network near the devices that produce the data) and the core level (consisting of the remote cloud components of the application). The aim of this work is to propose an adaptive microservices architecture for IoT platforms which provides real-time stream processing functionalities that can seamlessly both at the edge-level and cloud-level. More in detail, we introduce the notion of μ-service, a stream processing unit that can be indifferently allocated on the edge and core level, and a Reference Architecture that provides all necessary services (namely Proxy, Adapter and Data Processing μ-services) for dealing with real-time stream processing in a very flexible way. Furthermore, in order to abstract away from the underlying stream processing engine and IoT layers (edge/cloud), we propose: (1) a service definition language consisting of a configuration language based on JSON objects (interoperability), (2) a rule-based query language with basic filter operations that can be compiled to most of the existing stream processing engines (portability), and (3) a combinator language to build pipelines of filter definitions (compositionality). Although our proposal has been designed to extend the Senseioty platform, a proprietary IoT platform developed by FlairBit, it could be adapted to every platform based on similar technologies. As a proof of concept, we provide details of a preliminary prototype based on the Java OSGi framework. View Full-Text
Keywords: cloud computing; microservices architectures; Internet of Things; real-time stream processing; query languages cloud computing; microservices architectures; Internet of Things; real-time stream processing; query languages
Show Figures

Figure 1

MDPI and ACS Style

Bixio, L.; Delzanno, G.; Rebora, S.; Rulli, M. A Flexible IoT Stream Processing Architecture Based on Microservices. Information 2020, 11, 565. https://doi.org/10.3390/info11120565

AMA Style

Bixio L, Delzanno G, Rebora S, Rulli M. A Flexible IoT Stream Processing Architecture Based on Microservices. Information. 2020; 11(12):565. https://doi.org/10.3390/info11120565

Chicago/Turabian Style

Bixio, Luca; Delzanno, Giorgio; Rebora, Stefano; Rulli, Matteo. 2020. "A Flexible IoT Stream Processing Architecture Based on Microservices" Information 11, no. 12: 565. https://doi.org/10.3390/info11120565

Find Other Styles
Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.

Article Access Map by Country/Region

1
Search more from Scilit
 
Search
Back to TopTop