viernes, 24 de octubre de 2014

Seis consideraciones para redes de big data

Las redes de big data deben ser construidas para manejar recursos distribuidos que están trabajando al mismo tiempo en una sola tarea. Eso requiere resistencia de la red, consistencia y control de las aplicaciones.

Cuando pensamos en big data, lo asociamos con el términogrande, pero cuando se trata de construir infraestructura, también deberíamos estar pensando en distribuida.

Las aplicaciones de big data, de hecho, enfrentan grandes volúmenes de información que se hacen aún más grandes a medida que los datos se replican a través de los bastidores por resiliencia. Sin embargo, la característica más significativa de big data no es su tamaño, sino su capacidad para descomponer los trabajos más grandes en muchos más pequeños, distribuyendo recursos para trabajar en paralelo en una sola tarea.

Cuando combina lo grande con una arquitectura distribuida, usted encuentra que necesita un conjunto especial de requisitos para las redes de big data. Aquí hay seis para considerar:

1. Resiliencia de la red y aplicaciones de big data

Cuando se tiene un conjunto de recursos distribuidos que se deben coordinar a través de una interconexión, la disponibilidad es crucial. Si la red no está disponible, el resultado es una colección discontinua de recursos informáticos varados y conjuntos de datos.

Apropiadamente, el enfoque principal para la mayoría de los arquitectos e ingenieros de red es el tiempo de actividad. Pero las fuentes de tiempo de inactividad en las redes son variadas. Ellas incluyen desde fallas del dispositivo (tanto de hardware, como de software) hasta ventanas de mantenimiento y error humano. El tiempo de inactividad es inevitable. Si bien es importante construir una red de alta disponibilidad, diseñarla para una disponibilidad perfecta es imposible.

En lugar de que el objetivo sea evitar el tiempo de inactividad, los arquitectos de redes deben diseñar redes que son resistentes a las fallas. La resiliencia en las redes está determinada por la diversidad de trayectos (tener más de una manera de pasar entre los recursos) y de conmutación por error (ser capaz de identificar problemas rápidamente y conectarse hacia otros caminos). Los criterios de diseño reales para las redes de big data deben incluir explícitamente estas características junto con los métodos más tradicionales de tiempo medio entre fallos o MTBF.

2. Resolviendo la congestión de la red para aplicaciones de big data

Las aplicaciones de big data no son solo grandes, sino que también tienden a ser lo que yo llamo por ráfagas. Cuando se inicia un trabajo, los datos comienzan a fluir. Durante estos períodos de alto tráfico, la congestión es una preocupación primordial. Sin embargo, la congestión puede conducir a más que retrasos por colas y pérdida de paquetes. La congestión también puede desencadenar retransmisiones, que pueden paralizar las redes ya cargadas pesadamente. En consecuencia,las redes necesitan ser diseñadas y creadas para mitigar la congestión siempre que sea posible. Al igual que con los criterios de diseño para la disponibilidad, mitigar la congestión requiere de redes con alta diversidad de trayectorias, que permita a la red diseminar el tráfico a través de un gran número de caminos entre los recursos.

3. La consistencia de la red es más el foco en big data que la latencia

La mayoría de las aplicaciones de big data en realidad no son particularmente sensibles a la latencia de red. Cuando el tiempo de cómputo se mide en segundos o minutos, incluso una contribución algo significativa de latencia desde la red –en el orden de miles de nanosegundos– es relativamente insignificante. Sin embargo, las aplicaciones de big data tienden a ser altamente síncronas. Eso significa que los trabajos están siendo ejecutados en paralelo, y las grandes desviaciones en el rendimiento a lo largo de los trabajos pueden provocar fallos en la aplicación. Por lo tanto, es importante que las redes proporcionen un rendimiento no solo eficiente, sino también consistente a través del espacio y tiempo.

4. Prepárese ahora para la escalabilidad de big data que vendrá después

Puede ser sorprendente saber que la mayoría de los clusters de big data en realidad no son tan grandes. Mientras que mucha gente sabe que Yahoo está ejecutando más de 42,000 nodos en su entorno de big data, en 2013 el número promedio de nodos de un clúster de big data era poco más de 100, de acuerdo con Hadoop Wizard. Dicho de otra manera, incluso si usted aplica dual-home a cada servidor, puede soportar el cluster completo con solo cuatro switches de acceso (suponiendo 72 puertos de acceso 10 Gigabit Ethernet por switch Broadcom).

El desafío con la escalabilidad es menos acerca de lo grande que son ahora los clusters, y más acerca de cómo escalar con gracia para futuras implementaciones. Si la infraestructura es diseñada para implementaciones pequeñas, ¿cómo va a evolucionar esa arquitectura a medida que el número de nodos aumente? ¿Exigirá una nueva arquitectura completa en algún momento? ¿Existen limitaciones físicas? ¿La arquitectura requiere algún grado de proximidad y localidad de los datos? El punto clave a recordar es que la escalabilidad es menos acerca de la escala absoluta y más sobre el camino hacia una solución suficientemente ampliada.

5. Partición de la red para manejar big data

La partición de la red es crucial al establecer entornos de big data. En su forma más simple, el particionamiento puede significar la separación del tráfico de big data del tráfico residual de la red, de manera que las demandas por ráfagas de las aplicaciones no afecten a otras cargas de trabajo de misión crítica. Más allá de eso, hay una necesidad de manejar múltiples inquilinos que ejecutan múltiples trabajos para el desempeño, el cumplimiento y/o razones de auditoría. Hacer esto requiere redes para mantener las cargas de trabajo separadas lógicamente en algunos casos y físicamente separadas en otros. Los arquitectos necesitan planear para ambos, aunque los requisitos iniciales podrían favorecer solo a uno.

6. Percepción de las aplicaciones para redes de big data

Si bien el término big data es típicamente asociado con las implementaciones de Hadoop, se está volviendo una abreviatura para entornos en cluster. Dependiendo de la aplicación, los requisitos en estos entornos en cluster pueden variar. Algunos pueden ser particularmente pesados para el ancho de banda, mientras que otros podrían ser sensibles a la latencia. En última instancia, una red que soporta múltiples aplicaciones y múltiples inquilinos debe ser capaz de distinguir entre sus cargas de trabajo y tratar a cada uno de manera apropiada.

La clave de la arquitectura de las redes para big data es entender que los requisitos van más allá de limitarse a proporcionar suficiente ancho de banda de este a oeste. En última instancia, la experiencia de la aplicación depende de una serie de otros factores, que van desde la congestión hasta la realización de particiones. La construcción de una red que pueda cumplir todas estas demandas requiere previsión, en términos no solo de cuánto debe escalar la infraestructura, sino también respecto a cómo los diferentes tipos de aplicaciones convivirán en un entorno común.

Publicado