An IoT Platform Based on Microservices and Serverless Paradigms for Smart Farming Purposes
<p>IoT data life cycle: <span class="html-italic">Capture</span>, <span class="html-italic">Communicate</span>, <span class="html-italic">Analyse</span> and <span class="html-italic">Act</span>.</p> "> Figure 2
<p>An IoT generic architecture stack.</p> "> Figure 3
<p>An agnostic-technology IoT architecture.</p> "> Figure 4
<p>A general overview of the full system from a technological point of view.</p> "> Figure 5
<p>The wireless communication model used to connect devices to IoT platform.</p> "> Figure 6
<p>A sequence diagram from the IoT node perspective.</p> "> Figure 7
<p>A sequence diagram from the user perspective.</p> "> Figure 8
<p>An example of <span class="html-italic">SEnviro</span> node deployed on a smallholding.</p> "> Figure 9
<p>A screen capture of the <span class="html-italic">SEnviro</span> connect, where it shows all <span class="html-italic">SEnviro</span> nodes deployed.</p> "> Figure 10
<p>A screen capture of the <span class="html-italic">SEnviro</span> connect in a responsive design.</p> "> Figure 11
<p>A screen capture of the <span class="html-italic">SEnviro</span> connect, where it shows the IoT device management view.</p> "> Figure 12
<p>A screen capture of the <span class="html-italic">SEnviro</span> connect, where the wizard to add IoT devices is shown.</p> "> Figure 13
<p>A screen capture of the <span class="html-italic">SEnviro</span> connect, showing the data and alerts for each IoT device.</p> "> Figure 14
<p>Average and standard deviation throughput of the observations injection with rates of 10, 25, 50, 100 and 200 requests per second.</p> "> Figure 15
<p>Average and standard deviation response time of API queries with a rate of 5, 10, 15 and 20 requests per second.</p> "> Figure 16
<p>Average and standard deviation throughput of the API queries with a rate of 5, 10, 15 and 20 requests per second.</p> "> Figure 17
<p>CPU utilisation of the observations injection with a rate of requests 10, 25, 50, 100 and 200 requests per second.</p> "> Figure 18
<p>Memory usage of the observations injection with a rate of requests 10, 25, 50, 100 and 200 requests per second.</p> "> Figure 19
<p>CPU utilisation of the API queries with a rate 5, 10, 15 and 20 requests per second.</p> "> Figure 20
<p>Memory usage of the API queries with a rate of 5, 10, 15 and 20 requests per second.</p> ">
Abstract
:1. Introduction
2. Background
2.1. IoT Lifecycle
- Perception layer: is at the same level than the physical layer, equivalent to its corresponding in the TCP/IP model. Its purpose is to Capture data from each IoT device (state, humidity or temperature, among others).
- Network layer: sends the data from the IoT devices to the upper layer. It can be 2G/3G, Wifi, Zigbee, Bluetooth or Radio Frequency Identification (RFID) technology, among others. It corresponds with the Communication stage.
- IoT platform layer: can store and analyse data coming from a IoT device and sends it to be visualised. the IoT platform layer works at the same level as Analyse in the IoT lifecycle.
- Application and Business layer: is used in a particular IoT application to manage all the processed data coming from the IoT platform layer, and to apply a business model to a smart scenario, such as smart home, smart agriculture, smart mobility or smart health, among others. It can include graphs, reports, flowcharts, etc. Finally, this layer has the ability to Act following the IoT lifecycle.
2.2. Microservices
2.3. Serverless
- BaaS: refers to the incorporation of third-party services and applications to manage the logic and status of an application. They are usually applications that use databases in the cloud or third-party services, such as authentication.
- FaaS: allows for the execution of any custom code without provisioning or handling servers.
3. A Technology-Agnostic IoT Platform
- Ingestion: aims to connect with the Broker to collect data originating from the IoT devices and send this data to the Persistence module (described below).
- Query: offers different operations to retrieve historical data provided by the IoT device.
- Alert: is responsible for collecting alerts and propagates them to the final clients.
- Devices: aims to connect to IoT devices in order to send them Over the Air (OTA) updates and ensure the integrity of the IoT devices network.
- User management: manages the registration, removal, discovery and authentication of system users.
- Device management: manages the registration, removal, discovery and authentication of IoT devices.
4. A Technological IoT Full Stack Proposal: SEnviro Connect
4.1. SEnviro Node
- The use of a new microcontroller board called Electron. Its design is highly-performant and open source. Electron provides 2G/3G connectivity, which improves the possibility of its installation in any area with mobile data coverage.
- It offers the functionality to receive firmware patches by means of OTA updates. This feature provides a significant increase in terms of improving current software and supporting new functionalities or behaviours without the need to move to the location of each SEnviro node.
- It has an improved 3.4 W solar panel with a bigger 2200 mA lithium battery, which, in combination, provides an energy-efficient proposal. To optimise battery life, the SEnviro node include energy usage battery-dependent policies in their firmware by default. These policies use the remaining battery level and adapt the frequency of transmissions depending on the battery level and rate of charging.
- Each SEnviro node is tagged using a Quick Response (QR) code. It can be used by the time a device has to be added, in order to start receiving data from it. the SEnviro node protects all components using a 3D printed case.
4.2. SEnviro Connect
- RabbitMQ. This technology has been selected to conduct the broker component. RabbitMQ [37] is an open source message broker and uses a binary application layer protocol, designed to efficiently support a wide variety of messaging applications and communication patterns. It assists in the development of distributed, fault-tolerant and asynchronous applications. From a security point of view, RabbitMQ uses Simple Authentication and Security Layer (SASL) for authentication and data security in Internet protocols. RabbitMQ MQTT offers a wide range of MQTT clients and adds the possibility to interoperate with AMQP and STOMP clients. RabbitMQ operates on top of two core protocol entities. These two entities are called exchanges and queues. Messages published to MQTT topics use a topic exchange internally. Subscribers consume from RabbitMQ queues bound to the topic exchange. These features allow interoperability with different protocols and make it feasible to use a unique management module to examine queue sizes or message rates, among others.
- Micro Mu. Micro Mu [38] is an open source microservices toolkit. It provides a full-stack to build and manage microservices. It has a set of libraries and tools developed in the Go programming language. Micro Mu supplies a single entry point as an API to query microservices, which should be used as the gateway for external access. All SEnviro Connect microservices are built using Micro Mu, and an API is provided to connect to via a secure connection using Transport Layer Security (TLS).
- Influx framework. Influx [39] is an open source solution, which provides a set of tools to store and analyse time-series. Two components from Influx have been used. the first one is the InfluxDB. It has a high-performance, efficient database store for handling high volumes of time-series data. It offers a scalable solution through server clustering. It is used as the Persistence module to store data provided by SEnviro nodes using the ingestion microservice. the second tool is Kapacitor. It can Extract, Transform and Load (ETL) data in order to track arbitrary changes and detect events. Kapacitor can connect in real-time with InfluxDB to get data. It uses a Domain-Specific Language (DSL) named TICKscript to define tasks, which in turn, defines alerts. Each analysis model is encoded using TICKscript; it encompasses the Analytics module. All detected events are stored in Firebase, through the use of a specialised microservice. Kapacitor also supports TSL encryption to offer a secure connection.
- Firebase. the last technology that has been used [40]. It is a set of different Google Cloud services: instant messaging, user authentication, real-time database, storage and hosting, among others. As noted above, our IoT platform uses serverless services to cover general features with a high level of detail in non-critical capabilities, such as the authentication of the SEnviro nodes and users. the Firebase cloud system also provides TSL encryption data transmission.
5. Validation in a Viticulture Scenario: SEnviro for Agriculture
5.1. Viticulture Escenario
5.2. SEnviro Nodes Deployment
5.3. SEnviro Connect Webapp
- Angular. An open source web application framework: https://angularjs.org(accessed on 20 March 2020). It provides a client-side framework for the Model-View-ViewModel (MVVM) architecture pattern [49]. It is combined with Bootstrap to offer a responsive solution.
- Mapbox. A JavaScript library that uses WebGL to render interactive maps from vector tiles and styles: https://www.mapbox.com/ (accessed on 20 March 2020).
- Chart.js. It is a library for integrating charts into modern web apps: https://www.chartjs.org/ (accessed on 20 March 2020).
6. Performance Analysis: Scalability and Stability
- Scalability. the IoT platform should support managing thousands of IoT devices publishing observations with a minimum delay to help time-critical applications. Throughput and response time metrics are valid indicators about how scalability is maintained. A high throughput rate means excellent performance, and it should scale linearly as several devices increase. Throughput is calculated as the number of messages received and processed by the IoT platform in a second. Low response time means fast response and processing of the platform.
- Stability. the stability of the system measured using several factors such as CPU and active memory usage. CPU usage is indicated by the average OS core utilisation of all CPU physical (and virtual) cores. Active memory displays the number of Megabytes (MB) stored in memory during the experiment by the time of the test.
6.1. Evaluation Approach and Tools
6.2. Experiment Results
6.2.1. Scalability
6.2.2. Stability
7. Related Work
- The authors of [54] present a conceptual and implemented IoT platform for gathering, analysing and sharing of groundwater data for different purposes.
- The authors of [55] propose the design of a smart IoT communication system manager used as a low-cost irrigation controller.
- In [56], the authors propose a platform that implements a microservice IoT-Big Data architecture supporting the distributed publication of multidisciplinary simulation models. the platform manages streams of data coming from the shop-floor in an optimised way for real-digital synchronisation, ensuring security and confidentiality of sensitive data.
- The study presented in [57] proposes an industrial IoT and communications at the edge framework, which has some stand-out features related to the easy integration of devices used in industrial environments with automatic configuration features, as well as the integration of multiple technologies.
- In [58], an IoT platform is proposed, which provides comprehensive support for multi-level provisioning of IoT Cloud systems. It provides and enables application-specific customisation of Edge devices. the IoT platform is evaluated using real-life applications in the domain of building management systems.
- In [59] propose an IoT platform called CHARIOT, which devises a runtime environment integrating heterogeneous resource-constrained IoT devices communicating with various protocols, as well as a scalable and dynamic communication layer that abstracts the connected devices and enables their intercommunication.
- The authors of MANDAVA et al. [60] present a distributed IoT platform infrastructure using machine learning computing technologies for air pollution monitoring in South African cities. the authors collect real-time environmental data, analyse the data collected from specific locations to determine whether the examined area is polluted or not and further compare performance measures of various machine learning algorithms adopted.
- Device Management: indicates if the IoT platform has the capability to manage devices. Scale: Yes/No.
- Interoperability: specifies if the IoT platform supports different technologies and protocols to connect IoT devices. Scale: Yes/No.
- Microservices: indicates if the system uses microservices. Scale: Yes/No.
- Serverless: shows if the system takes advantage of the serverless paradigm. Scale: Yes/No.
- IoT full stack: specifies if the study proposes a solution for all IoT parts. Scale: Yes/No.
- Alerts/Analysis: shows if the system applies some kind of analysis. Scale: Yes/No.
- Reusability: indicates if the system can be reused using container-based technologies [61]. Scale: Yes/No.
- Smart factor: the smart factor covered by each work. Scale: smart farming, smart environment, smart mobility, etc.
8. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Trilles, S.; Calia, A.; Belmonte, Ó.; Torres-Sospedra, J.; Montoliu, R.; Huerta, J. Deployment of an open sensorized platform in a smart city context. Future Gener. Comput. Syst. 2017, 76, 221–233. [Google Scholar] [CrossRef]
- Almeida, A.; Mulero, R.; Patrono, L.; Rametta, P.; Urošević, V.; Andrić, M. A Performance Analysis of an IoT-aware Elderly Monitoring System. In Proceedings of the 2018 3rd International Conference on Smart and Sustainable Technologies (SpliTech), Split, Croatia, 26–29 June 2018; pp. 1–7. [Google Scholar]
- Gubbi, J.; Buyya, R.; Marusic, S.; Palaniswami, M. Internet of Things (IoT): A vision, architectural elements, and future directions. Future Gener. Comput. Syst. 2013, 29, 1645–1660. [Google Scholar] [CrossRef] [Green Version]
- Atzori, L.; Iera, A.; Morabito, G. the Internet of Things: A survey. Comput. Netw. 2010, 54, 2787–2805. [Google Scholar] [CrossRef]
- Manyika, J.; Chui, M.; Bughin, J.; Dobbs, R.; Bisson, P.; Marrs, A. Disruptive Technologies: Advances That Will Transform Life, Business, and the Global Economy; McKinsey Global Institute: San Francisco, CA, USA, 2013; Volume 180. [Google Scholar]
- Hermann, M.; Pentek, T.; Otto, B. Design principles for industrie 4.0 scenarios. In Proceedings of the 2016 49th Hawaii International Conference on System Sciences (HICSS), Koloa, HI, USA, 5–8 January 2016; pp. 3928–3937. [Google Scholar]
- Neto, A.L.M.; Souza, A.L.; Cunha, I.; Nogueira, M.; Nunes, I.O.; Cotta, L.; Gentille, N.; Loureiro, A.A.; Aranha, D.F.; Patil, H.K.; et al. AoT: Authentication and access control for the entire iot device life-cycle. In Proceedings of the 14th ACM Conference on Embedded Network Sensor Systems CD-ROM, Stanford, CA, USA, 14 November 2016; pp. 1–15. [Google Scholar]
- Razzaque, M.A.; Milojevic-Jevric, M.; Palade, A.; Clarke, S. Middleware for Internet of Things: A survey. IEEE Internet Things J. 2016, 3, 70–95. [Google Scholar] [CrossRef] [Green Version]
- De, S.; Barnaghi, P.; Bauer, M.; Meissner, S. Service modelling for the Internet of Things. In Proceedings of the Computer Science and Information Systems (FedCSIS), Szczecin, Poland, 18–21 September 2011; pp. 949–955. [Google Scholar]
- Bandyopadhyay, S.; Sengupta, M.; Maiti, S.; Dutta, S. Role of middleware for internet of things: A study. Int. J. Comput. Sci. Eng. Surv. 2011, 2, 94–105. [Google Scholar] [CrossRef]
- Verdouw, C.; Sundmaeker, H.; Tekinerdogan, B.; Conzon, D.; Montanaro, T. Architecture framework of IoT-based food and farm systems: A multiple case study. Comput. Electron. Agric. 2019, 165, 104939. [Google Scholar] [CrossRef]
- Morais, R.; Silva, N.; Mendes, J.; Adão, T.; Pádua, L.; López-Riquelme, J.; Pavón-Pulido, N.; Sousa, J.J.; Peres, E. MySense: A comprehensive data management environment to improve precision agriculture practices. Comput. Electron. Agric. 2019, 162, 882–894. [Google Scholar] [CrossRef]
- Bellavista, P.; Giannelli, C.; Lanzone, S.; Riberto, G.; Stefanelli, C.; Tortonesi, M. A middleware solution for wireless IoT applications in sparse Smart Cities. Sensors 2017, 17, 2525. [Google Scholar] [CrossRef] [Green Version]
- Eleftherakis, G.; Pappas, D.; Lagkas, T.; Rousis, K.; Paunovski, O. Architecting the IoT paradigm: A middleware for autonomous distributed sensor networks. Int. J. Distrib. Sens. Netw. 2015, 11, 139735. [Google Scholar] [CrossRef] [Green Version]
- Palade, A.; Cabrera, C.; White, G.; Razzaque, M.A.; Clarke, S. Middleware for internet of things: A quantitative evaluation in small scale. In Proceedings of the 2017 IEEE 18th International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM), Macau, China, 12–15 June 2017; pp. 1–6. [Google Scholar]
- Khan, R.; Khan, S.U.; Zaheer, R.; Khan, S. Future internet: The internet of things architecture, possible applications and key challenges. In Proceedings of the 2012 10th International Conference on Frontiers of Information Technology (FIT), Islamabad, Pakistan, 17–19 December 2012; pp. 257–260. [Google Scholar]
- Triantafyllou, A.; Sarigiannidis, P.; Lagkas, T.D. Network protocols, schemes, and mechanisms for internet of things (iot): Features, open challenges, and trends. Wirel. Commun. Mob. Comput. 2018, 2018, 5349894. [Google Scholar] [CrossRef] [Green Version]
- Marz, N.; Warren, J. Big Data: Principles and Best Practices of Scalable Real-Time Data Systems; Manning Publications Co.: New York, NY, USA, 2015. [Google Scholar]
- Trilles, S.; Belmonte, Ò.; Schade, S.; Huerta, J. A domain-independent methodology to analyze IoT data streams in real-time. A proof of concept implementation for anomaly detection from environmental data. Int. J. Digit. Earth 2017, 10, 103–120. [Google Scholar] [CrossRef] [Green Version]
- Abdmeziem, M.R.; Tandjaoui, D.; Romdhani, I. Architecting the internet of things: State of the art. In Robots and Sensor Clouds; Springer: Berlin/Heidelberg, Germany, 2016; pp. 55–75. [Google Scholar]
- Granell, C.; Kamilaris, A.; Kotsev, A.; Ostermann, F.O.; Trilles, S. Internet of Things. In Manual of Digital Earth; Springer: Berlin/Heidelberg, Germany, 2020; pp. 387–423. [Google Scholar]
- Villamizar, M.; Garcés, O.; Castro, H.; Verano, M.; Salamanca, L.; Casallas, R.; Gil, S. Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud. In Proceedings of the 2015 10th Computing Colombian Conference (10CCC), Bogota, Colombia, 21–25 September 2015; pp. 583–590. [Google Scholar]
- Vresk, T.; Čavrak, I. Architecture of an interoperable IoT platform based on microservices. In Proceedings of the 2016 39th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, Croatia, 30 May–3 June 2016; pp. 1196–1201. [Google Scholar]
- Dmitry, N.; Manfred, S.S. On micro-services architecture. Int. J. Open Inf. Technol. 2014, 2, 24–27. [Google Scholar]
- Newman, S. Building Microservices: Designing Fine-Grained Systems; O’Reilly Media, Inc.: Sebastopol, CA, USA, 2015. [Google Scholar]
- Baldini, I.; Castro, P.; Chang, K.; Cheng, P.; Fink, S.; Ishakian, V.; Mitchell, N.; Muthusamy, V.; Rabbah, R.; Slominski, A.; et al. Serverless computing: Current trends and open problems. In Research Advances in Cloud Computing; Springer: Berlin/Heidelberg, Germany, 2017; pp. 1–20. [Google Scholar]
- Lowery, C. Emerging Technology Analysis: Serverless Computing and Function Platform as a Service; Gartner Research: Stamford, CT, USA, 2016. [Google Scholar]
- Bandyopadhyay, S.; Sengupta, M.; Maiti, S.; Dutta, S. A survey of middleware for internet of things. In Recent Trends in Wireless and Mobile Networks; Springer: Berlin/Heidelberg, Germany, 2011; pp. 288–296. [Google Scholar]
- Buschmann, F.; Meunier, R.; Rohnert, H.; Sommerlad, P.; Stal, M. Software Patterns; Wiley: Eaglewood Cliffs, NJ, USA, 1996. [Google Scholar]
- Naik, N. Choice of effective messaging protocols for IoT systems: MQTT, CoAP, AMQP and HTTP. In Proceedings of the 2017 IEEE International Systems Engineering Symposium (ISSE), Vienna, Austria, 11–13 October 2017; pp. 1–7. [Google Scholar]
- Singhal, C.; De, S. Resource Allocation in Next-Generation Broadband Wireless Access Networks; IGI Global: Hershey, PA, USA, 2017. [Google Scholar]
- Trilles, S.; Luján, A.; Belmonte, Ó.; Montoliu, R.; Torres-Sospedra, J.; Huerta, J. SEnviro: A Sensorized Platform Proposal Using Open Hardware and Open Standards. Sensors 2015, 15, 5555–5582. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Trilles, S.; González-Pérez, A.; Huerta, J. A Comprehensive IoT Node Proposal Using Open Hardware. A Smart Farming Use Case to Monitor Vineyards. Electronics 2018, 7, 419. [Google Scholar] [CrossRef] [Green Version]
- Yassein, M.B.; Shatnawi, M.Q. Application layer protocols for the Internet of Things: A survey. In Proceedings of the 2016 International Conference on Engineering & MIS (ICEMIS), Agadir, Morocco, 22–24 September 2016; pp. 1–4. [Google Scholar]
- Da Cruz, M.A.; Rodrigues, J.J.; Paradello, E.S.; Lorenz, P.; Solic, P.; Albuquerque, V.H.C. A Proposal for Bridging the Message Queuing Telemetry Transport Protocol to HTTP on IoT Solutions. In Proceedings of the 2018 3rd International Conference on Smart and Sustainable Technologies (SpliTech), Split, Croatia, 26–29 June 2018; pp. 1–5. [Google Scholar]
- Yokotani, T.; Sasaki, Y. Comparison with HTTP and MQTT on required network resources for IoT. In Proceedings of the 2016 International Conference on Control, Electronics, Renewable Energy and Communications (ICCEREC), Nadi, Fiji, 7–10 December 2016; pp. 1–6. [Google Scholar]
- RabbitMQ. Available online: https://www.rabbitmq.com/ (accessed on 14 April 2020).
- Micro-mu. Available online: https://micro.mu/ (accessed on 14 April 2020).
- InfluxDB. Available online: https://www.influxdata.com/ (accessed on 14 April 2020).
- Firebase. Available online: https://firebase.google.com (accessed on 14 April 2020).
- Consul by HashiCorp. Available online: https://www.consul.io/ (accessed on 14 April 2020).
- Docker. Available online: https://www.docker.com (accessed on 14 April 2020).
- Bramley, R. Precision Viticulture: Managing vineyard variability for improved quality outcomes. In Managing Wine Quality: Viticulture and Wine Quality; Elsevier: Amsterdam, The Netherlands, 2010; pp. 445–480. [Google Scholar]
- Goidànich, G. Manuale di Patologia Vegetale; Edagricole: Bologna, Italy, 1964; Volume 2. [Google Scholar]
- Carroll, J.; Wilcox, W. Effects of humidity on the development of grapevine powdery mildew. Phytopathology 2003, 93, 1137–1144. [Google Scholar] [CrossRef]
- Molitor, D.; Berkelmann-Loehnertz, B. Simulating the susceptibility of clusters to grape black rot infections depending on their phenological development. Crop Prot. 2011, 30, 1649–1654. [Google Scholar] [CrossRef]
- Broome, J.; English, J.; Marois, J.; Latorre, B.; Aviles, J. Development of an infection model for Botrytis bunch rot of grapes based on wetness duration and temperature. Phytopathology 1995, 85, 97–102. [Google Scholar] [CrossRef]
- Trilles Oliver, S.; González-Pérez, A.; Huerta Guijarro, J. Adapting Models to Warn Fungal Diseases in Vineyards Using In-Field Internet of Things (IoT) Nodes. Sustainability 2019, 11, 416. [Google Scholar] [CrossRef] [Green Version]
- Gaudioso, V. Mvvm: Model-view-viewmodel. In Foundation Expression Blend 4 with Silverlight; Springer: Berlin/Heidelberg, Germany, 2010; pp. 341–367. [Google Scholar]
- Vandikas, K.; Tsiatsis, V. Performance evaluation of an IoT platform. In Proceedings of the 2014 Eighth International Conference on Next Generation Mobile Apps, Services and Technologies, Oxford, UK, 10–12 September 2014; pp. 141–146. [Google Scholar]
- Jmeter. Available online: https://jmeter.apache.org/ (accessed on 14 April 2020).
- Bobin, J. Visualizing Your Smart Home Data with the Web of Things. 2018. Available online: https://hacks.mozilla.org/2018/05/visualizing-your-smart-home-data-with-the-web-of-things/ (accessed on 14 April 2020).
- Cadviser. Available online: https://github.com/google/cadvisor (accessed on 14 April 2020).
- Senožetnik, M.; Herga, Z.; Šubic, T.; Bradeško, L.; Kenda, K.; Klemen, K.; Pergar, P.; Mladenić, D. IoT middleware for water management. Multidiscip. Digit. Publ. Inst. Proc. 2018, 2, 696. [Google Scholar] [CrossRef] [Green Version]
- Cambra, C.; Sendra, S.; Lloret, J.; Garcia, L. An IoT service-oriented system for agriculture monitoring. In Proceedings of the 2017 IEEE International Conference on Communications (ICC), Paris, France, 21–25 May 2017; pp. 1–6. [Google Scholar]
- Ciavotta, M.; Alge, M.; Menato, S.; Rovere, D.; Pedrazzoli, P. A microservice-based middleware for the digital factory. Procedia Manuf. 2017, 11, 931–938. [Google Scholar] [CrossRef]
- Gaitan, N.C.; Gaitan, V.G.; Ungurean, I. An IoT Middleware Framework for Industrial Applications. Int. J. Adv. Comput. Sci. Appl. 2016, 7, 31–41. [Google Scholar] [CrossRef] [Green Version]
- Nastic, S.; Truong, H.L.; Dustdar, S. A middleware infrastructure for utility-based provisioning of iot cloud systems. In Proceedings of the 2016 IEEE/ACM Symposium on Edge Computing (SEC), Washington, DC, USA, 27–28 October 2016; pp. 28–40. [Google Scholar]
- Akpolat, C.; Sahinel, D.; Sivrikaya, F.; Lehmann, G.; Albayrak, S. CHARIOT: An IoT Middleware for the Integration of Heterogeneous Entities in a Smart Urban Factory. In Proceedings of the 2017 Conference on Computer Science and Information System, Czech Republic, Prague, 3–6 September 2017; pp. 135–142. [Google Scholar]
- Mandava, T.; Chen, S.; Isafiade, O.; Bagula, A. An IoT Middleware for Air Pollution Monitoring in Smart Cities: A Situation Recognition Model. In Proceedings of the IST Africa 2018 Conference, Gabarone, Botswana, 9–11 May 2018. [Google Scholar]
- Zaragozí, B.M.; Trilles, S.; Navarro-Carrión, J.T. Leveraging Container Technologies in a GIScience Project: A Perspective from Open Reproducible Research. ISPRS Int. J. Geo-Inf. 2020, 9, 138. [Google Scholar] [CrossRef] [Green Version]
- Pramukantoro, E.S.; Yahya, W.; Bakhtiar, F.A. Performance evaluation of IoT middleware for syntactical Interoperability. In Proceedings of the 2017 International Conference on Advanced Computer Science and Information Systems (ICACSIS), Bali, Indonesia, 28–29 October 2017; pp. 29–34. [Google Scholar]
- Trilles, S.; Belmonte, O.; Diaz, L.; Huerta, J. Mobile access to sensor networks by using GIS standards and restful services. IEEE Sens. J. 2014, 14, 4143–4153. [Google Scholar] [CrossRef]
- Liang, S.; Huang, C.; Khalafbeigi, T. OGC® SensorThings API; Open Geospatial Consortium: Wayland, MA, USA, 2016. [Google Scholar]
- Botts, M.; Percivall, G.; Reed, C.; Davidson, J. OGC® sensor web enablement: Overview and high level architecture. In GeoSensor Networks; Springer: Berlin/Heidelberg, Germany, 2008; pp. 175–190. [Google Scholar]
- Tsiropoulou, E.; Koukas, K.; Papavassiliou, S. A socio-physical and mobility-aware coalition formation mechanism in public safety networks. EAI Endorsed Trans. Future Internet 2018, 4, 154176. [Google Scholar] [CrossRef]
SEnviro Number | Location (x, y) |
---|---|
1 | 39.993934, −0.073863 |
2 (Figure 8) | 40.133098, −0.061000 |
3 | 40.206870, 0.015536 |
4 | 40.141384, −0.026397 |
5 | 40.167529, −0.097165 |
Specification | Test Runner | Deployment Server |
---|---|---|
CPU | 8x Intel(R) Core [email protected] GHz | 4x Intel(R) Xeon(R) CPU E5-2690 [email protected] GHz |
Memory | 16,384 MB | 16,384 MB |
OS | Windows 10 | Ubuntu 16.04.4 LTS |
Installed software | JMeter 5.2.1 | PostgreSQL 10.3, Micro services (measurement, ingestion, device), chronograf 1.4.4, Kapacitor 1.4.1, InfluxDB 1.5.1, Consul, RabbitMQ, Prometheus server and cAdvisor |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Trilles, S.; González-Pérez, A.; Huerta, J. An IoT Platform Based on Microservices and Serverless Paradigms for Smart Farming Purposes. Sensors 2020, 20, 2418. https://doi.org/10.3390/s20082418
Trilles S, González-Pérez A, Huerta J. An IoT Platform Based on Microservices and Serverless Paradigms for Smart Farming Purposes. Sensors. 2020; 20(8):2418. https://doi.org/10.3390/s20082418
Chicago/Turabian StyleTrilles, Sergio, Alberto González-Pérez, and Joaquín Huerta. 2020. "An IoT Platform Based on Microservices and Serverless Paradigms for Smart Farming Purposes" Sensors 20, no. 8: 2418. https://doi.org/10.3390/s20082418
APA StyleTrilles, S., González-Pérez, A., & Huerta, J. (2020). An IoT Platform Based on Microservices and Serverless Paradigms for Smart Farming Purposes. Sensors, 20(8), 2418. https://doi.org/10.3390/s20082418