La Arquitectura de Big Data en Pocos Trazos

Big

Big Data for Dummies

Un extracto del libro Big Data for Dummies nos muestra los diversos elementos que abarca el stack de Big Data, incluyendo herramientas para capturar, integrar y analizar.

 

 

 

 

Tal como ocurre con cualquier arquitectura de datos de envergadura, es necesario diseñar un modelo que tenga en cuenta a todos los elementos con los que se actuará dentro de la misma. Si bien esto puede ser incialmente trabajoso, sabemos que un buen diseño luego ahorrará muchas horas de desarrollo y evitará fracasos en las futuras implementaciones. Big Data, según los autores de esta obra, debe ser pensada como estrategia y no como proyecto.

Tener en cuenta a los mejores principios o prácticas de diseño será crítico a la hora de crear o evolucionar un entorno capaz de soportar a big data. Esto será así ya sea que se trate de lo que tenga que ver con almacenamiento de datos, analíticos, generador de reportes o aplicac1iones que correrán en ese entorno. El entorno de Big Data debe prever sus elementos de hardware, software de infraestructura, software operativo, software de administración, APIs (Application Programming Interfaces) adecuadamente definidas y hasta herramientas de desarrollo de software específicas. La arquitectura, en síntesis, deberá ser capaz de atender a los requerimientos básicos que, de alguna manera, se puede decir que son los clásicos de toda arquitectura de procesamiento de datos:

Captura, Integración, Organización, Análisis y Acciones.

En su trabajo Big Data for Dummies, sus autores Judith Hurwitz, Fern Halper y Marcia Kaufman, presentan un esquema con las capas que componen una arquitectura de referencia para Big Data. Si bien los enfoques pueden variar, especialmente cuando manejados por los diferentes proveedores, esta referencia se puede considerar como un marco desde el cuál pensar sobre las tecnologías que componen a Big Data y también puede atender a ciertos requerimientos en cuanto a proyectos afines.

El gráfico que veremos a continuación es de un alcance muy amplio y en ciertos casos el lector querrá centrarse en algunos de sus aspectos que hacen al proyecto que pueda estar manejando en particular. Si embargo, los expertos coinciden en que es muy importante comprender a todo el stack o conjunto si se quiere estar preparado para el futuro. En algún momento sin duda habrá que utilizar alguno de los elementos de este framework para resolver algún problema.

Big Data

Infraestructura física redundante.

En la capa cero de la figura está la infraestructura física compuesta por hardware, red y otros elementos. Es posible que una compañía ya tenga su centro de datos o haya realizado inversiones importantes en infraestructura física, por eso la mayoría contempla la posibilidad de aprovechar los activos existentes en un proyecto Big Data. Pero los proyectos Big Data tienen requerimientos muy específicos en relación a todos los elementos de la arquitectura de referencia y por eso será necesario examinar esas necesidades capa por capa si se quiere estar seguro de que la implementación funcionará y escalará según lo demande el negocio. En el momento mismo en que se comienza a trazar una estrategia para la implementación de Big Data, es importante establecer algunos principios generales a seguir y aplicar. Una lista de esos principios debería incluir definiciones acerca de los siguientes puntos:

Performance- Cuál deberá ser la capacidad de respuesta que hace falta. Acá estamos hablando de latencia, un elemento que suele medirse a lo largo del sistema mediante una transacción o consulta. Los sistemas de alta performance y muy baja latencia, que son los más rápidos dicho en pocas palabras, requieren de una infraestructura que es bastante costosa.

Disponbilidad. Grado de tiempo activo garantizado para un servicio adecuado. Establecer qué tanto tiempo puede esperar el negocio de la empresa sin sufrir pérdidas sensibles en el caso de que se produzca una falla o interrupción del servicio. Recordemos que las infraestructuras de alta disponibilidad son también muy costosas.

Escalabilidad. Qué clase de infraestructura se necesitará, qué espacio en discos actualmente y en el futuro. Qué nivel de potencia de computación. Esos son algunos de los temas sobre los que habrá que decidir, estableciendo qué hace falta y prever algo más para escalar frente a problemas inesperados.

Flexibilidad. Velocidad con los que se pueden agregar o reemplazar recursos en la infraestructura. Qué tan rápido se recuperará la infraestructura de sus fallos. Las infraestructuras más flexibles también son costosas. Aquí se puede decir que los servicios cloud pueden ayudar a controlar esos costos ya que se paga sólo por lo que se utiliza.

Costos. Es bueno tener bien claro cuánto se puede gastar antes de comenzar el proyecto. Dado que esta infraestructura es un conjunto de componentes, uno puede decidir si comprará lo mejor en networking y ahorrará en storage , por ejemplo. Hará falta establecer los requerimientos en cada una de las áreas de infraestructura en el contexto de un presupuesto general donde luego habrá que hacer intercambios o sustituciones de ser necesarias.

Dado que Big Data tiene que ver con velocidad, alto volumen y gran variedad de datos, la infraestructura física será la que posibilite o imposibilite la implementación. La mayor parte de las implementaciones Big Data necesitan alta disponibilidad y por eso los servidores de redes y el almacenamiento físico deben ser resilentes o “resistentes” y redundantes, dos propiedades que se interrelacionan. Una infraestructura o un sistema son resilentes ante cambios o fallas cuando existen suficientes recursos redundantes y prestos a entrar en acción. En esencia, siempre habrá casos en los que hasta los más sofisticados y resilientes contextos puedan fallar debido a un mal funcionamiento de hardware. Es por eso que la redundancia será la que determine que un mal funcionamiento no cause una caída completa.

