Big Data as a Service: Hadoop sobre OpenStack

En FLOSSystems vamos explorando los componentes de nueva generación de OpenStack que, apoyados sobre una capa de infraestructura cada vez más sólida, nos permiten desplegar "servicios como servicio". En esta ocasión nos referimos específicamente a los servicios de Big Data. En la OpenExpo 2016 hicimos una presentación a OpenStack Sahara, que incluyó una demo en directo del despliegue de un cluster de Spark y un ejemplo de procesamiento de datos desde el cluster recién creado.

¿Qué puede aportar OpenStack al mundo Big Data? OpenStack y Hadoop se benefician mutuamente uno de otro. Mediante Sahara, OpenStack puede no solo desplegar y gestionar clusters de Hadoop de forma automatizada, sino también lanzar toda clase de trabajos para análisis y procesamiento de datos. Se puede hacer de forma sencilla, rápida y usando diferentes versiones y distribuciones de Hadoop. Sahara se apoya en prácticamente todos los componentes de OpenStack, no solo la gestión de instancias y redes, sino el motor de orquestación y el almacenamiento de objetos, lo cual convierte a Sahara en tremendamente poderoso y flexible. En suma, OpenStack provee lo mejor del mundo cloud a los clusters de Big Data.

Veamos de forma sintetizada cuáles son esas ventajas:

  • Autoprovisión
    • El usuario final puede lanzar trabajos y procesar datos desde OpenStack, sin necesidad de acceder al cluster
    • Posibilidad de lanzar clusters efímeros que simplemente ejecutan un trabajo y, una vez finalizado, se elimina
    • Reduce errores al hacerse la provisión mediante plantillas
    • Los operadores dejan de ser cuellos de botella
  • Operación
    • OpenStack aligera las dificultades operacionales de Hadoop
    • Se pueden soportar de forma centralizada y sencilla diferentes tipos de cluster de Big Data
    • El usuario final (el data scientist) puede operar íntegramente desde el panel de Sahara, sin entrar en el cluster
  • Hadoop elástico
    • Crea un pool de nodos bajo demanda para escalar hacia arriba o hacia abajo
    • Mejor aprovechamiento de recursos
    • Flexibilidad a la hora de escalar y desescalar el cluster, añadiendo (o eliminando) manualmente nodos si así se precisa
    • Disponible una potente API para gestionar todos los recursos como código
  • Hadoop multi-tenant
    • Diferentes SLAs en diferentes tenants
    • Simplifica el mantenimiento a través del aislamiento de versiones

En resumen, disponemos de una plataforma funcionalmente equivalente a Amazon EMR. Pero, a diferencia de EMR, nos permite hacer todo ello "on premise", con software libre, con el hardware elegido por nosotros y sin delegar la infraestructura en terceros (con las implicaciones en términos de privacidad y protección de datos).