En este artículo te contamos el caso de un cliente que requiere integrar todas sus fuentes de datos para diseñar una solución que, gracias a la inteligencia del dato, explote el valor de los mismos y mejore su fuerza de ventas. Como sabes, el dato es un activo estratégico que las empresas deben explotar al máximo. ¿Cómo podemos incrementar el valor de los datos con un data lake? Veámoslo.
Data Lake: un caso de éxito
De dónde partimos
Nuestro cliente obtiene un gran volumen de información que recoge de diferentes sistemas. Tanto de su ERP, como de su CRM pasando por la información relevante del mercado que obtiene de otros canales.
Cuál es el objetivo
Nuestra misión es generar un sistema de soluciones tecnológicas, (incluyendo Data Lake) que aporten una ventaja competitiva a la red de ventas del cliente.
- En el corto plazo, se trata de evolucionar la arquitectura y los procesos de Business Intelligence (BI) de la empresa. A su vez, se construyen las capas de infraestructura que permitirán homogeneizar y estandarizar a nivel global la gestión de datos y la utilización de aplicaciones críticas para el negocio.
- En el largo plazo, nuestra intervención incluye crear una arquitectura global, unificada y homogénea; así como incorporar nuevos procesos de BI para ofrecer soporte a áreas o funciones adicionales, principalmente operaciones y control de gestión.
Así es la arquitectura del proceso en general:
- Se extrae la información a través de API del ERP y CRM, podrían añadirse CSV adicionales.
- Esa información se lleva a un bucket de Amazon S3, que incluye las herramientas necesarias para extraer, transformar y cargar los datos (Amazon Glue), así como para manejar los datos de big data (Amazon EMR).
- Se utiliza, además, AWS Lake Formation para crear el Data Lake.
- Todo el proceso se monitorea con Amazon CloudWatch que permite recopilar información y métricas casi en tiempo real.
- Con Amazon Athena se realizan consultas de un modo sencillo para explorar los datos previamente.
- Todo se deposita en Amazon Redshift, el data warehouse de Amazon, donde se llevan a cabo los procesos analíticos avanzados para tratar la información.
¿Cuáles son las partes que conforman la arquitectura de datos de la solución?
1. Fuentes de datos externas
Uno de los retos del proyecto consistía en integrar y optimizar datos de fuentes muy diversas, como por ejemplo:
- CRM, de donde se extraen datos de clientes, empleados y actividad comercial.
- ERP, cuyos datos son principalmente sobre pedidos y ventas.
- Otras como ficheros externos y similares.
2. Data Lake
En este caso, para crearlo se ha utilizado Amazon S3. Sirve como repositorio centralizado de datos donde se vuelca la información en crudo y se integran servicios ad-hoc que transforman y multiplican el valor de los datos almacenados. Al permitir una estructura de datos no definida, se obtiene gran flexibilidad.
Soluciones empleadas en el montaje del Data Lake y sus conexiones:
- Lake Formation. Es un servicio de AWS que permite configurar y administrar el Data Lake; incluye la carga de datos de fuentes diversas, monitoreo de flujos, configuración de particiones, activación de cifrado y administración claves, así como definir trabajos de transformación y monitorizar su operación, reorganizar datos en un formato de columnas, deduplicar los datos redundantes y relacionar los registros vinculados.
- Amazon Glue. Este servicio de ETL —extracción, transformación y carga— proporciona una forma sencilla de extraer, tratar, enriquecer y mover de un modo fiable datos (de texto como formato predeterminado, aunque puede modificarse la herramienta para importar datos en otros formatos) entre diferentes almacenes y transmisiones. Cuenta con un servicio de metadatos central (AWS Glue Data Catalog) y un motor de ETL que genera automáticamente código Python o Scala.
- Amazon EMR es una plataforma de big data en la nube que sirve para ejecutar trabajos de procesamiento de datos distribuidos a gran escala, así como consultas SQL interactivas y aplicaciones con marcos de análisis de código abierto.
- Amazon CloudWatch permite monitorizar los procesos de carga y recopilar información sobre ejecuciones de AWS lambda de forma automática.
- Amazon Athena es un servicio de consultas interactivo que permite el análisis de datos en Amazon S3 con SQL estándar.
- Amazon Virtual Private Cloud (Amazon VPC) es una nube virtual privada que permite controlar todo el entorno de redes virtuales, incluyendo la ubicación de los recursos, la conectividad y la seguridad.
3. Data Warehouse
O lo que es lo mismo, un almacén de datos optimizado para el análisis de datos relacionales que provienen de sistemas transaccionales y aplicaciones de líneas de negocio.
Para optimizar las consultas SQL rápidas, cuyos resultados se emplean para informes y análisis operativos en su mayoría, la estructura de datos y el esquema se definen previamente. Una de sus ventajas es que se puede estructurar la información almacenada de diferentes maneras.
En el caso que nos ocupa, el mejor sistema es Amazon Redshift, un servicio de almacenamiento de datos a través de un interfaz de servicio web. Además, integra asuntos de seguridad para las organizaciones más exigentes. Por ejemplo, el control de acceso se ejecuta en cuatro niveles:
- Administración de clústeres
- Conectividad de los clústeres
- Acceso a la base de datos
- Credenciales temporales de base de datos e inicio de sesión únicos
4. ETL
La extracción de datos se lleva a cabo mediante un proceso de carga tipo delta, es decir, se comparan los datos nuevos con los que ya están incorporados y solo se extraen los datos que no se hayan incorporado previamente.
La información del CRM se extrae con CMR Vault API —disponible en formato JSON o XML— que permite extraer datos para aplicaciones, integraciones y herramientas de nivel superior de un modo seguro y que permite que la información esté actualizada.
Para extraer datos en ERP a S3:
- Se pueden extraer datos de bases de datos con diferentes APN que capturan los datos sin procesar a medida que se escriben en los registros de transacciones de la base de datos de ERP. Con las asignaciones requeridas, transforma y almacena los datos en S3. Con estas soluciones también se pueden descodificar clústeres y tablas de pool de ERP.
- Otros sistemas que permiten la descarga de datos para trabajarlos en Excel.
5. BI
En la solución propuesta por parte de Enzyme, la solución que se recomendaba era Quick Sight de AWS. Por petición del cliente ha sido necesario implantar Power BI y configurar la arquitectura de dashboard definida en Power BI. Esto implica la carga de los KPI implementados para su visualización y consumo por parte de los usuarios —área comercial, comité ejecutivo, consejo y propiedad de la empresa—, así como otros procesos back-end como la gestión de accesos y permisos.
- Arquitectura de Dashboards: En Enzyme, en connivencia con nuestro cliente, hemos definido una arquitectura de Dashboards que permita reportar a los usuarios los distintos roles y genere dashboards para diferentes perfiles: técnicos, comerciales o directivos. Estos roles que acceden con Power Bi se gestionan con Azure Active Directory —identidades y directorios—.
- Extracción de datos: para garantizar la fluidez entre la fuente de datos y los cuadros de mandos, estos extraen los datos directamente del Data Warehouse. Dado que el Data Warehouse de Amazon, empleado en este proyecto, facilita la integración con Power BI, el traspaso de datos es sencillo y ágil.
Si tu empresa también necesita organizar una gran cantidad de datos y quieres explotar al máximo todo su potencial, pero no sabes cómo empezar, contacta con nosotros. ¡Hacemos posible tu transformación digital!