INTRODUCCIÓN
Las Tecnologías de la Información y las Comunicaciones constituyen un activo estratégico para las empresas y contribuyen a elevar su participación en la economía actual (Ogunyemi & Johnston, 2017; Peña y Anías, 2018). Diversas operaciones empresariales se realizan mediante aplicaciones informáticas y software centralizado en una infraestructura basada en centros de datos y nodos de servidores Logroño, 2017. Los centros de datos y los nodos de servidores son cruciales en los procesos de negocios de muchas organizaciones (Logroño, 2017). La misión de estos centros de cómputo es satisfacer las necesidades de información de los usuarios y brindar un grupo de servicios telemáticos importantes para el correcto funcionamiento de la red y los sistemas de gestión de la empresa (Pérez, Alvarez y González, 2013; Anglada y Garófalo, 2013).
Las pequeñas y medianas empresas (PYMEs) poseen características económicas, estructurales y organizativas que las sitúan en una posición desventajosa con respecto a las grandes corporaciones (Erum, Rafique & Ali, 2017). Estas organizaciones no tienen la capacidad de implementar una infraestructura de red potente y de alto rendimiento como las grandes empresas (Logroño, 2017). Por esta razón, es importante adoptar alternativas tecnológicas confiables y eficientes para minimizar fallas, garantizar la gestión de los recursos digitales, ahorrar costos y elevar la productividad de las PYMEs (Pérez, Alvarez y González, 2013; Logroño, 2017).
Los servicios basados en cloud computing y en entornos de virtualización son alternativas factibles para facilitar la implementación de los diferentes sistemas digitales en las PYMEs (Logroño, 2017). La virtualización es una tecnología que permite que varias instancias de máquinas virtuales (MV) se ejecuten en un mismo servidor físico y compartan el hardware del servidor bajo el control de un hipervisor (Logroño, 2017; Pousa & Rufino, 2017; Poojara, Dharwadkar & Ghule, 2017). Los hipervisores simplifican la gestión de recursos de hardware, garantizan su utilización eficiente por parte de las MV, aceleran su despliegue y ofrecen un mejor control de la infraestructura computacional disponible (Algarni et al., 2018).
Los hipervisores se clasifican según el tipo de virtualización que soportan: virtualización completa, paravirtualización y virtualización híbrida (Reddy & Rajamani, 2014; Budhprakash, Bhatia & Bhattal, 2016; Graniszewski & Arciszewski, 2016). Los hipervisores que soportan la virtualización completa ofrecen un rendimiento casi nativo porque emulan una infraestructura para cada ordenador virtual con RAM, BIOS, Disco Duro y CPU propios (Budhprakash, Bhatia & Bhattal, 2016). Los hipervisores paravirtualizados modifican explícitamente el sistema operativo anfitrión y proporcionan una buena infraestructura virtual, aunque no proveen un completo aislamiento del sistema operativo emulado (Poojara, Dharwadkar & Ghule, 2017). Los hipervisores con virtualización híbrida utilizan las ventajas del kernel de Linux para soportar la virtualización completa y la paravirtualización (Rong, Tsai & Chen, 2013).
La virtualización juega un papel importante en el trabajo con servidores porque permite crear entornos digitales con facilidades de uso y constituye la base del cloud computing (Shrimali & Patel, 2016; Logroño, 2017; Clavijo et al., 2018). Además, contribuye a la reducción de las emisiones de carbono relacionadas con el consumo eléctrico en los centros de datos (Pérez, Alvarez y González, 2013; Ogunyemi & Johnston, 2017). Según (Ogunyemi & Johnston, 2017) y (Pousa & Rufino, 2017) las plataformas de virtualización se clasifican en dos tipos: tipo 1 (virtualización bare metal), se instalan directamente en el hardware del servidor y tipo 2 (virtualización alojada), se instalan en el sistema operativo anfitrión del usuario.
En la actualidad, existen diversos estudios sobre la virtualización de servidores (Manik & Arora, 2016; Baig et al., 2016; Clavijo et al., 2018; Ally, 2018). En estas investigaciones se analizan algunos de los principales hipervisores y plataformas de virtualización existentes en el mercado, sus características y rendimientos en determinados ambientes. Sin embargo, no se identificaron investigaciones enmarcadas en las necesidades de los clientes, específicamente enfocadas en las características y necesidades tecnológicas de las PYMEs cubanas.
La Empresa Comercializadora Frutas Selectas de Pinar del Río es una mediana empresa agroindustrial que se encuentra inmersa en el proceso de informatización y automatización de sus procesos. En esta entidad se implementa una infraestructura de red computacional donde se brindarán diferentes servicios digitales. Algunos de estos servicios son: correo electrónico, mensajería instantánea, página web institucional, navegación a internet, sistema automatizado para la agestión contable financiera, sistema estadístico y sistema para el control de los potadores energéticos. No obstante, la institución carece de equipos de cómputo de altas prestaciones y no cuenta con opciones viables para su adquisición en el mercado. La entidad posee para el rol de servidores un reducido número de equipos de propósito general con las siguientes características: CPU: core-i3 4160, RAM: 8Gb DDR3, HDD: 1TB y NIC: 1Gbps. Esta situación impulsa a la Empresa Comercializadora Frutas Selectas de Pinar del Río a investigar soluciones capaces de soportar los servicios digitales que requiere en correspondencia con sus limitados recursos computacionales.
El objetivo de esta investigación es comparar cuantitativamente el desempeño de las principales herramientas de virtualización tipo 1 basadas en Software Libre y Código Abierto (SLCA) y seleccionar según sus rendimientos la opción más eficiente para su despliegue en la Empresa Comercializadora Frutas Selectas de Pinar del Río. Se seleccionaron herramientas basadas en SLCA como alternativa a las restricciones económicas internacionales que dificultan la adquisición de tecnologías de avanzada en Cuba y para contribuir a alcanzar la soberanía tecnológica en el país.
MÉTODOS O METODOLOGÍA COMPUTACIONAL
En esta investigación se emplearon como métodos científicos el analítico-sintético, la triangulación teórica y el método experimental. El método analítico-sintético se utilizó para estudiar la bibliografía existente relacionada con el objeto de estudio, la triangulación teórica para disminuir el sesgo en la investigación y el método experimental para realizar un estudio de caso en el ambiente real de una PYME cubana. Para la búsqueda de información se utilizó la base de datos Google Scholar, que es un motor de búsqueda gratuito, geográficamente neutral, fácil de investigar y abarca mucha información (Shah, Mahomood & Hameed, 2017).
Las pruebas de rendimiento (benchmark) contribuyen a la toma de decisiones en el desarrollo, configuración y elección de sistemas digitales basados en un conjunto de parámetros (Hernández, Pérez y García, 2014; García y Garófalo, 2015 y Poojara, Dharwadkar & Ghule, 2017). En esta investigación, se utilizaron las herramientas Unixbench, iPerf3 y htop para medir el rendimiento de las diferentes plataformas de virtualización. Estas herramientas son ampliamente utilizadas en la literatura para pruebas benchmark y de escalabilidad en hipervisores (Rong, Tsai & Chen, 2013; García y Garófalo, 2015; Pousa & Rufino, 2017).
RESULTADOS Y DISCUSIÓN
Para el diseño de una red de computadoras se deben identificar y caracterizar las aplicaciones que serán soportadas con el objetivo de garantizar que la infraestructura subyacente tribute a los requerimientos de estas aplicaciones (Clavijo et al., 2018). La carga de trabajo, los requerimientos e indicadores claves de desempeño de las aplicaciones, son fundamentales para el dimensionamiento de los recursos computacionales que les darán soporte (Clavijo et al., 2018). Además, se debe analizar el rendimiento de las plataformas de virtualización porque estas influyen notablemente en la infraestructura tecnológica de los centros de datos (Algarni et al., 2018). Las organizaciones que cuentan con recursos y presupuestos limitados deben de considerar la reutilización de la infraestructura de hardware que disponen, en su mayoría equipos de propósito general para cumplir con los requerimientos técnicos de los servicios digitales (García y Garófalo, 2015).
La selección de las plataformas de virtualización a evaluar se realizó en tres pasos fundamentales y sobre la premisa de que fueran plataformas de tipo1 basadas en software libre con licencias gratuitas. En un primer momento se investigaron las principales tendencias del mercado, la Figura 1 muestra las soluciones que durante 2019 lideran el mercado mundial según el sitio G2 Crowd, Inc. Algunas soluciones como RedHat, ESXi, Citrix y Oracle VM se basan en GNU/Linux y son reconocidas por su alta eficiencia pero poseen como inconveniente que son herramientas con licencias privativas y limitan sus funcionalidades en versiones libres de pago.
Fuente (adaptado de G2 Crowd, Inc.).
En un segundo momento se realizó un estudio de la literatura y se identificaron las plataformas de virtualización más estudiadas por los diferentes autores consultados. La Tabla 1 muestra las plataformas identificadas, sus hipervisores y el tipo de virtualización que soportan.
La disponibilidad de estas plataformas en los repositorios nacionales y sus requerimientos de hardware fueron aspectos considerados para su selección. La información relativa a los requerimientos de hardware fue tomada de los sitios oficiales de los fabricantes de las plataformas. Se consideró la configuración de hardware mínima para un entorno de pruebas, aunque se recomienda potenciar estos recursos para lograr un mayor rendimiento. Por último, se realizó una triangulación de los resultados obtenidos y se determinó que las plataformas Proxmox, Ubuntu Server y oVirt cumplen con los criterios de selección establecidos (ver Tabla 2). Las plataformas seleccionadas se ejecutan sobre los sistemas operativos Debian, Ubuntu y Centos respectivamente. Se utilizaron las últimas versiones estables de estas herramientas hasta la fecha en que se realizó este estudio: Proxmox 5.4, Ubuntu Server 18.04 y oVirt 4.3.5.
Según (Shrimali & Patel, 2016) y (Algarni et al. 2018), el análisis del rendimiento de las plataformas de virtualización se determina por el desempeño de cada uno de los componentes virtuales que soportan. En correspondencia con estos criterios, en la presente investigación se realizó un análisis comparativo del rendimiento y escalabilidad de los diferentes dispositivos virtuales en cada plataforma. Para las pruebas de rendimiento se realizó el dimensionamiento de los recursos de hardware para los dispositivos virtuales en correspondencia con las fórmulas 1 y 2 propuestas por (García y Garófalo, 2015):
#de núcleos para las MV= (#procesadores del nodo)*(#núcleos lógicos de cada procesador) - 1 (1)
capacidad de RAM para las MV= capacidad de RAM del nodo - capacidad de RAM necesitada por el SO del nodo - capacidades de RAM necesitadas por los SO alojados - 1Gb (2)
Los núcleos del CPU disponibles en el ordenador anfitrión determinan la cantidad de MV que pueden ser hospedadas, en dependencia de la cantidad de núcleos de CPU que se les desee asignar. Se consideró como criterio práctico para evitar la ralentización excesiva del procesamiento de CPU la propuesta de (García y Garófalo, 2015) que establece que cada núcleo real disponible en el ordenador anfitrión no debe atender más de 4 núcleos virtuales. Según (García y Garófalo, 2015), la fórmula 2 indica la capacidad de RAM que el nodo dispone para las MV creadas, se debe considerar que se dedica 1 GB para uso exclusivo del nodo en aras de evitar la sobreexplotación de la memoria por parte de las MV. Se le otorgaron a las MV similares prestaciones de hardware respectivamente y se instaló Ubuntu Server 16.04 como sistema operativo huésped en cada una. La Figura 2 ilustra el ambiente en que se desarrollaron las pruebas.
Se definieron como parámetros para medir el rendimiento de los dispositivos virtuales: el consumo de CPU y RAM, la velocidad de lectura/escritura del disco duro y el rendimiento de la red. Estos parámetros representan componentes críticos en el desempeño de un servidor virtual (Graniszewski & Arciszewski, 2016; Poojara, Dharwadkar & Ghule, 2017; Algarni et al., 2018; Ally, 2018).
Para medir el rendimiento del CPU, RAM y disco duro se utilizó Unixbench. Esta herramienta comprueba el rendimiento a nivel de sistema operativo para distribuciones Linux e incluye pruebas de desempeño general de CPU+Memoria (Dhrystone2), rendimiento aritmético del CPU (Whetstone), copia de ficheros, creación y sustitución de procesos, entre otras (Pousa & Rufino, 2017). Unixbench realiza varias copias simultáneas de estas pruebas en el equipo y propone un índice general de rendimiento que combina los resultados obtenidos. Se utilizó la herramienta iPerf3 para medir el rendimiento de red de las MV. La Tabla 3 muestra el rendimiento de hardware y de red de los dispositivos virtuales ejecutados individualmente en cada plataforma.
Ubuntu Server 18.04 obtuvo los mejores resultados en las pruebas de rendimiento, esto demuestra que esta plataforma realiza una asignación y manejo óptimo de los recursos de hardware a una única MV, en comparación con Proxmox 5.4 y oVirt 4.3.5. Los resultados recogidos en la tabla 3 fueron utilizados como base comparativa para el análisis posterior del rendimiento de hardware y escalabilidad de las plataformas de virtualización con diferentes MV huéspedes ejecutadas bajo estrés.
Las pruebas de estrés se realizaron a 3 máquinas virtuales en cada plataforma y fueron empleadas conjuntamente las herramientas iPerf3 y Unixbench en cada una de las MV. Se utilizó la herramienta htop para medir la carga de CPU y el uso de la memoria RAM de las plataformas de virtualización durante las pruebas de estrés. Estas pruebas transcurrieron durante un período de 65 minutos y se realizaron de la siguiente forma: se inició la plataforma de virtualización, se ejecutó la herramienta htop en la plataforma, se iniciaron las máquinas virtuales y se ejecutaron las herramientas iPerf3 y Unixbench. La Tabla 4 muestra el rendimiento y escalabilidad de las MV bajo estrés.
Aunque oVirt 4.3.5 demostró un desempeño de red ligeramente superior, Proxmox 5.4 brinda mayor rendimiento de hardware a los dispositivos virtuales. En comparación con los valores recogidos en la Tabla 3, Proxmox 5.4 y oVirt 4.3.5 muestran un desempeño próximo a los índices obtenidos en las pruebas iniciales. Las Figura 3 y Figura 4 muestran respectivamente el consumo de CPU y memoria RAM de las plataformas durante las pruebas de estrés.
Proxmox 5.4 se destaca por su rendimiento de CPU y RAM seguido por Ubuntu Server 18.04. Aunque oVirt 4.3.5 muestra un consumo de memoria RAM similar a Ubuntu Server 18.04, posee el peor rendimiento de CPU. De manera general se aprecia que las plataformas de virtualización analizadas poseen un consumo de memoria RAM mínimo. No obstante, en todas las plataformas se aprecia una sobreexplotación del CPU durante las pruebas de estrés.
El rendimiento de los hipervisores es influenciado por el ambiente de trabajo y los recursos de hardware donde se desempeñan (Poojara, Dharwadkar & Ghule, 2017). (Pousa & Rufino, 2017), evaluaron el desempeño de las plataformas de virtualización VMware ESXi 6.0, Citrix XenServer 7.0, Microsoft Windows Server 2016 Hyper-V, oVirt 4.1 y Proxmox 4.4. Según estos autores VMware ESXi, oVirt y Citrix XenServer poseen los mejores resultados respectivamente. (Algarni et al. 2018), estudió el rendimiento de CPU, RAM y Disco Duro de Proxmox, Xen y KVM. (Algarni et al. 2018) arribó a la conclusión de que KVM ofrece mejor desempeño que los demás hipervisores. Según (Algarni et al. 2018), Proxmox solo se destacó en el rendimiento del CPU. (Algarni et al. 2018), no contempló el rendimiento de red en su análisis. (Ally, 2018), comparó las fortalezas técnicas de Proxmox y XenServer y analizó entre otros elementos, el tipo de virtualización de cada plataforma, sus arquitecturas, el número de MV que soportan y su compatibilidad con sistemas operativos huésped. Proxmox es superior a XenServer porque soporta la virtualización a nivel de sistema operativo mediante los contenedores Linux (LXC, por sus siglas en inglés) y es compatible con mayor cantidad de sistemas operativos huésped que XenServer (Ally, 2018).
El estudio comparativo realizado demostró que, aunque las plataformas Ubuntu Server 18.04, Proxmox 5.4 y oVirt 4.3.5 poseen similitudes respecto al tipo de hipervisor que utilizan (KVM), existen marcadas diferencias en sus rendimientos. En contraposición con lo planteado por (Pousa & Rufino, 2017) y (Algarni et al. 2018) en esta investigación se evidenció que la plataforma de virtualización Proxmox 5.4 es superior a Ubuntu Server 18.04 y oVirt 4.3.5 respecto a rendimiento de CPU, consumo de memoria RAM y escalabilidad de las MV que hospeda. Esto se debe al desarrollo y nivel de madurez alcanzado por esta solución.
CONCLUSIONES
En la presente investigación se realizaron pruebas de rendimiento y escalabilidad a las plataformas de virtualización Ubuntu Server 18.04, oVirt 4.3.5 y Proxmox 5.4. Estas plataformas poseen como característica común que son SLCA y comparten el hipervisor KVM. Las pruebas realizadas permitieron identificar que Ubuntu Server 18.04 ofrece una gestión de recursos de hardware a una única máquina virtual superior a Proxmox 5.4 y oVirt 4.3.5. No obstante, Proxmox 5.4 obtuvo los mejores resultados en las pruebas de escalabilidad y de rendimiento con varias MV ejecutadas simultáneamente bajo estrés. Esto evidencia que Proxmox 5.4 posee un mejor desempeño que Ubuntu Server 18.04 y oVirt 4.3.5 y constituye una opción eficiente para la virtualización de servidores con ahorro y uso óptimo de los recursos de hardware.
El empleo de Proxmox 5.4 como plataforma de virtualización en la Empresa Comercializadora Frutas Selectas de Pinar del Río facilita el despliegue de los diferentes servicios digitales que requiere la institución en correspondencia con los limitados recursos de hardware de la entidad. Los resultados obtenidos apoyan la toma de decisiones en centros de datos, favorecen la informatización del sector empresarial cubano y permiten afrontar de alguna manera las restricciones tecnológicas que afectan al país.
Los autores de futuras investigaciones pueden incluir en sus análisis el rendimiento de contenedores Linux que son ampliamente utilizados en la actualidad para brindar servicios telemáticos. También se propone enriquecer esta investigación mediante el estudio de nuevas versiones de las plataformas de virtualización abordadas.