top of page
Foto del escritorIng. Derman Alva

Implementación de un Data Lake en AWS

En los tres últimos años en las empresas peruanas se han implementado y se siguen desarrollando implementaciones de Data Lake Corporativos o Empresariales para explotar los datos que generan las empresas, pero algunas de ellas llevan en su desarrollo de 1.5 a 3 años en ponerlas en producción.



¿Porque la demora?

Intervienen varios factores en el tiempo de implementación y que hace que estos proyectos sean cancelados o que las gerencias (proyect owner) pierdan el interés y a la larga fracasen:


  • La falta de una estrategia corporativa o empresarial de creación de un Data Lake,

  • La falta de objetivos indicando para que se necesita y que uso se debe de dar a la creación de un Data Lake.

  • La limitada visión del Project Manager que utiliza metodologías convencionales en vez de metodologías ágiles.

  • Diseño de una Arquitectura incompleta o defectuosa.

  • Desconexión de los procesos del negocio que genera el soslayo importante de la carga de datos. Ver mi artículo "BPM es la clave para la Transformación Digital" .

  • Los contenedores de datos On-premise, que implican mayor gestión de soporte informático aumentando los tiempos de desarrollo.

  • La ingesta de datos sea muy engorrosa, el poder de procesamiento y la latencia genere cuellos de botella en la carga de datos.

  • La larga curva de conocimiento de los Data Engineers responsables de la creación de procesos de carga de datos y su replicación de ambientes Sanbox y luego en ambientes productivos.


¿Que hacer para crear un Data Lake rápido, seguro, de bajo costo ?

En mi experiencia de la creación de Data Lakes en el Perú, la principal demora es creación y habilitación del contenedor de datos. Por ejemplo, si se hace On-premise generalmente se hace en un ambiente propio con Hadoop Hortonworks o Cloudera, donde se debe de habilitar los nodos y crear y habilitar los Data Nodes que contendrán todos los datos de nuestra empresa en archivos HDFS (Hadoop File System). Como es obvio un ambiente propio Hadoop requiere bastante hardware, esfuerzo en desarrollo y pago de soporte, que a la larga hacen muy caro ý lleva mucho tiempo la implementación de un ambiente Data Lake.


Por ello, con la irrupción de las tecnologías Cloud como Amazon AWS, Microsoft Azure y Google Cloud, podemos implementar en cuestión de semanas un ambiente Data Lake que sea rápido, confiable y que tenga las herramientas necesarias para su puesta en producción y posterior explotación, aun costo mucho menor que hacerlo On-premise.


1. ¿Qué debemos de tener en cuenta para crear un Data Lake Corporativo?

Lo primero es tener una estrategia global de desarrollo del Data Lake en el que estén involucrados todos los interesados (stakeholders) del proyecto, donde el posterior análisis de la información permita detectar patrones de consumo, estrategias de marketing, políticas de ventas, visualización de nuevas oportunidades de negocios a través de análisis científicos con modelos estadísticos generados por Machine Learning o Inteligencia Artificial.


2. ¿Qué objetivos debemos de tener para crear un Data Lake Corporativo?

Lo primero es preguntarse ¿para qué necesitamos un ambiente Data Lake que contendrá datos estructurados, semi estructurados y no estructurados?¿Cómo lo usaremos?¿Quién lo usará?¿Qué indicadores podemos generar?

Ahora las empresas u organizaciones necesitan ser más competitivas y ello se logra - por una parte - siendo más veloz en las ventas de productos o servicios, ofreciendo productos o servicios novedosos que es visualizado analizando la data que generan las áreas clave de la empresa y que generan "valor".


El uso que se puede dar a la información explotada de un Data Lake es:

- Atraer y retener clientes

- Detectar patrones de consumos diferenciados por localización, edad, género, etc.

- Impulsar la productividad, identificando los productos o servicios "estrella"

- Mantenimiento proactivo de líneas de producción

- Realizar la toma de decisiones en base a informes reales o KPI con las diversas métricas


Luego de hablar sobre Data Lake o Lago de Datos, muchos se preguntarán ¿Qué es un Data Lake?

Esta respuesta la pongo de la manera sencilla:


Data Lake: Es un ambiente informático que te permite almacenar toda tu información empresarial ya sea estructurada, semi estructurada y no estructurada de manera centralizada.

En ese ambiente es posible realizar diferentes tipos de análisis realizando consultas SQL, análisis big data, búsqueda de textos, análisis en tiempo real, aprendizaje automático, etc. que servirán para la toma de decisiones.

La ventaja de un Data Lake sobre un Datawarehouse es que aparte de almacenar datos relacionales, este también almacena información "No Relacional" como datos de dispositivos móviles, dispositivo IoT, emails, archivos de imágenes, archivos de voz, información de redes sociales, etc. para lo cual debe de definirse un diseño adecuado y completo a las necesidades de la empresa.



