Skip to main content
Log in

Increasing the availability of IoT applications with reactive microservices

  • Original Research Paper
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

Abstract

Developing Internet of Things (IoT) applications and fulfilling their Quality-of-Service (QoS) requirements, such as interoperability, scalability, adaptability and reliability, pose multiple challenges. These challenges are imposed mainly by the ultra-large scale of the IoT, the heterogeneous nature of applications and devices and the highly dynamic execution environment. The adoption of the microservices pattern combined with reactive systems principles may contribute to tackle some of these challenges. Therefore, the goal of this work is to propose an architecture based on reactive microservices for the development of IoT applications. The proposed architecture consists of a set of software components, tailored to meet the requirements of IoT applications. In addition, the proposal includes a software platform that materializes several of the architecture components and helps, at runtime, to meet the availability QoS requirement. We applied our proposal in a real-world scenario in the Smart Agriculture domain. The experimental results have shown that our approach improves availability of the IoT application significantly, in comparison to another study.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. https://www.reactivemanifesto.org/.

  2. https://www.raspberrypi.org/products/raspberry-pi-3-model-b/.

  3. http://odroid.com/dokuwiki/doku.php?id=en:odroid-xu4.

  4. https://vertx.io/.

  5. https://akka.io/.

  6. https://ratpack.io/.

  7. https://www.techempower.com/benchmarks/.

  8. https://moquette-io.github.io/moquette/.

  9. https://infinispan.org/.

  10. https://github.com/WiserUFBA/Service-Oriented-Computing-and-Applications.

  11. https://www.itead.cc/sonoff-sc.html.