Esta resistencia es la que ayuda a eliminar los SPF (Single point of failure) de la infraestructura. Por ejemplo, si existe sólo una conexión de red entre la empresa e Internet, no hay redundancia de red y la infraestructura no es resistente ante una caída de esa conexión. En los grandes centros de datos con requerimientos de continuidad del negocio, la redundancia está presente y puede ser apalancada para crear un entorno Big Data. En nuevas implementaciones que arrancan de cero, los encargados del diseño tienen la responsabilidad de mapear el despliegue en base a las necesidades del negocio y sus elementos de costo y performance.

A medida que son cada vez más los proveedores que ofrecen plataformas basadas en cloud (PaaS, Platform as a Service), la responsabilidad del diseño de la infraestructura de hardware suele quedar en manos de esos proveedores de servicios. Eso equivale a decir que la complejidad técnica y operativa queda enmascarada debajo de una varieda de servicios, cada uno de ellos con sus propios términos específicos en cuanto a performance, disponibilidad, recuperación ante desastres y otros. Esos términos son establecidos en acuerdos de niveles de servicios (SLA, por Service Level Agreements) que generalmente se negocian con el proveedor de servicios y se pactan penalidades por falta de cumplimiento.

Por ejemplo, si se contrata a un proveedor de servicios admnistrados, la empresa usuaria se libera de los problemas asociados con el entorno físico y los componentes principales del data center. Las redes, servidores, sistemas operativos, tejido de virtualización, herramientas de administración de requisitos y las operaciones diarias, quedan en manos de un tercero. De esa manera, se cuenta con un centro de datos virtual y uno puede hacer la elección más conveniente entre las ofertas de servicio disponibles. Si bien existen SLAs, es la empresa usuaria la que tiene la última responsabilidad  por la performance, tanto hacia sí misma, como hacia sus clientes y partners.

Redes con elementos físicos redundantes

Las redes deberían siempre ser redundantes y con suficiente capacidad para atender, anticipándose a la posibilidad de que al volumen y velocidad de datos que ingresan y salen excedan el tráfico considerado normal en la empresa. A medida que Big Data se va convirtiendo en una parte integral de la estrategia de computación de una organización, es razonable esperar que el volumen y velocidad necesarios se incrementen.

Los diseñadores de la infraestructura deberían planificar esos picos imprevistos y tratar de crear implementaciones físicas con elasticidad. A medida que el tráfico de la red fluye en forma variada, lo mismo ocurre con el conjunto de activos físicos asociados a la implementación de Big Data. La infraestructura debería ofrecer capacidades de monitoreo para que los operadores puedan reaccionar en el momento en que se demandan más recursos para atender a cambios en las cargas de procesamiento.

Administración de Hardware, Almacenamiento y Servidores

De igual manera que la anterior, los activos de hardware servidores y almacenamientos, deben tener suficiente velocidad y capacidad para manejar todas las capacidades de ser esperadas en Big Data. No será de mayor utilidad contar con una red de alta velocidad si los servidores son lentos y se convertirán en un cuello de botella. Sin embargo, una conjunto muy veloz de storage y servidores de computación puede superar una performance variable de parte de la red. Pero nada trabajará adecuadamente si la performance de la red es pobre o poco confiable.

Operaciones de Infraestuctura

Otra importante parte del diseño tiene que ver con la administración de la infraestructura operativa. Los mayores niveles de performance y flexibilidad estarán presentes sólo en un entorno bien administrado. Los gerentes de centros de datos necesitan ser capaces de anticipar y evitar fallas catastróficas para evitar que peligre la integridad de los datos y, en consecuencia, se mantengan en funcionamiento los procesos del negocio. Este es un punto que suele ser poco contemplado por las empresas.

Seguridad de la infraestructura

Los requerimientos de seguridad en entornos Big Data son similares a los que se requieren en datos cnvencionales. Tienen que estar estrechamente alineados a las necesidades específicas del negocio. Algunos desafíos únicos afloran cuando Big Data se convierte en parte de la estrategia y algunos de ellos son:

Acceso a datos: el acceso de usuarios a datos crudos o procesados de Big Data tienen casi el mismo requerimiento técnico que en implementaciones convencionales. Los datos deben estar disponibles sólo para aquellos que tienen una necesidad legítima de negocio para examinar o actuar con esos datos. La mayoría de las plataformas de almacenamiento de datos importantes tienen rigurosos esquemas de seguridad que generalmente se amplían con capacidades de identificación federada, lo cual brinda un acceso controlado a través de las diferentes capas de la arquitectura.

Acceso a aplicaciones: Desde una perspectiva técnica, la administración del acceso a datos de aplicaciones es relativamente simple. La mayoría de las APIs ofrecen protección ante uso no autorizado o acceso. Este nivel de protección es posiblemente adecuado para la mayoría de las implementaciones de Big Data, si bien muchos expertos sostienen lo contrario.

Cifrado o encriptado de datos

Este es uno de los mayores desafíos a la seguridad en entornos Big Data. En los entornos tradicionales, el cifrado/descifrado de datos es una función que agota a los sistemas. Con el volumen, velocidad y variedad de datos asociadas con Big Data, este problema crece. El método de fuerza brutoa consistiría en colocar mayor y más veloz capacidad de computación. Sin embargo, esto tiene un precio muy alto, especialmente cuando hace falta incluir factores de resilencia. Un enfoque más accesible sería el de cifrar solamente a aquellos elementos de datos cuyo nivel de seguridad requerido ha sido identificado.

Detección de Amenazas

La inclusión de dispositivos móviles y redes sociales en la actividad empresarial, contribuyen a aumentar el volumen de datos y las oportunidades para su amenaza. Es por eso importante que las organizaciones adopten un método multiperimetral para proteger su seguridad.

Así, hemos recorrido algunas de las aristas salientes del trabajo realizado por los autores de Big Data For Dummies.