Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture


The use of containers in cloud architectures has become widespread, owing to advantages such as limited overheads, easier and faster deployment, and higher portability. Moreover, they present a suitable architectural solution for the deployment of applications created using a microservice development pattern. Despite the large number of solutions and implementations, there remain open issues that have not been completely addressed in container automation and management. Container resource allocation influences system performance and resource consumption, and so it is a key factor for cloud providers. We propose a genetic algorithm approach, using the Non-dominated Sorting Genetic Algorithm-II (NSGA-II), to optimize container allocation and elasticity management, motivated by the good results obtained with this algorithm in other resource management optimization problems in cloud architectures. Our optimization algorithm enhances system provisioning, system performance, system failure, and network overhead. A model for cloud clusters, containers, microservices, and four optimization objectives is presented. Experimental results demonstrate that our approach is a suitable solution for addressing the problem of container allocation and elasticity, and it obtains better objective values than the container management policies implemented in Kubernetes.


  1. 1.

    Adam, O., Lee, Y.C., Zomaya, A.Y.: Stochastic resource provisioning for containerized multi-tier web services in clouds. IEEE Trans. Parallel Distrib. Syst. 28(7), 2060–2073 (2017).

    Article  Google Scholar 

  2. 2.

    Akhter, N., Othman, M.: Energy aware resource allocation of cloud data center: Review and open issues. Clust. Comput. 19(3), 1163–1182 (2016)

    Article  Google Scholar 

  3. 3.

    de Alfonso, C., Calatrava, A., Moltó, G.: Container-based virtual elastic clusters. J. Syst. Softw. 127, 1–11 (2017).

    Article  Google Scholar 

  4. 4.

    Amaral, M., Polo, J., Carrera, D., Mohomed, I., Unuvar, M., Steinder, M.: Performance evaluation of microservices architectures using containers. In: 2015 IEEE 14th International Symposium on Network Computing and Applications, pp. 27–34 (2015).

  5. 5.

    Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables devops: Migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016).

    Article  Google Scholar 

  6. 6.

    Beloglazov, A., Abawajy, J.H., Buyya, R.: Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing. Fut. Gen. Comp. Syst. 28(5), 755–768 (2012).

    Article  Google Scholar 

  7. 7.

    Brito, M.S.D., Hoque, S., Steinke, R., Willner, A.: Towards programmable fog nodes in smart factories. In:2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W), pp. 236–241 (2016).

  8. 8.

    Caballer, M., Blanquer, I., Moltó, G., de Alfonso, C.: Dynamic management of virtual infrastructures. J. Grid Comput. 13(1), 53–70 (2015).

    Article  Google Scholar 

  9. 9.

    Deb, K., Agrawal, S.: Understanding interactions among genetic algorithm parameters. In: FOGA, pp. 265–286 (1998)

  10. 10.

    Deb, K., Deb, K.: Multi-objective Optimization, pp. 403–449. Springer, Boston (2014)

    Google Scholar 

  11. 11.

    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: Nsga-ii. Trans. Evol. Comp 6(2), 182–197 (2002).

    Article  Google Scholar 

  12. 12.

    Di, S., Cappello, F.: Gloudsim: Google trace based cloud simulator with virtual machines. Softw. Pract. Exper. 45(11), 1571–1590 (2015).

    Article  Google Scholar 

  13. 13.

    Durillo, J.J., Nebro, A.J., Luna, F., Alba, E.: A study of master-slave approaches to parallelize nsga-ii. In: 2008 IEEE International Symposium on Parallel and Distributed Processing, pp. 1–8 (2008).

  14. 14.

    Fazio, M., Celesti, A., Ranjan, R., Liu, C., Chen, L., Villari, M.: Open issues in scheduling microservices in the cloud. IEEE Cloud Computing 3(5), 81–88 (2016).

    Article  Google Scholar 

  15. 15.

    Ferme, V., Ivanchikj, A., Pautasso, C., Skouradaki, M., Leymann, F.: A container-centric methodology for benchmarking workflow management systems. In: Proceedings of the 6th International Conference on Cloud Computing and Services Science - Volume 1 and 2, CLOSER 2016, pp. 74–84. SCITEPRESS - Science and Technology Publications, Lda, Portugal (2016).

  16. 16.

    Fu, S.: Failure-aware resource management for high-availability computing clusters with distributed virtual machines, vol. 70, pp. 384–393 (2010),

  17. 17.

    Gai, K., Qiu, M., Zhao, H.: Cost-aware multimedia data allocation for heterogeneous memory using genetic algorithm in cloud computing. IEEE Trans. Cloud Comput. PP(99), 1–1 (2017).

    Article  Google Scholar 

  18. 18.

    Gen, M., Cheng, R.: Genetic Algorithms and Engineering Optimization, vol. 7. Wiley (2000)

  19. 19.

    Gerlach, W., Tang, W., Wilke, A., Olson, D., Meyer, F.: Container orchestration for scientific workflows. In: 2015 IEEE International conference on cloud engineering, pp. 377–378 (2015).

  20. 20.

    Grefenstette, J.J.: Optimization of control parameters for genetic algorithms. IEEE Trans. Syst. Man Cybern. 16(1), 122–128 (1986).

    Article  Google Scholar 

  21. 21.

    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. PP(99), 1–1 (2016).

    Google Scholar 

  22. 22.

    Guzek, M., Bouvry, P., Talbi, E.G.: A survey of evolutionary computation for resource management of processing in cloud computing [review article]. IEEE Comput. Intell. Mag. 10(2), 53–67 (2015).

    Article  Google Scholar 

  23. 23.

    Heidari, P., Lemieux, Y., Shami, A.: Qos assurance with light virtualization - a survey. In: 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom), pp. 558–563 (2016)

  24. 24.

    Hidalgo, J.I., Fernández de Vega, F.: Parallel bioinspired algorithms on the grid and cloud. J. Grid Comput. 13(3), 305–308 (2015).

    Article  Google Scholar 

  25. 25.

    Kaewkasi, C., Chuenmuneewong, K.: Improvement of container scheduling for docker using ant colony optimization. In: 2017 9th International Conference on Knowledge and Smart Technology (KST), pp. 254–259 (2017).

  26. 26.

    Kang, D.K., Choi, G.B., Kim, S.H., Hwang, I.S., Youn, C.H.: Workload-aware resource management for energy efficient heterogeneous docker containers. In: 2016 IEEE Region 10 Conference (TENCON), pp. 2428–2431 (2016)

  27. 27.

    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).

    Article  Google Scholar 

  28. 28.

    Konak, A., Coit, D.W., Smith, A.E.: Multi-objective optimization using genetic algorithms: A tutorial. Reliab. Eng. Syst. Safety 91(9), 992–1007 (2006). Special Issue - Genetic Algorithms and Reliability Special Issue

    Article  Google Scholar 

  29. 29.

    Kozhirbayev, Z., Sinnott, R.O.: A performance comparison of container-based technologies for the cloud. Fut. Gen. Comput. Syst. 68, 175–182 (2017).

    Article  Google Scholar 

  30. 30.

    Li, P., Nie, H., Xu, H., Dong, L.: A minimum-aware container live migration algorithm in the cloud environment. Int. J. Bus. Data Commun. Netw. 13(2), 15–27 (2017).

    Article  Google Scholar 

  31. 31.

    von Lücken, C., Barán, B., Brizuela, C.: A survey on multi-objective evolutionary algorithms for many-objective problems. Comput. Optim. Appl. 58(3), 707–756 (2014).

    MathSciNet  MATH  Google Scholar 

  32. 32.

    Manvi, S.S., Shyam, G.K.: Resource management for infrastructure as a service (iaas) in cloud computing: A survey. J. Netw. Comput. Appl. 41, 424–440 (2014).

    Article  Google Scholar 

  33. 33.

    Menasce, D.A.: Tpc-w: a benchmark for e-commerce. IEEE Int. Comput. 6(3), 83–87 (2002).

    Article  Google Scholar 

  34. 34.

    Mitchell, M.: An Introduction to Genetic Algorithms. MIT Press, Cambridge (1998)

    Google Scholar 

  35. 35.

    Nadgowda, S., Suneja, S., Kanso, A.: Comparing scaling methods for linux containers. In: 2017 IEEE International Conference on Cloud Engineering (IC2E), pp. 266–272 (2017).

  36. 36.

    Nguyen, N., Bein, D.: Distributed mpi cluster with docker swarm mode. In: 2017 IEEE 7th Annual Computing and Communication Workshop and Conference (CCWC), pp. 1–7 (2017)

  37. 37.

    Osborne, G., Weninger, T.: Ozy: a general orchestration container. In: 2016 IEEE International Conference on Web Services (ICWS), pp. 609–616 (2016)

  38. 38.

    Pahl, C., Helmer, S., Miori, L., Sanin, J., Lee, B.: A container-based edge cloud paas architecture based on raspberry pi clusters. In: 2016 IEEE 4th International Conference on Future Internet of Things and Cloud Workshops (FiCloudW), pp. 117–124 (2016)

  39. 39.

    Pahl, C., Lee, B.: Containers and clusters for edge cloud architectures – a technology review. In: 2015 3rd International Conference on Future Internet of Things and Cloud, pp. 379–386 (2015)

  40. 40.

    Pascual, J.A., Lorido-Botrán, T, Miguel-Alonso, J., Lozano, J.A.: Towards a greener cloud infrastructure management using optimized placement policies. J. Grid Comput. 13(3), 375–389 (2015).

    Article  Google Scholar 

  41. 41.

    Peinl, R., Holzschuher, F., Pfitzer, F.: Docker cluster management for the cloud - survey results and own solution. J. Grid Comput. 14(2), 265–282 (2016).

    Article  Google Scholar 

  42. 42.

    Pizzolli, D., Cossu, G., Santoro, D., Capra, L., Dupont, C., Charalampos, D., Pellegrini, F.D., Antonelli, F., Cretti, S.: Cloud4iot: A heterogeneous, distributed and autonomic cloud platform for the iot. In: 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom), pp. 476–479 (2016)

  43. 43.

    Qiu, M., Ming, Z., Li, J., Gai, K., Zong, Z.: Phase-change memory optimization for green cloud with genetic algorithm. IEEE Trans. Comput. 64(12), 3528–3540 (2015).

    MathSciNet  Article  MATH  Google Scholar 

  44. 44.

    Ramalho, F., Neto, A.: Virtualization at the network edge: A performance comparison. In: 2016 IEEE 17th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM), pp. 1–6 (2016)

  45. 45.

    Reniers, V.: The prospects for multi-cloud deployment of saas applications with container orchestration platforms. In: Proceedings of the Doctoral Symposium of the 17th International Middleware Conference, Middleware Doctoral Symposium’16, pp. 5:1–5:2. ACM, New York (2016),

  46. 46.

    Rufino, J., Alam, M., Ferreira, J., Rehman, A., Tsang, K.F.: Orchestration of containerized microservices for iiot using docker. In: 2017 IEEE International Conference on Industrial Technology (ICIT), pp. 1532–1536 (2017)

  47. 47.

    Rusek, M., Dwornicki, G., Orowski, A.: A Decentralized System for Load Balancing of Containerized Microservices in the Cloud, pp. 142–152. Springer International Publishing (2017)

  48. 48.

    Singh, S., Chana, I.: Cloud resource provisioning: survey, status and future research directions. Knowl. Inf. Syst. 49(3), 1005–1069 (2016).

    Article  Google Scholar 

  49. 49.

    Singh, S., Chana, I.: A survey on resource scheduling in cloud computing: Issues and challenges. J. Grid Comput. 14(2), 217–264 (2016).

    Article  Google Scholar 

  50. 50.

    Smith, N.A., Oommen, M., Sankaranaraynan, P.A.: Method and procedure for dynamic services orchestration that runs within an on device software container (2016). US Patent 9,264,304

  51. 51.

    Srinivas, M., Patnaik, L. M.: Adaptive probabilities of crossover and mutation in genetic algorithms. IEEE Trans. Syst. Man Cybern. 24(4), 656–667 (1994).

    Article  Google Scholar 

  52. 52.

    Tan, K., Lee, T., Khor, E.: Evolutionary algorithms for multi-objective optimization: Performance assessments and comparisons. Artif. Intell. Rev. 17(4), 251–290 (2002).

    Article  MATH  Google Scholar 

  53. 53.

    Tao, Y., Wang, X., Xu, X., Chen, Y.: Dynamic resource allocation algorithm for container-based service computing. In: 2017 IEEE 13th International Symposium on Autonomous Decentralized System (ISADS), pp. 61–67 (2017)

  54. 54.

    Tosatto, A., Ruiu, P., Attanasio, A.: Container-based orchestration in cloud: State of the art and challenges. In: 2015 Ninth International Conference on Complex, Intelligent, and Software Intensive Systems, pp. 70–75 (2015)

  55. 55.

    Vohra, D.: Scheduling pods on nodes. In: Kubernetes Management Design Patterns, pp. 199–236. Springer (2017)

  56. 56.

    Weaveworks, ContainerSolutions: Socks shop - a microservices demo application (2016).

  57. 57.

    Wei, G., Vasilakos, A.V., Zheng, Y., Xiong, N.: A game-theoretic method of fair resource allocation for cloud computing services. J. Supercomput. 54(2), 252–269 (2010).

    Article  Google Scholar 

  58. 58.

    Xu, H., Liu, W., Shu, G., Li, J.: Location-aware data block allocation strategy for hdfs-based applications in the cloud. 2016 IEEE 9th Int. Conf. Cloud Comput. 00, 252–259 (2016).

    Article  Google Scholar 

  59. 59.

    Zhan, Z.H., Liu, X.F., Gong, Y.J., Zhang, J., Chung, H.S.H., Li, Y.: Cloud computing resource scheduling and a survey of its evolutionary approaches. ACM Comput. Surv. 47(4), 63:1–63:33 (2015).

    Article  Google Scholar 

  60. 60.

    Zhang, Q., Cheng, L., Boutaba, R.: Cloud computing: State-of-the-art and research challenges. J. Int. Serv. Appl. 1(1), 7–18 (2010).

    Article  Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Carlos Guerrero.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Guerrero, C., Lera, I. & Juiz, C. Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture. J Grid Computing 16, 113–135 (2018).

Download citation


  • Cloud containers
  • Microservices
  • Resource allocation
  • Genetic algorithm
  • Multi-objective optimization
  • Performance evaluation