References

  1. Allen RG (1998) Crop evapotranspiration-guidelines for computing crop water requirements. FAO Irrig Drain 17:50–53

    Google Scholar 

  2. Alves MP, Delicato FC, Pires PF (2017) IoTA-MD: A model-driven approach for applying QoS attributes in the development of the IoT systems. In: Proceedings of the symposium on applied computing, SAC ’17, Association for Computing Machinery, NY, USA, p 1773–1780

  3. Andrade L, Lira C, de Mello B, Andrade A, Coutinho A, Prazeres C (2020) Fog of things: fog computing in internet of things environments. Springer, Cham, pp 23–50

    Google Scholar 

  4. Aquino G, Queiroz R, Merrett G, Al-Hashimi B (2019) The circuit breaker pattern targeted to future iot applications. In: Yangui S, Bouassida Rodriguez I, Drira K, Tari Z (eds) Service-oriented computing. Springer, Cham, pp 390–396

    Chapter  Google Scholar 

  5. Batista E, Andrade L, Dias R, Andrade A, Figueiredo G, Prazeres C (2018) Characterization and modeling of IoT data traffic in the fog of things paradigm. In: 2018 IEEE 17th international symposium on network computing and applications (NCA), pp 1–8

  6. Bhaddurgatte RC, Kumar V (2015) A review: QoS architecture and implementations in IoT environment. J Eng Technol 6–12

  7. Birolini A (2013) Reliability engineering: theory and practice. Springer, Berlin

    MATH  Google Scholar 

  8. Bonér J (2017) Reactive microsystems the evolution of microservices at scale. O’Reilly Media, Gravenstein Highway North, Sebastopol

    Google Scholar 

  9. Butzin B, Golatowski F, Timmermann D (2016) Microservices approach for the internet of things. In: 2016 IEEE 21st international conference on emerging technologies and factory automation (ETFA), pp 1–6

  10. Celesti A, Carnevale L, Galletta A, Fazio M, Villari M (2017) A watchdog service making container-based micro-services reliable in IoT clouds. In: IEEE 5th international conference on future internet of things and cloud, pp 372–378. https://doi.org/10.1109/FiCloud.2017.57

  11. Costa B, Pires PF, Delicato FC (2016) Modeling IoT applications with sysml4iot. In: 42th Euromicro conference on software engineering and advanced applications, pp 157–164. https://doi.org/10.1109/SEAA.2016.19

  12. de Santana CJL, de Mello Alencar B, Prazeres CVS (2019) Reactive microservices for the internet of things: A case study in fog computing. In: Proceedings of the 34th symposium on applied computing, SAC ’19, ACM, New York, pp 1243–1251

  13. Farooq SU, Quadri S, Ahmad N (2012) Metrics, models and measurements in software reliability. In: 2012 IEEE 10th international symposium on applied machine intelligence and informatics (SAMI), pp 441–449

  14. Fowler M, Lewis J (2018) Microservices guide

  15. Grieco R, Malandrino D, Scarano V (2005) SEcS: Scalable edge-computing services. In: Proceedings of the 2005 ACM symposium on applied computing, Association for Computing Machinery, NY, USA, pp 1709–1713

  16. Halbwachs N (2013) Synchronous programming of reactive systems, vol 215. Springer, Grenoble

    MATH  Google Scholar 

  17. Han D, Lim J (2010) Design and implementation of smart home energy management systems based on zigbee. IEEE Trans Consum Electron 56(3):1417–1425

    Article  Google Scholar 

  18. Heorhiadi V, Rajagopalan S, Jamjoom H, Reiter MK, Sekar V (2016) Gremlin: Systematic resilience testing of microservices. In: IEEE international conference on distributed computing systems (ICDCS), pp 57–66

  19. Hung PCK, Li H, Jeng J-J (2004) WS-negotiation: an overview of research issues. In: Proceedings of the 37th annual Hawaii international conference on system sciences, p 10

  20. Krylovskiy A, Jahn M, Patti E (2015) Designing a smart city internet of things platform with microservice architecture. In: 2015 3rd international conference on future internet of things and cloud, pp 25–30

  21. Lasi H, Fettke P, Kemper HG, Feld T, Hoffmann M (2014) Industry 4.0. Bus Inf Syst Eng 6(4):239–242

    Article  Google Scholar 

  22. Martins LMC, Filho FLDC, Júnior RTDS, Giozza WF, da Costa JAPC (2017) Increasing the dependability of IoT middleware with cloud computing and microservices. In: Companion proceedings of the 10th international conference on utility and cloud computing, UCC ’17 companion, association for computing machinery, New York, pp 203–208

  23. Moghaddam MT, Muccini H (2019) Fault-tolerant IoT. In: Calinescu R, Di Giandomenico F (eds) Software engineering for resilient systems. Springer, Cham, pp 67–84

    Chapter  Google Scholar 

  24. Nagothu D, Xu R, Nikouei SY, Chen Y (2018) A microservice-enabled architecture for smart surveillance using blockchain technology. In: 2018 IEEE international smart cities conference (ISC2), pp 1–4

  25. Newman S (2015) Building microservices: designing fine-grained systems. O’Reilly Media Inc, Gravenstein Highway North, Sebastopol

    Google Scholar 

  26. Parekh S, Dhami N, Patel S, Undavia J (2019) Traffic signal automation through IoT by sensing and detecting traffic intensity through IR sensors. In: Satapathy SC, Joshi A (eds) Information and communication technology for intelligent systems. Springer, Singapore, pp 53–65

    Chapter  Google Scholar 

  27. Power A, Kotonya G (2018) A microservices architecture for reactive and proactive fault tolerance in IoT systems. In: 2018 IEEE 19th international symposium on “A World of Wireless, Mobile and Multimedia Networks” (WoWMoM), pp 588–599

  28. Prazeres C, Serrano, M (2016) Soft-IoT: Self-organizing fog of things. In: 2016 30th International Conference on advanced information networking and applications workshops (WAINA), IEEE, pp 803–808

  29. Salah T, Zemerly MJ, Yeun CY, Al-Qutayri M, Al-Hammadi Y (2018) IoT applications: from mobile agents to microservices architecture. In: International conference on innovations in information technology

  30. Santana C, Alencar B, Prazeres C (2018) Microservices: a mapping study for internet of things solutions. In: 2018 IEEE 17th international symposium on network computing and applications (NCA), pp 1–4

  31. Sommerville I (2010) Software engineering, 9th edn. Addison–Wesley Publishing Company, USA

    MATH  Google Scholar 

  32. for Standardization/International Electrotechnical Commission, I.O., et al (2011) ISO/IEC 25010-systems and software engineering—systems and software quality requirements and evaluation (square)—system and software quality models. Authors, Switzerland

  33. Subramaniyam M, Singh D, Park SJ, Kim SE, Kim DJ, Lee KS, Min SN (2018) Recent developments on driver’s health monitoring and comfort enhancement through IoT. In: IOP conference series: materials science and engineering, vol 402, p 012064

  34. Sun W, Zhai Y, Bao T, Mudassar M, Shen J, Yang K (2019) A microservices oriented edge computing framework for LVC simulation in the IoT Era. In: Proceedings of the 11th international conference on computer modeling and simulation, ICCMS 2019, Association for Computing Machinery, New York, pp 190–195

  35. Taibi D, Lenarduzzi V, Pahl C (2018) Architectural patterns for microservices: a systematic mapping study. In: Proceedings of the 8th international conference on cloud computing and services science, CLOSER, INSTICC, SciTePress, vol 1 pp 221–232

  36. Taneja M, Jalodia N, Byabazaire J, Davy A, Olariu C (2019) Smartherd management: a microservices-based fog computing-assisted IoT platform towards data-driven smart dairy farming. Softw Pract Exp 49(7):1055–1078. https://doi.org/10.1002/spe.2704

    Article  Google Scholar 

  37. Villaça LHN, Azevedo LG, Baião F (2018) Query strategies on polyglot persistence in microservices. In: Proceedings of the 33rd annual ACM symposium on applied computing, ACM, pp 1725–1732

  38. White G, Nallur V, Clarke S (2017) Quality of service approaches in IoT: a systematic mapping. J Syst Softw 132:186–203

    Article  Google Scholar 

  39. Yu W, Liang F, He X, Hatcher WG, Lu C, Lin J, Yang X (2018) A survey on the edge computing for the internet of things. IEEE Access 6:6900–6919

    Article  Google Scholar 

  40. Zanella A, Bui N, Castellani A, Vangelista L, Zorzi M (2014) Internet of things for smart cities. IEEE Internet Things J 1(1):22–32

    Article  Google Scholar 

  41. Zimmermann O (2017) Microservices tenets. Comput Sci Res Dev 32(3):301–310

    Article  Google Scholar 

Download references

Acknowledgements

Authors would like to thank: CAPES, CNPq, and FAPESB organizations for supporting the Graduate Program in Computer Science at the Federal University of Bahia. This work is partially supported by São Paulo Research Foundation - FAPESP, through grant number 2015/24144-7 and by Bahia Research Foundation - FAPESB, through grant number BOL2273/2017.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cleber Santana.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Santana, C., Andrade, L., Delicato, F.C. et al. Increasing the availability of IoT applications with reactive microservices. SOCA 15, 109–126 (2021). https://doi.org/10.1007/s11761-020-00308-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-020-00308-8

Keywords

Navigation