Abstract
The fast increasing presence of Internet-of-Things and fog computing resources exposes new challenges due to heterogeneity and non-negligible network delays among resources as well as the dynamism of operating conditions. Such a variable computing environment leads the applications to adopt an elastic and decentralized execution. To simplify the application deployment and run-time management, containers are widely used nowadays. The deployment of a container-based application over a geo-distributed computing infrastructure is a key task that has a significant impact on the application non-functional requirements (e.g., performance, security, cost). In this survey, we first develop a taxonomy based on the goals, the scope, the actions, and the methodologies considered to adapt at run-time the application deployment. Then, we use it to classify some of the existing research results. Finally, we identify some open challenges that arise for the application deployment in the fog. In literature, we can find many different approaches for adapting the containers deployment, each tailored for optimizing a specific objective, such as the application response time, its deployment cost, or the efficient utilization of the available computing resources. However, although several solutions for deploying containers exist, those explicitly considering the distinctive features of fog computing are at the early stages: indeed, existing solutions scale containers without considering their placement, or do not consider the heterogeneity, the geographic distribution, and mobility of fog resources.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Abdelbaky, M., Diaz-Montes, J., Parashar, M., Unuvar, M., Steinder, M.: Docker containers across multiple clouds and data centers. In: Proceedings of IEEE/ACM UCC 2015, pp. 368–371 (2015). https://doi.org/10.1109/UCC.2015.58
Addya, S.K., Turuk, A.K., Sahoo, B., Sarkar, M., Biswash, S.K.: Simulated annealing based VM placement strategy to maximize the profit for cloud service providers. Eng. Sci. Technol. Int J. 20(4), 1249–1259 (2017)
Al-Dhuraibi, Y., Paraiso, F., Djarallah, N., Merle, P.: Autonomic vertical elasticity of Docker containers with ElasticDocker. In: Proceedings of IEEE CLOUD 2017, pp. 472–479 (2017). https://doi.org/10.1109/CLOUD.2017.67
Al-Dhuraibi, Y., Paraiso, F., Djarallah, N., Merle, P.: Elasticity in cloud computing: state of the art and research challenges. IEEE Trans. Serv. Comput. 11, 430–447 (2018). https://doi.org/10.1109/TSC.2017.2711009
Alam, M.G.R., Hassan, M.M., Uddin, M.Z., Almogren, A., Fortino, G.: Autonomic computation offloading in mobile edge for IoT applications. Future Gener. Comput. Syst. 90, 149–157 (2019). https://doi.org/10.1016/j.future.2018.07.050
Ali-Eldin, A., Tordsson, J., Elmroth, E.: An adaptive hybrid elasticity controller for cloud infrastructures. In: Proceedings of IEEE NOMS 2012, pp. 204–212 (2012)
Arabnejad, H., Pahl, C., Jamshidi, P., Estrada, G.: A comparison of reinforcement learning techniques for fuzzy cloud auto-scaling. In: Proceedings of IEEE/ACM CCGrid 2017, pp. 64–73 (2017). https://doi.org/10.1109/CCGRID.2017.15
Arkian, H.R., Diyanat, A., Pourkhalili, A.: MIST: fog-based data analytics scheme with cost-efficient resource provisioning for IoT crowdsensing applications. J. Netw. Comput. Appl. 82, 152–165 (2017). https://doi.org/10.1016/j.jnca.2017.01.012
Asnaghi, A., Ferroni, M., Santambrogio, M.D.: DockerCap: a software-level power capping orchestrator for Docker containers. In: Proceedings of IEEE EUC 2016 (2016)
Baresi, L., Guinea, S., Leva, A., Quattrocchi, G.: A discrete-time feedback controller for containerized cloud applications. In: Proceedings of ACM SIGSOFT FSE 2016, pp. 217–228 (2016). https://doi.org/10.1145/2950290.2950328
Barna, C., Khazaei, H., Fokaefs, M., Litoiu, M.: Delivering elastic containerized cloud applications to enable DevOps. In: Proceedings of SEAMS 2017, pp. 65–75 (2017)
Bellavista, P., Zanni, A.: Feasibility of fog computing deployment based on Docker containerization over RaspberryPi. In: Proceedings of ICDCN 2017. ACM (2017)
Bermbach, D., et al.: A research perspective on fog computing. In: Braubach, L., et al. (eds.) ICSOC 2017. LNCS, vol. 10797, pp. 198–210. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-91764-1_16
Boyd, S., Parikh, N., Chu, E., Peleato, B., Eckstein, J.: Distributed optimization and statistical learning via the alternating direction method of multipliers. Found. Trends Mach. Learn. 3(1), 1–122 (2011)
Brogi, A., Forti, S., Guerrero, C., Lera, I.: Meet genetic algorithms in Monte Carlo: optimised placement of multi-service applications in the fog. In: Proceedings of IEEE EDGE 2019, pp. 13–17 (2019). https://doi.org/10.1109/EDGE.2019.00016
Brogi, A., Forti, S., Guerrero, C., Lera, I.: How to place your apps in the fog: state of the art and open challenges. Softw. Pract. Exp. (2019). https://doi.org/10.1002/spe.2766
Buyya, R., et al.: A manifesto for future generation cloud computing: research directions for the next decade. ACM Comput. Surv. 51(5), 105:1–105:38 (2019)
Calheiros, R.N., Ranjan, R., Beloglazov, A., De Rose, C., Buyya, R.: CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw. Pract. Exp. 41(1), 23–50 (2011)
Casalicchio, E., Perciballi, V.: Auto-scaling of containers: the impact of relative and absolute metrics. In: Proceedings of IEEE FAS*W 2017, pp. 207–214 (2017)
Casalicchio, E.: Container orchestration: a survey. In: Puliafito, A., Trivedi, K.S. (eds.) Systems Modeling: Methodologies and Tools. EICC, pp. 221–235. Springer, Cham (2019). https://doi.org/10.1007/978-3-319-92378-9_14
Chang, Z., Zhou, Z., Ristaniemi, T., Niu, Z.: Energy efficient optimization for computation offloading in fog computing system. In: Proceedings of IEEE GLOBECOM 2017 (2017). https://doi.org/10.1109/GLOCOM.2017.8254207
de Brito, M.S., et al.: A service orchestration architecture for fog-enabled infrastructures. In: Proceedings of FMEC 2017, pp. 127–132. IEEE (2017)
De Maio, V., Brandic, I.: Multi-objective mobile edge provisioning in small cell clouds. In: Proceedings of ACM/SPEC ICPE 2019, pp. 127–138. ACM (2019)
Elliott, D., Otero, C., Ridley, M., Merino, X.: A cloud-agnostic container orchestrator for improving interoperability. In: Proceedings of IEEE CLOUD 2018, pp. 958–961 (2018). https://doi.org/10.1109/CLOUD.2018.00145
Garefalakis, P., Karanasos, K., Pietzuch, P., Suresh, A., Rao, S.: Medea: scheduling of long running applications in shared production clusters. In: Proceedings of EuroSys 2018, pp. 4:1–4:13. ACM (2018). https://doi.org/10.1145/3190508.3190549
Gedeon, J., Brandherm, F., Egert, R., Grube, T., Mühlhäuser, M.: What the fog? Edge computing revisited: promises, applications and future challenges. IEEE Access 7, 152847–152878 (2019). https://doi.org/10.1109/ACCESS.2019.2948399
Guan, X., Wan, X., Choi, B.Y., Song, S., Zhu, J.: Application oriented dynamic resource allocation for data centers using Docker containers. IEEE Commun. Lett. 21(3), 504–507 (2017). https://doi.org/10.1109/LCOMM.2016.2644658
Guerrero, C., Lera, I., Juiz, C.: Genetic algorithm for multi-objective optimization of container allocation in cloud architecture. J. Grid Comput. 16(1), 113–135 (2018). https://doi.org/10.1007/s10723-017-9419-x
Gupta, H., Vahid Dastjerdi, A., Ghosh, S.K., 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. 47(9), 1275–1296 (2017). https://doi.org/10.1002/spe.2509
Hoque, S., d. Brito, M.S., Willner, A., Keil, O., Magedanz, T.: Towards container orchestration in fog computing infrastructures. In: Proceedings of IEEE COMPSAC 2017, vol. 2, pp. 294–299 (2017). https://doi.org/10.1109/COMPSAC.2017.248
Horovitz, S., Arian, Y.: Efficient cloud auto-scaling with SLA objective using Q-learning. In: Proceedings of IEEE FiCloud 2018, pp. 85–92 (2018)
Huang, Z., Lin, K.J., Yu, S.Y., Hsu, J.Y.J.: Co-locating services in IoT systems to minimize the communication energy cost. J. Innov. Digit. Ecosyst. 1(1), 47–57 (2014). https://doi.org/10.1016/j.jides.2015.02.005
Javed, A., Heljanko, K., Buda, A., Främling, K.: Cefiot: a fault-tolerant IoT architecture for edge and cloud. In: Proceedings of IEEE WF-IoT 2018, pp. 813–818 (2018)
Jawarneh, I.M.A., et al.: Container orchestration engines: a thorough functional and performance comparison. In: Proceedings of IEEE ICC 2019, pp. 1–6 (2019)
Kaewkasi, C., Chuenmuneewong, K.: Improvement of container scheduling for Docker using ant colony optimization. In: Proceedings of KST 2017. IEEE (2017)
Kaur, K., Dhand, T., Kumar, N., Zeadally, S.: Container-as-a-service at the edge: trade-off between energy efficiency and service availability at fog nano data centers. IEEE Wirel. Commun. 24(3), 48–56 (2017)
Kayal, P., Liebeherr, J.: Autonomic service placement in fog computing. In: Proceedings of IEEE WoWMoM 2019, pp. 1–9 (2019)
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003). https://doi.org/10.1109/MC.2003.1160055
Khazaei, H., Bannazadeh, H., Leon-Garcia, A.: SAVI-IoT: a self-managing containerized IoT platform. In: Proc. of IEEE FiCloud 2017, pp. 227–234 (2017)
Khazaei, H., Ravichandiran, R., Park, B., Bannazadeh, H., Tizghadam, A., Leon-Garcia, A.: Elascale: autoscaling and monitoring as a service. In: Proceedings of CASCON 2017, pp. 234–240 (2017)
Kimovski, D., Ijaz, H., Saurabh, N., Prodan, R.: Adaptive nature-inspired fog architecture. In: Proceedings of IEEE ICFEC 2018, pp. 1–8 (2018)
Liu, L., Chang, Z., Guo, X., Mao, S., Ristaniemi, T.: Multiobjective optimization for computation offloading in fog computing. IEEE Internet Things J. 5(1), 283–294 (2018). https://doi.org/10.1109/JIOT.2017.2780236
Lopes, M.M., Higashino, W.A., Capretz, M.A., Bittencourt, L.F.: MyiFogSim: a simulator for virtual machine migration in fog computing. In: Proceedings of IEEE/ACM UCC 2017 Companion, pp. 47–52. ACM (2017)
Lorido-Botran, T., Miguel-Alonso, J., Lozano, J.A.: A review of auto-scaling techniques for elastic applications in cloud environments. J. Grid Comput. 12(4), 559–592 (2014). https://doi.org/10.1007/s10723-014-9314-7
Mahmud, M., Srirama, S., Ramamohanarao, K., Buyya, R.: Quality of experience (QoE)-aware placement of applications in fog computing environments. J. Parallel Distrib. Comput. 123, 190–203 (2018)
Mahmud, R., Kotagiri, R., Buyya, R.: Fog computing: a taxonomy, survey and future directions. In: Di Martino, B., Li, K.-C., Yang, L.T., Esposito, A. (eds.) Internet of Everything. IT, pp. 103–130. Springer, Singapore (2018). https://doi.org/10.1007/978-981-10-5861-5_5
Mao, Y., Oak, J., Pompili, A., Beer, D., Han, T., Hu, P.: DRAPS: dynamic and resource-aware placement scheme for Docker containers in a heterogeneous cluster. In: Proceedings of IEEE IPCCC 2017 (2017). https://doi.org/10.1109/PCCC.2017.8280474
Mayer, R., Graser, L., Gupta, H., Saurez, E., Ramachandran, U.: EmuFog: extensible and scalable emulation of large-scale fog computing infrastructures. In: Proceedings of IEEE FWC 2017, pp. 1–6 (2017). https://doi.org/10.1109/FWC.2017.8368525
Mennes, R., Spinnewyn, B., Latré, S., Botero, J.F.: GRECO: a distributed genetic algorithm for reliable application placement in hybrid clouds. In: Proceedings of IEEE CloudNet 2016, pp. 14–20 (2016). https://doi.org/10.1109/CloudNet.2016.45
Mouradian, C., Kianpisheh, S., Abu-Lebdeh, M., Ebrahimnezhad, F., Jahromi, N.T., Glitho, R.H.: Application component placement in NFV-based hybrid cloud/fog systems with mobile fog nodes. IEEE J. Sel. Areas in Commun. 37(5), 1130–1143 (2019). https://doi.org/10.1109/JSAC.2019.2906790
Mseddi, A., Jaafar, W., Elbiaze, H., Ajib, W.: Joint container placement and task provisioning in dynamic fog computing. IEEE Internet Things J. 6, 10028–10040 (2019)
Naas, M.I., Parvedy, P.R., Boukhobza, J., Lemarchand, L.: iFogStor: an IoT data placement strategy for fog infrastructure. In: Proceedings of IEEE ICFEC 2017, pp. 97–104 (2017). https://doi.org/10.1109/ICFEC.2017.15
Nardelli, M., Cardellini, V., Casalicchio, E.: Multi-level elastic deployment of containerized applications in geo-distributed environments. In: Proceedings of IEEE FiCloud 2018, pp. 1–8 (2018). https://doi.org/10.1109/FiCloud.2018.00009
Nardelli, M., Hochreiner, C., Schulte, S.: Elastic provisioning of virtual machines for container deployment. In: Proceedings of ACM/SPEC ICPE 2017 Companion, pp. 5–10 (2017). https://doi.org/10.1145/3053600.3053602
Netto, H.V., Luiz, A.F., Correia, M., de Oliveira Rech, L., Oliveira, C.P.: Koordinator: a service approach for replicating Docker containers in Kubernetes. In: Proceedings of IEEE ISCC 2018, pp. 58–63 (2018)
Nouri, S.M.R., Li, H., Venugopal, S., Guo, W., He, M., Tian, W.: Autonomic decentralized elasticity based on a reinforcement learning controller for cloud applications. Future Gener. Comput. Syst. 94, 765–780 (2019)
Ongaro, D., Ousterhout, J.: In search of an understandable consensus algorithm. In: Proceedings of USENIX ATC 2014, pp. 305–319 (2014)
Ouyang, T., Zhou, Z., Chen, X.: Follow me at the edge: mobility-aware dynamic service placement for mobile edge computing. IEEE J. Sel. Area Comm. 36(10), 2333–2345 (2018). https://doi.org/10.1109/JSAC.2018.2869954
Piraghaj, S.F., Dastjerdi, A.V., Calheiros, R.N., Buyya, R.: ContainerCloudSim: an environment for modeling and simulation of containers in cloud data centers. Softw. Pract. Exp. 47(4), 505–521 (2017)
Puliafito, C., Mingozzi, E., Longo, F., Puliafito, A., Rana, O.: Fog computing for the internet of things: a survey. ACM Trans. Internet Technol. 19(2), 18:1–18:41 (2019). https://doi.org/10.1145/3301443
Rodriguez, M.A., Buyya, R.: Container-based cluster orchestration systems: a taxonomy and future directions. Softw. Pract. Exp. 49(5), 698–719 (2019)
Röger, H., Mayer, R.: A comprehensive survey on parallelization and elasticity in stream processing. ACM Comput. Surv. 52(2), 36:1–36:37 (2019)
Rossi, F., Cardellini, V., Lo Presti, F.: Elastic deployment of software containers in geo-distributed computing environments. In: Proceedings of IEEE ISCC 2019 (2019). https://doi.org/10.1109/ISCC47284.2019.8969607
Rossi, F., Nardelli, M., Cardellini, V.: Horizontal and vertical scaling of container-based applications using reinforcement learning. In: Proceedings of IEEE CLOUD 2019, pp. 329–338 (2019). https://doi.org/10.1109/CLOUD.2019.00061
Santos, J., Wauters, T., Volckaert, B., De Turck, F.: Towards network-aware resource provisioning in Kubernetes for fog computing applications. In: Proceedings of IEEE NetSoft 2019, pp. 351–359 (2019). https://doi.org/10.1109/NETSOFT.2019.8806671
Souza, V., et al.: Towards a proper service placement in combined fog-to-cloud (F2C) architectures. Future Gener. Comput. Syst. 87, 1–15 (2018)
Subashini, S., Kavitha, V.: A survey on security issues in service delivery models of cloud computing. J. Netw. Comput. Appl. 34(1), 1–11 (2011)
Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction, 2nd edn. MIT Press, Cambridge (2018)
Tan, B., Ma, H., Mei, Y.: A hybrid genetic programming hyper-heuristic approach for online two-level resource allocation in container-based clouds. In: Proceedings of IEEE CEC 2019, pp. 2681–2688 (2019). https://doi.org/10.1109/CEC.2019.8790220
Tang, Z., Zhou, X., Zhang, F., Jia, W., Zhao, W.: Migration modeling and learning algorithms for containers in fog computing. IEEE Trans. Serv. Comput. 12(5), 712–725 (2019). https://doi.org/10.1109/TSC.2018.2827070
Tesauro, G., Jong, N.K., Das, R., Bennani, M.N.: A hybrid reinforcement learning approach to autonomic resource allocation. In: Proceedings of IEEE ICAC 2006, pp. 65–73 (2006). https://doi.org/10.1109/ICAC.2006.1662383
Townend, P., et al.: Improving data center efficiency through holistic scheduling in Kubernetes. In: Proceedings of IEEE SOSE 2019, pp. 156–166 (2019)
Wen, Z., Yang, R., Garraghan, P., Lin, T., Xu, J., Rovatsos, M.: Fog orchestration for internet of things services. IEEE Internet Comput. 21(2), 16–24 (2017)
Weyns, D., et al.: On patterns for decentralized control in self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 76–107. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_4
Wu, Y., Rao, R., Hong, P., Ma, J.: FAS: a flow aware scaling mechanism for stream processing platform service based on LMS. In: Proceedings of ICMSS 2017, pp. 280–284. ACM (2017). https://doi.org/10.1145/3034950.3034965
Xu, J., Chen, L., Ren, S.: Online learning for offloading and autoscaling in energy harvesting mobile edge computing. IEEE Trans. Cogn. Commun. Netw. 3(3), 361–373 (2017). https://doi.org/10.1109/TCCN.2017.2725277
Yi, S., Hao, Z., Qin, Z., Li, Q.: Fog computing: platform and applications. In: Proceedings of HotWeb 2015, pp. 73–78. IEEE (2015). https://doi.org/10.1109/HotWeb.2015.22
Yigitoglu, E., Mohamed, M., Liu, L., Ludwig, H.: Foggy: a framework for continuous automated IoT application deployment in fog computing. In: Proceedings of IEEE AIMS 2017, pp. 38–45 (2017). https://doi.org/10.1109/AIMS.2017.14
Zhao, D., Mohamed, M., Ludwig, H.: Locality-aware scheduling for containers in cloud computing. IEEE Trans. Cloud Comput. 8(2), 635–646 (2020)
Zhou, Z., Liu, P., Feng, J., Zhang, Y., Mumtaz, S., Rodriguez, J.: Computation resource allocation and task assignment optimization in vehicular fog computing: a contract-matching approach. IEEE Trans. Veh. Technol. 68(4), 3113–3125 (2019)
Zhu, J., Chan, D.S., Prabhu, M.S., Natarajan, P., Hu, H., Bonomi, F.: Improving web sites performance using edge servers in fog computing architecture. In: Proceedings of IEEE SOSE 2013, pp. 320–323 (2013)
Zhu, Q., Agrawal, G.: Resource provisioning with budget constraints for adaptive applications in cloud environments. IEEE Trans. Serv. Comput. 5(4), 497–511 (2012). https://doi.org/10.1109/TSC.2011.61
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Cardellini, V., Lo Presti, F., Nardelli, M., Rossi, F. (2020). Self-adaptive Container Deployment in the Fog: A Survey. In: Brandic, I., Genez, T., Pietri, I., Sakellariou, R. (eds) Algorithmic Aspects of Cloud Computing. ALGOCLOUD 2019. Lecture Notes in Computer Science(), vol 12041. Springer, Cham. https://doi.org/10.1007/978-3-030-58628-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-58628-7_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58627-0
Online ISBN: 978-3-030-58628-7
eBook Packages: Computer ScienceComputer Science (R0)