Logouex Transp W100xh100

El pasado mes de julio María Bermejo Corrales, estudiante del Master Universitario en Ingeniería de Telecomunicación de la Universidad de Extremadura, defendió su trabajo de fin de master (TFM) realizado en colaboración con el Centro Extremeño de Tecnologías Avanzadas (CETA-Ciemat). El TFM, dirigido por el Dr. Juan Antonio Gomez Pulido (Universidad de Extremadura) y codirigido por Miguel Ángel Díaz Corchero (CETA-Ciemat) presenta una novedosa temática aplicable al tan emergente mundo del Big Data y el Cloud Computing.

mongodb logo largeEl término Big Data es un concepto que ha surgido recientemente y está relacionado con las grandes cantidades de datos que últimamente se están generando y acumulando, así como los procesos necesarios para manipular y procesar tales datos. Existen varios sistemas software que tratan con Big Data, entre ellos MongoDB, que destaca por ser un sistema gestor de base de datos distribuida (compuesto por varios servidores), con capacidad de replicación de datos y con otras características y prestaciones adicionales.
openstack logo 263x300Por otro lado, Cloud Computing es un nuevo tipo de computación donde se ofrece un servicio de aprovisionamiento de recursos de cómputo de forma dinámica, escalable y sencilla. Aunque existen varios tipos de Cloud Computing, el TFM está centrado en el tipo IaaS (Infraestructura como Servicio), donde los recursos aprovisionados son servidores, redes y almacenamiento virtual. El software líder de código abierto que se encarga de maniobrar con dicho aprovisionamiento se llama OpenStack, montado en la infraestructura cloud de producción del CETA-Ciemat. El escalado que ofrece Cloud Computing, en este caso OpenStack, solventa las deficiencias que actualmente presenta la tecnología de Big Data en cuanto a crecimientos masivos no esperados.

El trabajo, con título "Desarrollo de un sistema de autoescalado dinámico de base de datos distribuida MongoDB sobre una plataforma cloud OpenStack", consta del análisis, diseño e implementación de una sistema piloto que escala o incrementa el espacio disponible de un tipo de  base de datos comúnmente utilizada para Big Data, MongoDB. Teniendo en cuenta el almacenamiento de la base de datos y los recursos que se están usando en un determinado momento, se procederá al escalado de ésta para así evitar su saturación y mejorar su disponibilidad y rendimiento en tiempo de ejecución.

La base de datos MongoDB será cargada progresivamente para trabajar en una situación lo más real posible, forzando las desafortunadas situaciones que se encuentran los administradores, en este caso haciendo hincapié en la saturación del almacenamiento. A su vez, una de las ventajas de MongoDB es su facilidad de escalado horizontal empleando un método de almacenaje (Sharding) que reparte los datos por los diferentes servidores que se tengan configurados en la infraestructura. Considerando las características de almacenamiento de MongoDB, el nuevo sistema desarrollado monitorea continuamente la base de datos controlando el crecimiento de disco usado entre los diferentes servidores para así ampliar los recursos en el instante preciso y en tiempo de ejecución.

El sistema de escalado automático se realiza bajo el entorno cloud OpenStack. Gracias a las capacidades de disponibilidad de recursos virtualizados y la completa interfaz de programación de aplicaciones (API) que ofrece OpenStack se pueden levantar servidores virtuales bajo demanda y adaptar dichos servidores virtuales a la configuración deseada. Los nuevos servidores virtuales desplegados pasarán a integrarse como servidores de almacenamiento del propio MongoDB, aumentando así las capacidades de la base de datos. La integración de los nuevos servidores se realiza en tiempo de ejecución y sin parada de la base de datos, sin penalizar en ningún momento la calidad de servicio.

Cabe destacar que la integración de nuevos servidores en la base de datos se realiza agregando nuevos conjuntos de servidores (replica-sets) para poder replicar los datos y así mantener el nivel de redundancia de datos deseado evitando desastres futuros provocados por algún fallo inesperado. En la fase de desarrollo y experimentación se ha usado la infraestructura OpenStack del CETA-Ciemat, donde se ha creado la base de datos llegándose a escalar hasta un 400% en las fases más maduras del trabajo.

El análisis y diseño resultante, junto con la experimentación, ha sido un reto muy ambicioso para las tecnologías de Big Data y Cloud Computing y ha aportado beneficios substanciales al Big Data. Es por ello que el análisis y el diseño obtenidos en este TFM han sido enviados a un congreso internacional de Cloud Computing con el objetivo de obtener su publicación y divulgación correspondiente.

Fuente: CIEMAT