Abstract
The recent evolutionary trend of modern applications is towards a development paradigm that involves the composition of multiple interconnected micro-services devoted to perform specific functions. Such applications usually rely on data collected by geographically distributed sensors or by mobile users and are often characterized by strict requirements in terms of latency and response time. These requirements may be not compatible with the traditional cloud computing approach, where the computation occurring on far-away data centers cannot always guarantee the satisfaction of latency constraints. The fog computing approach has recently received a lot of attention as a promising solution in supporting time-critical applications. Due to an intermediate layer of fog nodes located close to sensors or final users and able to process the application data, indeed, the fog systems may significantly reduce the experienced response time. In a scenario where applications are composed by a chain of multiple micro-services, however, the service placement over the nodes of the fog infrastructure represents a nontrivial issue with respect to the cloud computing context. The highly distributed and heterogeneous nature of the fog nodes requires novel solutions taking into account the different performance of the fog nodes and the network delays caused by inter-nodes connectivity. This paper proposes a performance model for the placement of application micro-services over the fog infrastructure. To face the computational complexity of the optimization model, an heuristic based on a genetic algorithm is proposed. Furthermore, the analytical model is validated by means of simulation. The performance of the proposed solution is evaluated under a wide set of scenario and parameters ranges, including a case study based on realistic micro-services characterized through a prototype implementation.
Similar content being viewed by others
Data availability
All data in the paper (including both numerical results and code) in this paper can be requested to the authors.
Notes
DEAP: Distributed Evolutionary Algorithms in Python— https://deap.readthedocs.io/en/master/.
References
Byers C, Swanson R. Openfog consortium openfog reference architecture for fog computing. OpenFog Consortium Archit. Working Group, Fremont, CA, USA, Tech. Rep. OPFRA001 20817, 2017.
Hao Z, Novak E, Yi S, Li Q. Challenges and software architecture for fog computing. IEEE Internet Comput. 2017;21(2):44–53. https://doi.org/10.1109/MIC.2017.26.
Hu P, Dhelim S, Ning H, Qiu T. Survey on fog computing: architecture, key technologies, applications and open issues. J Netw Comput Appl. 2017;98:27–42. https://doi.org/10.1016/j.jnca.2017.09.002.
O’reilly. Microservices adoption in 2020. 2020. https://www.oreilly.com/radar/microservices-adoption-in-2020/. Accessed 12 May 2023.
Statista. Microservices adoption level in organizations worldwide 2021. 2021. https://www.statista.com/statistics/1233937/microservices-adoption-level-organization/. Accessed 12 May 2023.
Jafarnejad Ghomi E, Masoud Rahmani A, Nasih Qader N. Load-balancing algorithms in cloud computing: a survey. J Netw Comput Appl. 2017;88:50–71. https://doi.org/10.1016/j.jnca.2017.04.007.
Kumar P, Kumar R. Issues and challenges of load balancing techniques in cloud computing: a survey. ACM Comput Surv. 2019. https://doi.org/10.1145/3281010.
Kumar M, Sharma SC, Goel A, Singh SP. A comprehensive survey for scheduling techniques in cloud computing. J Netw Comput Appl. 2019;143:1–33. https://doi.org/10.1016/j.jnca.2019.06.006.
Singh S, Chana I. A survey on resource scheduling in cloud computing: Issues and challenges. J Grid Comput. 2016;14(2):217–64. https://doi.org/10.1007/s10723-015-9359-2.
Mann ZA. Allocation of virtual machines in cloud data centers-a survey of problem models and optimization algorithms. ACM Computing Surveys 2015;48(1). https://doi.org/10.1145/2797211
Canali C, Lancellotti R. Scalable and automatic virtual machines placement based on behavioral similarities. Computing. 2017;99(6):575–95. https://doi.org/10.1007/s00607-016-0498-5.
Canali C, Lancellotti R. Exploiting ensemble techniques for automatic virtual machine clustering in cloud systems. Automated Software Engineering, 2014;1–26. https://doi.org/10.1007/s10515-013-0134-y. Available online
Singh P, Dutta M, Aggarwal N. A review of task scheduling based on meta-heuristics approach in cloud computing. Knowl Inf Syst. 2017;52(1):1–51. https://doi.org/10.1007/s10115-017-1044-2.
Zhao J, Yang K, Wei X, Ding Y, Hu L, Xu G. A heuristic clustering-based task deployment approach for load balancing using Bayes theorem in cloud environment. IEEE Trans Parallel Distrib Syst. 2016;27(2):305–16. https://doi.org/10.1109/TPDS.2015.2402655.
Abualigah L, Alkhrabsheh M. Amended hybrid multi-verse optimizer with genetic algorithm for solving task scheduling problem in cloud computing. J Supercomput. 2022;78(1):740–65. https://doi.org/10.1007/s11227-021-03915-0.
Zhou Z, Li F, Zhu H, Xie H, Abawajy JH, Chowdhury MU. An improved genetic algorithm using greedy strategy toward task scheduling optimization in cloud environments. Neural Comput Appl. 2019;32:1531–41.
Yu R, Xue G, Zhang X. Application provisioning in FOG computing-enabled Internet-of-Things: a network perspective. In: IEEE INFOCOM 2018—IEEE Conference on computer communications, 2018; p. 783–791. https://doi.org/10.1109/INFOCOM.2018.8486269.
Skarlat O, Nardelli M, Schulte S, Dustdar S. Towards qos-aware fog service placement. In: 2017 IEEE 1st International Conference on fog and edge computing (ICFEC), 2017; p. 89–96. https://doi.org/10.1109/ICFEC.2017.12.
Canali C, Lancellotti R. A fog computing service placement for smart cities based on genetic algorithms. In: Proc. of International Conference on cloud computing and services science (CLOSER 2019), Heraklion, Greece 2019.
Kayal P, Liebeherr J. Distributed service placement in fog computing: an iterative combinatorial auction approach. In: 2019 IEEE 39th International Conference on distributed computing systems (ICDCS), 2019; p. 2145–2156. https://doi.org/10.1109/ICDCS.2019.00211.
Xiao Y, Krunz M. Qoe and power efficiency tradeoff for fog computing networks with fog node cooperation. In: IEEE INFOCOM 2017—IEEE Conference on computer communications, 2017; p. 1–9. https://doi.org/10.1109/INFOCOM.2017.8057196.
Santos J, Wauters T, Volckaert B, De Turck F. Towards delay-aware container-based service function chaining in fog computing. In: NOMS 2020—2020 IEEE/IFIP Network Operations and Management Symposium, 2020; p. 1–9. https://doi.org/10.1109/NOMS47738.2020.9110376.
Santos J, van der Hooft J, Vega MT, Wauters T, Volckaert B, De Turck F. Efficient orchestration of service chains in fog computing for immersive media. In: 2021 17th International Conference on network and service management (CNSM), 2021; p. 139–145. https://doi.org/10.23919/CNSM52442.2021.9615539.
Canali C, Di Modica G, Lancellotti R, Scotece D. Optimal placement of micro-services chains in a fog infrastructure. In: 12th International Conference on cloud computing and services science (CLOSER), 2022.
Souza VB, Masip-Bruin X, Marín-Tordera E, Sànchez-López S, Garcia J, Ren GJ, Jukan A, Juan Ferrer A. Towards a proper service placement in combined Fog-to-Cloud (F2C) architectures. Futur Gener Comput Syst. 2018;87:1–15. https://doi.org/10.1016/j.future.2018.04.042.
Gupta H, Vahid Dastjerdi A, Ghosh SK, Buyya R. ifogsim: a toolkit for modeling and simulation of resource management techniques in the internet of things, edge and fog computing environments. Softw Pract Exp. 2017;47(9):1275–96. https://doi.org/10.1002/spe.2509.
Yousefpour A, Ishigaki G, Jue JP. Fog computing: Towards minimizing delay in the internet of things. In: 2017 IEEE International Conference on edge computing (EDGE), 2017; p. 17–24. https://doi.org/10.1109/IEEE.EDGE.2017.12.
Aslanpour MS, Gill SS, Toosi AN. Performance evaluation metrics for cloud, fog and edge computing: a review, taxonomy, benchmarks and standards for future research. Internet of Things. 2020;12: 100273. https://doi.org/10.1016/j.iot.2020.100273.
Ardagna D, Ciavotta M, Lancellotti R, Guerriero M. A hierarchical receding horizon algorithm for qos-driven control of multi-iaas applications. IEEE Trans Cloud Comput. 2018. https://doi.org/10.1109/TCC.2018.2875443.
Binitha S, Sathya SS, et al. A survey of bio inspired optimization algorithms. International Journal of Soft Computing and Engineering. 2012;2(2):137–51.
Yusoh ZIM, Tang M. A penalty-based genetic algorithm for the composite saas placement problem in the cloud. In: IEEE Congress on Evolutionary Computation, 2010; p. 1–8. https://doi.org/10.1109/CEC.2010.5586151
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of Interest
All authors declare that they have no conflict of interest.
Ethical Approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This article is part of the topical collection “Cloud Computing and Services Science” guest edited by Donald Ferguson, Markus Helfert and Claus Pahl.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Canali, C., Di Modica, G., Lancellotti, R. et al. A Validated Performance Model for Micro-services Placement in Fog Systems. SN COMPUT. SCI. 4, 417 (2023). https://doi.org/10.1007/s42979-023-01847-5
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s42979-023-01847-5