Tabla de contenido:
Video: Technology Stacks - Computer Science for Business Leaders 2016 2025
Aunque Hadoop funciona mejor cuando está instalado en una computadora física, donde el procesamiento tiene acceso directo a almacenamiento y redes dedicadas, Hadoop tiene implementaciones alternativas. Y aunque son menos eficientes que el hardware dedicado, en ciertos casos las alternativas son opciones que valen la pena.
Servidores virtualizados
Una tendencia importante en los centros de TI durante la última década es la virtualización, donde un servidor grande puede alojar varias "máquinas virtuales" que se ven y actúan como máquinas únicas. En lugar de hardware dedicado, el conjunto completo de aplicaciones y repositorios de una organización se implementa en hardware virtualizado.
Este enfoque tiene muchas ventajas: la centralización de TI simplifica el mantenimiento, la inversión en TI se maximiza debido a la menor cantidad de ciclos de CPU no utilizados y la huella total del hardware es menor, lo que resulta en un menor costo total de propiedad.
Las organizaciones en las que las implementaciones de TI están completamente virtualizadas a veces requieren que cada nueva aplicación siga este modelo. Aunque Hadoop se puede implementar de esta manera, esencialmente como un clúster virtual (con nodos maestros virtuales y nodos virtuales esclavos), el rendimiento se resiente, en parte porque en la mayoría de los entornos virtualizados, el almacenamiento está basado en SAN y no está conectado localmente.
Debido a que Hadoop está diseñado para funcionar mejor cuando todos los núcleos de CPU disponibles pueden tener acceso rápido a discos independientes, se crea un cuello de botella ya que todas las tareas de mapa y reducción comienzan a procesar datos a través de la red limitada entre las CPU y la SAN. Dado que el grado de aislamiento entre los recursos del servidor virtualizado es limitado (los servidores virtuales comparten recursos entre sí), las cargas de trabajo de Hadoop también pueden verse afectadas por otra actividad.
Cuando el rendimiento de su servidor virtual se ve afectado por la carga de trabajo de otro servidor, eso es realmente conocido en los círculos de TI como un problema de "vecino ruidoso".
Los entornos virtualizados pueden ser muy útiles, sin embargo, en algunos casos. Por ejemplo, si su organización necesita completar un análisis exploratorio único de un conjunto de datos grande, puede crear fácilmente un clúster temporal en su entorno virtualizado. Este método a menudo es una forma más rápida de obtener la aprobación interna que soportar las complicaciones burocráticas de adquirir nuevo hardware dedicado.
A medida que experimentas con Hadoop, a menudo lo ejecutas en tus máquinas portátiles a través de una máquina virtual (VM). Hadoop es extremadamente lento en este tipo de entorno, pero si usa conjuntos pequeños de datos, es una valiosa herramienta de aprendizaje y prueba.
Implementaciones en la nube
Las variaciones de entornos virtualizados son proveedores de computación en la nube como Amazon, Rackspace e IBM SoftLayer. La mayoría de los principales proveedores de nube pública ahora tienen ofertas de MapReduce o Hadoop disponibles para su uso. Una vez más, su rendimiento es inferior al despliegue de su clúster en hardware dedicado, pero está mejorando.
Los proveedores de la nube están haciendo que los entornos Hadoop optimizados estén disponibles donde los nodos esclavos tienen un almacenamiento conectado localmente y una red dedicada. Además, los hipervisores son cada vez más eficientes, con una sobrecarga y una latencia reducidas.
No considere una solución en la nube para aplicaciones a largo plazo, porque el costo de alquilar recursos de computación en la nube es significativamente más alto que el de poseer y mantener un sistema comparable. Con un proveedor de la nube, está pagando por la comodidad y por poder descargar la sobrecarga del hardware de aprovisionamiento. Sin embargo, la nube es una plataforma ideal para pruebas, educación y tareas de procesamiento de datos de una sola vez.
Además de las consideraciones de rendimiento y costo, tiene consideraciones reglamentarias con las implementaciones de nubes públicas. Si tiene datos confidenciales, que deben almacenarse internamente o en el país, una implementación en la nube pública no es una opción. En casos como este, donde necesita la comodidad de una implementación basada en la nube, una nube privada es una buena opción, si está disponible.
