A performance evaluation between Docker container and Virtual Machines in cloud computing architectures
Abstract
ABSTRACT
Reliability, portability, scalability and availability of applications are essential features of cloud computing in the software architecture of enterprises, that usually makes use of virtual machines (VM’s). The hardware resources of cloud computing are always limited, for this reason it is important that the available resources are adequately allocated to obtain the best possible performance. The container technology is an alternative to VM as it allows to virtualize operating systems, package applications along with the required dependencies and deploy them as an instance of the operating system, permit applications to run independently, and consume only the necessary resources. This article, related to the area of parallel and distributed computing, presents a performance evaluation analyzing several aspects between VM’s and Docker containers, based on different benchmark tools. The test configuration is based on the principles of high performance computing (HPC), adapting the same setup used to measure the performance of the processing of big amount of data or information, demanding all out of the available hardware resources. The results of the tests reveal that Docker containers perform better compared to VM’s based on VirtualBox.
Keywords: Container, cloud computing, HPC, virtual machine, performance testing.
RESUMEN
La confiabilidad, portabilidad, escalabilidad y disponibilidad de las aplicaciones, son características esenciales que permiten implementar computación en la nube, usualmente basada en máquinas virtuales (VM’s), en una arquitectura de software empresarial. Los recursos de hardware de la computación en la nube, son siempre limitados. Por esto, y para obtener el mejor rendimiento posible, es importante que los recursos disponibles sean consumidos adecuadamente. La tecnología de contenedores representa una alternativa frente a las VM’s, debido a que nos permite virtualizar sistemas operativos, que empaquetan aplicaciones junto con las dependencias necesarias y las despliega en una instancia del sistema operativo. Esto permite que las aplicaciones se ejecuten de manera independiente y consuman solamente los recursos necesarios. En este artículo, relacionado con el área de computación paralela y distribuida, se presenta una evaluación del rendimiento computacional de dos tendencias de virtualización: VM’s y contenedores Docker, mediante el uso de varias herramientas tipo benchmark. Las pruebas se realizaron acorde a los principios de computación de alto rendimiento (HPC): similar a una evaluación de rendimiento para grandes cantidades de datos y procesamiento de información, esto es, implicando una alta demanda de los recursos de hardware disponibles. Los resultados de las pruebas demuestran que los contenedores Docker tienen un mejor rendimiento frente a las VM’s basadas en VirtualBox.
Palabras clave: Contenedor, computación en la nube, HPC, máquina virtual, pruebas de rendimiento.Downloads
Metrics
References
Barik, R. K., Lenka, R. K., Rao, K. R., & Ghos, D. (2016). Performance analysis of virtual machines and containers in cloud computing. 2016 International Conference on Computing, Communication and Automation (ICCCA), 1204-1210. doi:10.1109/CCAA.2016.7813925
Jacobson, D. M., & Canon, R. S. (2015). Contain this, unleashing Docker for HPC. Available at https://www.nersc.gov/assets/Uploads/cug2015udi.pdf
Chung, M. T., Quang-Hung, N., Nguyen, M. T., & Thoai, N. (2016). Using Docker in high performance computing applications. 2016 IEEE Sixth International Conference on Communications and Electronics (ICCE), 52-57. doi:10.1109/CCE.2016.756261, R. (n.d.). Bonnie++. Retrieved from http://www.coker.com.au/bonnie++/
Spoiala, C. C., Calinciuc, A., & Turcu, C. O. (2016). Performance comparison of a WebRTC server on Docker versus Virtual Machine. Retrieved 08 10, 2016, from 13 th International Conference on Development and Application Systems: http://www.dasconference.ro/dvd2016/data/papers/D78-paper.pdf
Docker. (2017). Docker. Retrieved from What is Docker: https://www.docker.com/what-docker
Kleyman, B. (2012). Hypervisor 101: Understanding the virtualization market. Retrieved from http://www.datacenterknowledge.com/archives/2012/08/01/hypervisor-101-a-look-hypervisor-market/
Morabito, R. (2016). A performance evaluation of container technologies on Internet of things devices. 2016 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), 999-1000. doi:10.1109/INFCOMW.2016.7562228
Parziale, L., Louie, B., Marins, E., Santos, T. N., & Venkatesan, S. (2012). Advanced networking concepts applied using Linux on IBM Systems. Retrieved from Performance tests and results: http://www.redbooks.ibm.com/redbooks/pdfs/sg247995.pdf
Peter Mell, T. G. (2011). The NIST definition of cloud computing. Retrieved from http://faculty.winthrop.edu/domanm/csci411/Handouts/NIST.pdf
Pipes, J. (2010). Performance tuning best practices. Retrieved from http://docs.linuxtone.org/ebooks/MySQL/performance-tuning-best-practices.pdf
Preeth, N. E., Mulerickal, F. J., Paul, B., & Sastri, Y. (2015). Evaluation of Docker containers based on hardware utilization. 2015 International Conference on Control Communication & Computing India (ICCC), 697-700. doi:10.1109/ICCC.2015.7432984
Sindi, M. (2009). HPL Calculator. Retrieved from http://hpl-calculator.sourceforge.net/HPL-HowTo.pdf
Sindi, M. (2016). Top500 HPL calculator. Retrieved from http://hpl-calculator.sourceforge.net/
Wes Felter, A. F. (2014). An updated performance comparison virtual machines and Linux containers. Retrieved 08 06, 2016, from IBM Research Report : http://domino.research.ibm.com/library/cyberdig.nsf/papers/0929052195DD819C85257D2300681E7B/$File/rc25482.pdf
Xavier, B., Ferreto, T., & Jersak, L. (2016). Time provisioning evaluation of KVM, Docker and Unikernels in a cloud platform. 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), 277-280. doi:10.1109/CCGrid.2016.86
Downloads
Published
How to Cite
Issue
Section
License
Copyright © Autors. Creative Commons Attribution 4.0 License. for any article submitted from 6 June 2017 onwards. For manuscripts submitted before, the CC BY 3.0 License was used.
![]()
You are free to:
![]() |
Share — copy and redistribute the material in any medium or format |
![]() |
Adapt — remix, transform, and build upon the material for any purpose, even commercially. |
Under the following conditions:
![]() |
Attribution — You must give appropriate credit, provide a link to the licence, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licenser endorses you or your use. |
| No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the licence permits. |








