Typesetting
Tue, 30 Jan 2024
Comparación del rendimiento entre las plataformas para IAAS Open Source: OpenStack y CloudStack
Abstract
Introduction: The implementation of an IaaS platform at UNACH represents a great opportunity to improve the technological infrastructure of the institution, strengthen the capacities of students and teachers, and promote innovation and competitiveness. Objective: To compare OpenStack and CloudStack platforms through performance in a virtualised environment for the implementation of a private cloud at the National University of Chimborazo. Methodology: The establishment of the scenario included the installation of three nodes: the controlling node, the computation node and the storage node deployed on Proxmox VE. Results: The analysis of each of the dimensions of the FURPS model was carried out with a sample of 35 tests, an error rate of 0.05%, the first time the normality of the data and the corresponding contrast tests, obtaining this way for the processing time of a difference of 5.6% The best use of OpenStack The use of RAM with 0.89%, The use of the CPU with 2.67% and Outgoing Network Traffic with a 2.07%. Conclusion: a general result was calculated through a multicriteria analysis with the NAIADE method, obtaining that the performance is similar.
Main Text
Introducción
Según Tam Malaga (2015), la computación en la Nube “es parte de la realidad de este tiempo, como concepto se encuentra en la mente de todos e implica que consideremos, de una manera totalmente distinta, los límites en capacidad de almacenamiento, procesamiento y ancho de banda; distinta de cuando sólo se dispone de las capacidades de la infraestructura propia (ya sea de la persona o de la organización). En otras palabras, muchas iniciativas que serían imposibles de considerar por la alta inversión en infraestructura hoy son posibles gracias a la nube”.
Infraestructura como Servicio (IaaS) es uno de los tipos de computación en la nube que ofrecen varios de las opciones que se encuentran en el mercado, mediante estas soluciones, los usuarios pueden emplear recursos virtuales, como servidores virtuales, redes virtuales, router virtuales bajo demanda (Yamoto, 2018). En el paradigma de la computación en la nube, el proveedor de IaaS puede proporcionar recursos básicos (es decir, CPU, memoria RAM, almacenamiento, redes) como instancias virtuales a los usuarios (estudiantes, docentes) (Zangara et al., 2015), eliminando la necesidad de que los usuarios posean y operen estos recursos, lo que puede conducir a un mejor desempeño en sus actividades (Salam et al., 2015).
OpenStack y CloudStack son las plataformas open source para Cloud más utilizadas en la actualidad y su uso sigue en aumento (Yamoto et al., 2014). OpenStack es un software en la nube que ofrece la capacidad de controlar grandes logros de cómputo, almacenamiento y recursos de red (Sharma, 2015), por otro lado CloudStack es una plataforma de software de código abierto, escrito en Java, diseñado para el desarrollo y la gestión de la Infraestructura de nube como un servicio (IaaS) (Sabharwal & Shankar, 2013).
Debido al auge de las diferentes ofertas para la implementación de servicios IaaS, existen varios estudios que analizan los diferentes parámetros de funcionamiento como el de Yamato et al. (2015) que realiza un estudio de desarrollo del servidor de gestión de recursos permitiendo la producción de servicios en la nube basados en OpenStack, midiendo el rendimiento de los múltiples usos de las API para demostrar que esta implementación reduce el tiempo de espera por parte de los usuarios.
Badia et al. (2013) presenta mecanismos diseñados para el despliegue automatizado de las principales plataformas IaaS de código abierto: Nimbus, OpenNebula, CloudStack y OpenStack permitiendo a los usuarios comparar cada arquitectura y el rendimiento ofrecido por cada una de ellas para hacer uso de acuerdo con sus necesidades.
Kim et al. (2017) hace una comparación de las plataformas OpenSource: CloudStack y OpenStack proporcionando sus propias interfaces de programación (API) para gestionar los recursos de la nube que cada una de ellas ofrecen. Además, muestra los detalles de implementación de la API integrada y la evaluación del rendimiento. Concluyendo que la sobrecarga impuesta en la interfaz es insignificantemente pequeña y puede ser utilizada con éxito para el acceso multi-cloud.
Hahm et al. (2014) hace un análisis de las plataformas OpenSource: OpenStack, CloudStack y OpenNebula, seleccionando CloudStack para comprobar las funcionalidades y el rendimiento que esta plataforma ofrece a través de escenarios de prueba.
La Universidad Nacional de Chimborazo (UNACH) cuenta con el Centro de Tecnologías Educativas (CTE), en el cual se encuentra una infraestructura tecnológica donde están alojadas, aplicaciones informáticas para los procesos regulares de la institución, tanto académica como administrativa. Dentro de las tareas académicas, varios de los proyectos que se desarrollan requieren de infraestructura tecnológica para su implementación, por lo que una solución iCloud es requerida. Es importante por ello implementar una plataforma IaaS que ofrezca un alto rendimiento, abarcando las diferentes dimensiones como: tiempo de respuesta, tiempo de procesamiento y consumo de recursos, así de esta manera se espera que los estudiantes y docentes de la UNACH puedan realizar soluciones informáticas que les permitan ponerse al día en el creciente auge de la tecnología.
La presente investigación tiene como objetivo realizar la comparación del rendimiento entre las plataformas IaaS Open Source OpenStack y CloudStack para su posterior implementación de un servidor iCloud IaaS en la Universidad Nacional de Chimborazo.
Para la comparación se llevó a cabo en primera instancia una revisión bibliográfica de las herramientas motivos de la comparación, posteriormente se seleccionó dimensiones e indicadores de comparación obtenidas del modelo FURPS. Posteriormente se realizó la implementación del escenario de pruebas sobre un servidor Proxmox VE donde se obtuvieron las muestras con cada plataforma. A continuación, se aplicaron algoritmos estadísticos para la verificación de diferencias existentes entre las plataformas, así como un análisis multicriterio para un resultado general, al final se detallan las conclusiones del trabajo donde se muestra una ligera ventaja de OpenStack sobre CloudStack en varios indicadores analizados.
Para Celaya & Sakellariou (2014), Cloud computing se podría definir como un modelo de servicio a través de Internet donde se comparten una amplia gama de recursos TIC: red, aplicaciones, servicios, almacenamiento, infraestructuras, etc. De esta manera las empresas se pueden centrar en su negocio externalizando (outsourcing) determinados servicios. Estos servicios se caracterizan por ser escalables, bajo demanda, flexibles y seguros. Permiten a las empresas focalizarse en sus ventajas competitivas y convertir las inversiones en un gasto variable. Para Clavijo & Ledesma & Duque (2018), el Cloud Computing, se refiere a un conjunto de servicios ofrecidos a través de internet, mediante aplicaciones configuradas por medio de la convergencia de hardware y software en centros de datos alrededor del mundo.
La base de las soluciones de Cloud Computing es la virtualización. La virtualización es un marco o metodología de dividir los recursos de una computadora en múltiples Entornos de ejecución, aplicando uno o más conceptos o tecnologías tales como partición de hardware y software, tiempo compartido, simulación parcial o completa de la máquina, emulación, calidad de servicio, y muchos otros. El software de virtualización hace posible ejecutar múltiples sistemas operativos y múltiples aplicaciones en el mismo servidor al mismo tiempo (Sharma, 2015).
Para Portnoy (2012), la virtualización es el motor que impulsará la computación en la nube al convertir el centro de datos, que solía ser un proceso práctico e intensivo para las personas, en un “autogestionable”, altamente escalable, altamente disponible, pilas de recursos fácilmente consumibles. Antes de la virtualización, los administradores de sistemas gastaban el 70 por ciento o más de su tiempo en funciones de rutina y reaccionar a los problemas, que dejaron poco tiempo para la innovación o el crecimiento. La virtualización y, por extensión, la computación en la nube brinda mayores oportunidades de automatización que reducen los costos administrativos y aumentar la capacidad de una empresa para implementar soluciones dinámicamente.
IAAS significa Infraestructure as a Service o Infraestructura como servicio. Es un modelo de distribución de infraestructura de computación como un servicio, normalmente mediante una plataforma de virtualización. En vez de adquirir servidores, espacio en un centro de datos o equipamiento de redes, los clientes compran todos estos recursos a un proveedor de servicios externo. Dicho de otra forma, lo que ofrece el proveedor en este caso son máquinas virtuales, ya sean Linux, Windows u otros sistemas operativos. El cliente instala sus aplicaciones en ellas, así como la arquitectura necesaria, etc.
Entre los diferentes proveedores IAAS públicos que se encuentran en el mercado destacan Amazon Web Services (AWS) e IBM SmarthCloud, Entre las opciones para la implementación de IAAS privados se tienen a OpenStack y CloudStack.
Los componentes que conforman la arquitectura de las plataformas Open Source: OpenStack y CloudStack donde se puede observar que OpenStack brinda la posibilidad de dividirse en 3 nodos al momento de su implementación (CloudStack.apache.org, 2016; OpenStack.org, s.f.; European Commission, 2010), como se muestra en la figura 1.
Se plantea un análisis comparativo de las propiedades (Sabharwal & Shankar, 2013; Sharma, 2015), que ofrecen las plataformas Open Source: OpenStack y CloudStack al momento de ser implementadas, como se muestra en la figura 2.
Metodología
La investigación, de acuerdo con Tamayo (2006), se define como “un esfuerzo que se emprende para resolver un problema claro está, un problema de conocimiento”, por su lado, Ibarra & Onofre (2022), la definen como “una actividad encaminada a la solución de problemas. Su objetivo consiste en hallar respuesta a preguntas mediante el empleo de procesos científicos”. En la tabla 1 se observa los resultados de la búsqueda bibliográfica del tema motivo de investigación
Según el objeto de estudio la presente investigación es del tipo aplicativa, la cual tiene por objetivo la generación de conocimiento con aplicación directa y a mediano plazo en la sociedad o en el sector productivo. Este tipo de estudios presenta un gran valor agregado por la utilización del conocimiento que proviene de la investigación básica. (Lozada, 2014). Según el nivel de medición y análisis de la información, es una investigación descriptiva, la cual consiste en la caracterización de un hecho, fenómeno, individuo o grupo, con el fin de establecer su estructura o comportamiento. Los resultados de este tipo de investigación se ubican con un nivel intermedio en cuanto a la profundidad de los conocimientos se refiere.
Para el análisis de los indicadores la muestra utilizada es 35 pruebas, para cada una de las dimensiones con sus diferentes indicadores.
Al trabajar directamente con equipos, el procedimiento que se adoptan es la investigación documental de las plataformas Open Source propuestas, que permitan implementar y verificar su código, a través de su documentación que se encuentra alojadas en las páginas web de las comunidades de software libre, utilizando el método científico el cual contiene los siguientes pasos:
    La información relacionada a la investigación es analizada y presentada en figuras, con los análisis estadísticos de Shapiro-Wilk para las pruebas de normalidad cuya aplicación es apropiada en tamaño de muestras inferiores a 50 (Razali & Wah, 2011). Por otra parte, para las pruebas de normalidad en grupos de muestras mayores o igual a 50 como fue el caso del tiempo de procesamiento con 385 pruebas, se utilizó el análisis estadístico de Kolmogorov-Smirnov, apropiado para este tipo de conjunto de datos.
    Una vez realizada la prueba de normalidad, puede resultar dos escenarios, el primero correspondiente a datos sin una distribución normal (Nachar, 2008), y el segundo a datos con una distribución normal, en ambos casos se procederá con las pruebas de análisis de significación, que para el primer escenario (datos no normales) se utilizó la fórmula de U de Mann-Whitney mientras que para el segundo escenario (datos normales) se utilizó la prueba t.
    Para los casos en las que existió una diferencia significativa, la fórmula de variación porcentual fue utilizada para encontrar la diferencia expresada en porcentaje entre ambas plataformas, la fórmula es la siguiente:
    Donde:
    • VP es la variación porcentual expresada en porcentaje
    • VMayor es el valor mayor de entre los datos a comparar
    • VMenor es el valor menor de entre los datos a comparar
    La evaluación del rendimiento de sistemas informáticos ha sido abordada en diferentes trabajos de investigación, cada uno de ellos proponiendo una cantidad de variables e indicadores, para el presente trabajo se ha seleccionado los indicadores que proponen tanto el modelo FURPS (Constanzo, 2014), así como el propuesto por Comas & Nogueira & Medina (2014), entre las que se mencionan las siguientes dimensiones e indicadores:
    • Tiempo de respuesta: Tiempo en milisegundos que tarda en completar una tarea, desde el momento que se invoca hasta que se recibe la respuesta, este indicador será realizado mediante pruebas de ping al servidor.
    • Tiempo de procesamiento: Tiempo en milisegundos que se tarda en completar una tarea, este indicador se llevará a cabo con tareas como: crear, eliminar, bloquear, suspender, reiniciar y acceder a una instancia (máquina virtual).
    • Consumo de recursos: El consumo de recursos se divide a su vez en 3 subcriterios como son: Uso de CPU expresado en porcentaje, Uso de Memoria RAM expresado en MegaBytes, Lectura de Disco expresado en KiloBytes y Tráfico de Red tanto de entrada y salida expresado en KiloBytes.
    • Eficacia: Número de tareas completadas sin errores.
    Importante indicar que, para la presente investigación con excepción del indicador de eficacia, en todos los demás el objetivo es minimizar los tiempos y consumo de recursos.
    La herramienta para el análisis de datos es el paquete informático IBM SPSS Statistics, que es un conjunto de herramientas de análisis predictivo y de datos completo, enfocado para usuarios empresariales, analistas y programadores estadísticos (IBM SPSS Statistics Family, 2015). Existen versiones comerciales, así como versiones estudiantiles para el aprendizaje. Para la generación de los gráficos estadísticos se utilizó el programa de hoja de cálculo Excel.
    Las dimensiones propuestas para el análisis del rendimiento miden diferentes aspectos que inciden en el resultado final, sin embargo, contienen unidades de medidas diferentes, para la consolidación de los datos obtenidos de las pruebas, en este caso las medias estadísticas de cada dimensión, se utilizó el método conocido como NAIADE (Munda, 2006). NAIADE (Novel Approach to Imprecise Assessment and Decision Environments) es un método multicriterio discreto, cuya matriz de impacto (o evaluación) puede incluir medidas claras, estocásticas o indefinidas del desempeño de una alternativa con respecto al criterio de evaluación, por tanto este método es muy flexible para aplicaciones del mundo real. NAIADE ha sido creado y desarrollado en varias versiones por el profesor Giuseppe Munda (Falconí & Burbano, 2004).
    Para la implementación de las pruebas se utilizó el hipervisor Proxmox VE que es una plataforma completa de código abierto para la virtualización empresarial. Con la interfaz web integrada, puede administrar fácilmente máquinas virtuales y contenedores, almacenamiento y conexión definidos por software, agrupación de alta disponibilidad y múltiples herramientas listas para usarse en una sola solución (Proxmox Server Solutions GmbH, 2004-2017), además permite obtener datos sobre la el rendimiento, porcentaje de RAM utilizada, CPU, velocidad de procesamiento, tráfico de red de las instancias, que permitió la obtención de indicadores para la investigación.
    Para la realización de la solución se propone el siguiente escenario aplicado en la instalación de las plataformas OpenStack y CloudStack (ver tabla 2).
    Para la implementación del escenario de pruebas se lo realizó sobre un servidor Proxmox VE en la cual de un modo anidado se instaló las plataformas OpenStack y CloudStack, así como el servidor para el monitoreo de la utilización de recursos, cuya disposición se observa en la figura 3.
    El Hardware de las máquinas virtuales para cada plataforma, así como del servidor utilizado para el monitoreo se detallan en las tablas 3 y 4.
    La arquitectura de implementación para cada plataforma se utilizó la denominada “Todo en Uno”, que se observan en las figuras 4 y 5.
    Resultados
    Se destacan los resultados relevantes sin incurrir en repeticiones de información.
    En el presente apartado se muestran los resultados de la evaluación del rendimiento de cada plataforma en cada una de sus dimensiones como tiempo de respuesta, tiempo de procesamiento y consumo de recursos.
    Con las pruebas de normalidad de Shapiro-Wilk, se observa que con un nivel de significancia de 0.00 tanto para OpenStack como para CloudStack, los datos no son normales, como se observa en la tabla 5.
    Realizando la prueba de contraste se observa un valor de U de Mann-Whitney de 570 y una significancia asintótica (bilateral) de 0.618 mayor a 0.5, por lo tanto, se evidencia que NO existe una diferencia significativa en cuanto al tiempo de respuesta entre ambas plataformas (ver tabla 6).
    Para la dimensión del tiempo de procesamiento se han llevado a cabo las siguientes tareas: crear, eliminar, apagar, encender, reiniciar, suspender, reanudar, bloquear, desbloquear, snapshot y de ingreso a la consola de una instancia, para cada tarea se ha analizado la normalidad de los datos mediante la prueba de Shapiro-Wilk, donde como resultado se obtuvo que los datos no son normales en todos los casos de prueba como se observa en la tabla 7.
    A continuación, se procede con el análisis de los datos aplicando la prueba de U de Mann-Whitney, donde se observa en la tabla 8 que el nivel de significancia asintótica es menor a 0.05 en todos los casos por lo cual se acepta la hipótesis nula, la cual establece que si existe una diferencia significativa entre las plataformas en cada una de las tareas llevadas a cabo.
    En la figura 6 se observa la comparación de las medias estadísticas de cada tarea de la dimensión Tiempo de Procesamiento, en la que se observa que OpenStack obtiene un mejor desempeño ya que requiere de menos tiempo en segundos para ejecutar las tareas.
    Consolidando los datos del tiempo de procesamiento se realiza un análisis de todas las tareas, procediendo a la prueba de normalidad, como en este caso la cantidad de datos supera las 50 pruebas, por lo que se utiliza la fórmula de Kolmogorov-Smirnov, donde se evidencia con un nivel de significancia de 0, que los datos NO poseen una distribución normal como se observa en la tabla 9.
    Realizando la prueba de contraste se observa que el valor de la significancia asintótica es menor a 0.05 por lo tanto se evidencia que, SI existe una diferencia significativa en cuanto al tiempo de procesamiento entre las dos plataformas motivo del estudio, con lo cual se corrobora el análisis previo con cada tarea de la dimensión del tiempo de procesamiento (ver tabla 10).
    En la figura 7 se observa la comparación del tiempo de procesamiento entre las dos plataformas, donde OpeStack obtiene un mejor rendimiento al requerir un promedio de 10.3 segundos, frente a los 10.9 segundos de CloudStack para completar las tareas.
    Para la dimensión del consumo de recursos se ha dividido en 4 indicadores:
    • Uso de memoria RAM, expresado en Giga Bytes de utilización.
    • Uso de CPU, expresado en porcentaje de utilización.
    • Lectura de Disco, expresado Kilo Bytes de utilización y,
    • Tráfico de red entrante y saliente expresados en Kilo Bytes.
    Para la recolección de los datos de cada indicador se utilizó la consola de rendimiento de Proxmox como se observa en la figura 8, 9, 10 y 11.
    En la tabla 11 se observan los resultados de las pruebas de normalidad para cada indicador, donde se evidencia que únicamente los datos del indicador “Lectura de disco” (en ambas plataformas) y “Tráfico de Red Entrante” de Cloud Stack presentan un comportamiento normal, por lo tanto para el análisis de contraste de los indicadores RAM, CPU y Tráficos de Red se utilizó la prueba de U de Man-Whitney mientras que para la Lectura de Disco mediante la prueba t.
    En la tabla 12 se observa los resultados de las pruebas de contraste para los datos no normales correspondientes a la utilización de RAM, CPU y Tráfico de Red (Entrante y Saliente), donde se evidencia que el nivel de significancia tanto para la RAM, CPU y Tráfico Saliente es menor a 0,05, por lo tanto, SI existe una diferencia significativa, mientras que para el Tráfico Entrante el valor es 0.391 mayor a 0,05 por lo tanto NO existe una diferencia significativa entre las plataformas.
    En la figura 11 se muestran las comparaciones de las medias estadísticas de los indicadores donde si existe una diferencia significativa, como son los casos de Uso de RAM, CPU y Tráfico Saliente, se observa que de igual manera OpenStack tiene una ligera ventaja al requerir menor cantidad de recursos para llevar a cabo el trabajo.
    La tabla 13 muestra los resultados de la prueba de contraste de los datos normales correspondientes a la Lectura de disco, utilizando la prueba t se obtiene un nivel se significancia de 0.186, cuyo valor es mayor a 0.05, con lo cual se evidencia que no existe una diferencia significativa entre las plataformas en esta dimensión.
    Para la dimensión de eficacia se tomó en cuenta las tareas llevadas a cabo sin errores, que en ambas plataformas se completaron satisfactoriamente.
    Una vez obtenidos los resultados del análisis de todas las dimensiones, se obtiene la tabla de medias estadísticas de cada dimensión como se observa en la tabla 14.
    Aplicando la fórmula de variación porcentual (Fórmula 1) especificada en el apartado 3.4 (Procesamiento y Análisis), se obtiene la tabla 15 con los datos consolidados donde se muestra la diferencia porcentual en los casos donde hubo una diferencia significativa como son: el tiempo de procesamiento, y consumo de recursos (utilización de memoria RAM, utilización de CPU y Tráfico de Salida).
    Adicionalmente, para obtener un resultado general se utilizó el análisis multicriterio con el método NAIADE propuesto por Munda (2006), en la tabla 12 se muestran la matriz de impacto con las medias estadísticas obtenidas por cada dimensión e indicador la cual fue ingresada en el programa informático.
    Como resultado de la prueba de verdad se obtiene que, tomando en cuenta los diferentes criterios NO se evidencia que exista una diferencia entre ambas plataformas, como se observa en la figura 13.
    Conclusiones
    • Las plataformas OpenStack y CloudStack son en la actualidad alternativas ampliamente utilizadas para la implementación de soluciones iCloud, permitiendo el ahorro de costos de licenciamiento en las organizaciones que requieren de estos servicios.
    • Mediante el análisis multicriterio de NAIADE se constató que no existe una diferencia marcada entre las plataformas OpenStack y CloudStack en los diferentes criterios, mientras que realizando un análisis estadístico más detallado e individual por cada dimensión, se evidenció que existe una diferencia significativa a favor de OpenStack en la dimensión de tiempo de procesamiento con un 5.68% de mejora así como en los indicadores de uso de RAM 0.89%, uso de CPU 2.67% y Tráfico de Red Saliente 2.07%.
    • El utilizar la virtualización anidada permitió simular escenarios reales para las pruebas tanto para Openstack y Cloudstack. En la implementación de la plataforma Openstack utilizando la arquitectura por Nodos Separados se obtuvo un mejor resultado en cuanto al rendimiento frente a la arquitectura Todo en Uno.
    Abstract
    Main Text
    Introducción
    Metodología
    Resultados
    Conclusiones