Creación de un Data Lake en Amazon Web Service

En esta parte indicaré los servicios que son necesarios para crear un Data Lake empresarial o corporativo de manera rápida en AWS sin tener que invertir en la compra de hardware, software ni en contratar personal o terceros para dar soporte de la infraestructura On-premise de un Data Lake.


1. Almacenamiento en S3

Primero debemos de crear el contenedor de datos en el Simple Storage Service o Amazon S3, donde se creará la VPC (Virtual Private Cloud). En S3 debemos de crear los buckets que son los contenedores globales para el almacenamiento en S3. Luego se deben de cargar los datos y configurar los permisos.


2. AWS Glue

Luego debemos de cargar los datos en S3 con AWS Glue. Este servicio es un ETL con el cual podemos clasificar, limpiar, enriquecer y mover datos desde sus orígenes hacia el contenedor en S3.


3. Amazon Athena

Una vez que tengamos habilitado el contenedor de datos en S3 y luego de cargar los datos con AWS Glue, debemos de usar el servicio interactivo de queries con Athena en el cual podemos lanzar nuestras consultas con SQL estándar.


4. Amazon EMR

EMR o Amazon Elastic MapReduce es un servicio web que permite a empresas, investigadores, analistas de datos y desarrolladores procesar de forma fácil y rentable grandes volúmenes de datos. EMR utiliza herramientas de código abierto, como Apache Spark, Apache Hive, Apache HBase, Apache Flink y Apache Hudi (incubation) y Presto.


5. AWS Lambda

AWS Lambda es un servicio de informática sin servidor que ejecuta código en respuesta a eventos y administra automáticamente los recursos informáticos en AWS.


6. AWS Cognito

Este servicio de seguridad, identidad y conformidad ofrece la creación de grupos de usuarios y de identidades.

Donde los grupos de usuarios son directorios de usuarios que proporcionan a los usuarios de las aplicaciones móviles y web opciones para inscribirse e iniciar sesión.

Los grupos de identidades proporcionan las credenciales de AWS para conceder a los usuarios acceso a otros servicios de AWS.


7. AWS Kinesis

Este servicio de análisis en AWS facilita la recopilación, el procesamiento y el análisis de datos de streaming en tiempo real para obtener datos de manera oportuna y reaccionar rápidamente ante información nueva.


8. Amazon Elasticsearch

Permite configurar, utilizar y escalar fácilmente un clúster de Elasticsearch en la nube.

Puede ser usado para buscar todo tipo de documentos. La búsqueda es escalable y casi en tiempo real, soportando multi-tenencia.


9. AWS Redshift

Amazon Redshift es un producto datawarehouse que forma parte de la plataforma más grande de computación en la nube de Amazon que es rápido, simple y rentable que puede extender consultar a los Data Lakes.

Utiliza Machine Learning, también usa una arquitectura paralela masiva, hardware optimizado para cómputo y almacenamiento en caché de conjuntos de resultados para ofrecer un alto rendimiento y tiempos de respuesta de menos de un segundo.

En el AWS Redshift estarán alojados nuestros Modelos Multidimensionales que servirán para la explotación de los datos y posterior análisis para la toma de decisiones.


10. Amazon Quicksight

Es un servicio de inteligencia empresarial rápido y basado en la nube que permite proporcionar información a todos los integrantes de su organización de manera fácil.

Permite crear y publicar paneles interactivos que incluye información de aprendizaje automático. Puede acceder a los paneles desde cualquier dispositivo, e integrarlos en las aplicaciones, portales y sitios web.


11. SageMaker

Este servicio de Machine Learning utiliza modelos de aprendizaje automático para intentar etiquetar de forma automática los datos de entrenamiento. Con la última versión viene integrado con 23 algoritmos y nos puede recomendar cual de ellos es el mejor para entrenar a nuestros modelos . Esta herramienta debe de ser utilizada por los Data Scientists en su ambiente experimental del Data Lake.


Tipos de Arquitecturas Modernas para Data Lakes


Arquitectura Data Lake a demanda - Acceso directo a la data cruda


Arquitectura Data Lake a demanda - Acceso a la data de un DW con data modelada en modo multidimensional y con datos en tiempo real o streaming con Amazon Kinesis (equivalente a Kafka, Spark streaming en Hadoop)


Arquitectura Lambda Data Lake - Insights desde data estructurada, IoT y redes sociales


Arquitectura Disruptiva Data Lake - Insights para Transformación Digital empresarial basada en BPM, Machine Learning, Analytics y Deep Learning.


Arquitectura Disruptiva Data Lake - Insights para Transformación Digital y Nuevos Servicios Digitales.


Arquitectura General AWS para Datalake


Ing. Derman Alva

80 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comments


bottom of page