Abstract
New Age applications that stem from IoT, 5G systems, stream analytics, real time analytics, Industry4.0 have changed the way software are designed, developed, tested and maintained. These modern applications are highly scalable, highly dynamic, involve mobility and require frequent upgrades. Traditional computing paradigms and monolithic application architecture has become inefficient for engineering these applications which demand reusability, scalability and flexibility to implement upgrades. As a result, both computing paradigms and software engineering approaches have undergone major transition to suit the dynamic requirements of these applications. These applications may be engineered as highly cohesive, loosely coupled microservices that are easy to deploy and maintain. These microservices may also be deployed in such a way that processing happens in a distributed and independent manner. Concepts such as Fog computing and edge computing together with virtualization and Containerization provide support for this distributed processing architecture. This chapter aims to survey the existing contributions that have leveraged distributed computing paradigms and microservices architecture for the development of Full stack IoT applications. This chapter presents various challenges in developing IoT applications using microservices architecture and deploying them in a distributed processing environment such as Fog. This chapter intends to highlight various architectural patterns available for engineering microservices, challenges that are encountered while engineering large scale applications as microservices and number of tools and technologies that can be leveraged for the same.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Sethi, P., Sarangi, S.R.: Internet of things: architectures, protocols, and applications. J. Electr. Comput. Eng. (2017)
Chiang, M., Zhang, T.: Fog and IoT: an overview of research opportunities. IEEE Internet Things J. 3(6), 854–864 (2016)
Satyanarayanan, M., Bahl, V., Caceres, R., Davies, N.: The case for vm-based cloudlets in mobile computing. IEEE Pervasive Comput. (2009)
Van Eyk, E., Toader, L., Talluri, S., Versluis, L., Utǎ, A., Iosup, A.: Serverless is more: from paas to present cloud computing. IEEE Internet Comput. 22(5), 8–17 (2018)
Nastic, S., Rausch, T., Scekic, O., Dustdar, S., Gusev, M., Koteska, B., Prodan, R.: A serverless real-time data analytics platform for edge computing. IEEE Internet Comput. 21(4), 64–71 (2018)
Donassolo, B., Fajjari, I., Legrand, A., Mertikopoulos, P.: Fog based framework for IoT service provisioning. In: IEEE consumer communications and networking conference (2018)
Mehdipour, F., Javadi, B., Mahanti, A., Ramirez-Prado, G.: Fog computing realization for big data analytics. In: Fog and Edge Computing: Principles and Paradigms, pp. 259–290 (2019)
Pandeeswari, S.T., Padmavathi, S.: Fog based architectures for IoT: survey on motivations, challenges and solution perspectives. In: Auer, M., Ram, B.K. (eds.) Cyber-Physical Systems and Digital Twins. REV2019 2019. Lecture Notes in Networks and Systems, vol. 80. Springer, Cham (2020)
Williams, A., et al.: Applications and Microservices with Dockers and Containers, vol. 2. The New Stack
Abbott, M.L., Fisher, M.T.: The art of scalability: scalable web architecture, processes, and organizations for the modern enterprise. Pearson Education, London (2009)
Michelson, B.M.: Event-driven architecture overview. Patricia Seybold Group 2(12) (2006)
Cockburn, A.: Hexagonal Architecture: Ports and Adapters (“Object Structural”) (2008)
Haloi, S.: Apache Zookeeper Essentials. Packt Publishing Ltd, Birmingham (2015)
Consul architecture, https://www.consul.io/docs/internals/architecture.html
Webb, P., Syer, D., Long, J., Nicoll, S., Winch, R., Wilkinson, A.: Spring boot reference guide, p. 24. Part IV, Spring Boot features (2013)
Etcd github repository, https://github.com/etcd-io/etcd
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Thiruchadai Pandeeswari, S., Padmavathi, S., Hemamalini, N. (2020). Engineering Full Stack IoT Systems with Distributed Processing Architecture—Software Engineering Challenges, Architectures and Tools. In: Singh, J., Bilgaiyan, S., Mishra, B., Dehuri, S. (eds) A Journey Towards Bio-inspired Techniques in Software Engineering. Intelligent Systems Reference Library, vol 185. Springer, Cham. https://doi.org/10.1007/978-3-030-40928-9_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-40928-9_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-40927-2
Online ISBN: 978-3-030-40928-9
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)