Blog de Amazon Web Services (AWS)
Herramientas de Gobierno de Datos en Amazon Web Services
Son muchas las organizaciones que, tarde o temprano, abordan un proceso de gobierno de datos. A veces lo hacen de forma reactiva, advirtiendo que para algunos de sus indicadores más básicos e.g., “ventas por mes” tienen más de una “verdad” desde diferentes áreas; y a veces de forma proactiva, buscando alinear las prácticas que ya siguen a algún modelo más formal que les permita evolucionarlas.
Para ambos casos, el modelo de Gobierno de Datos de la organización DAMA (Comunidad global de gestión de los datos) específicamente, las dimensiones de DAMA, ofrece un marco de trabajo de referencia que les permite a las organizaciones enfocar sus esfuerzos para gobernar los datos a lo largo de su ciclo de vida.
Ahora bien, las recomendaciones de las dimensiones de DAMA hay que implementarlas, materializarlas en el día a día para que arrojen los resultados esperados.
El propósito de este artículo es explicar cómo los servicios de Amazon Web Services permiten implementar en la práctica los requerimientos del modelo de Gobierno de Datos del DAMA. Para estructurar la explicación, vamos a hacerlo siguiendo las dimensiones que define el modelo:
Mapeo de soluciones vs dimensiones del DAMA
Definiendo “Gobierno de Datos”
Hay muchas definiciones del concepto de Gobierno de Datos. No obstante, vamos a tomar las áreas definidas por el DAMA-DMBOK2 framework, las cuales son las 11 Áreas de Conocimiento de la Gestión de Datos. DAMA define al Gobierno de Datos como “el ejercicio de autoridad, control y toma de decisiones compartida (planeación, monitoreo y ejecución) sobre la gestión de los activos de datos.”
En las siguientes secciones iremos definiendo la relación entre cada área del DAMA y los servicios de AWS, soluciones y prácticas que soportan la ejecución de las recomendaciones de cada dominio.
Arquitectura de Datos
“La estructura general de los datos y los recursos relacionados con los datos como una parte integral de la arquitectura empresarial”
- AWS Glue Data Catalog descubre datos y almacena los metadatos asociados a ellos, por ejemplo, la definición de las tablas y el esquema. Es un servicio administrado que permite almacenar, anotar y compartir metadatos en AWS de la misma forma en que se haría con un Apache Hive metastore. Una vez catalogados, sus datos están inmediatamente accesibles para ser accedidos por herramientas de búsqueda, consultados y usables desde procesos de ETL (Extract, Transform, Load).
Modelado y Diseño de Datos
“El modelado de datos es el proceso de descubrimiento, análisis y determinación del alcance de los requerimientos de datos, y luego su representación y comunicación de una manera precisa llamada el modelo de datos.”
- Desde los puntos de vista físico, lógico y conceptual, Glue Data Catalog permite catalogar y modelar los datos que la organización descubre y desea exponer en su modelo de datos. Adicionalmente, como se explicará luego, permite el etiquetado de los datos para incrementar su semántica.
Almacenamiento de Datos y Operaciones
“Implementación y gestión del almacenamiento de activos de datos físicos estructurados (conocido como Operación de Datos en la primera edición del DAMA-DMBOK)“
- Servicios de Bases de Datos: AWS dispone de varios servicios administrados de bases de datos diseñados para necesidades específicas: relacionales, clave-valor, en memoria y otros. Algunos de estos servicios son: Amazon RDS, Amazon DynamoDB, Amazon ElastiCache, Amazon Neptune, Amazon Redshift, Amazon QLDB, Amazon DocumentDB y Amazon Managed Cassandra Service
- Servicios relacionados con el concepto de Data Lake: Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos que ofrece los mejores estándares de escalabilidad, disponibilidad, seguridad y performance de la industria. Muchos otros servicios permiten crear y operar de forma efectiva un Data Lake en AWS.
Seguridad de Datos
“Aseguramiento de la privacidad, confidencialidad y acceso apropiado [a los datos]”
- Acceso granular a los datos: AWS Lake Formation permite definir de forma centralizada la seguridad, el gobierno y las políticas de auditoría. Le permite a los administradores de datos otorgar y revocar permisos granulares a nivel de tabla y columna sobre tablas del Glue Data Catalog y los buckets de S3.
- Encriptación de Datos: AWS KMS permite crear y administrar claves criptográficas y controlar su uso desde una larga lista de servicios de AWS y desde aplicaciones. AWS KMS es un servicio robusto y seguro que para proteger las claves usa módulos de hardware seguridad (HSM) que han sido validados bajo la norma FIPS 140-2, o están en el proceso de ser validados. AWS CloudHSM le permite a los clientes administrar sus claves de encriptación usando HSM’s validados bajo la norma FIPS 140-2 Level 3, ofreciendo la flexibilidad para integrarse con aplicaciones que usan interfases estándares de la industria como PKCS#11, Java Cryptography Extensions (JCE), y las librerías Microsoft CryptoNG (CNG).
- Detección de Datos Sensibles: Amazon Macie es un servicio de seguridad que usa aprendizaje automático (Machine Learning) para descubrir, clasificar y proteger datos sensibles en AWS. Amazon Macie reconoce datos sensibles tales como información de identificación personal (PII, Personally identifiable information) o propiedad intelectual, y provee gráficos y alertas que permiten visualizar cómo estos datos son accedidos y movidos.
- Administración de Identidades: AWS Identity and Access Management (IAM) le permite al cliente gestionar el acceso a sus servicios y recursos en el AWS Cloud. Usando IAM, puede crear usuarios y grupos y usar permisos para permiter o denegar el acceso a los recursos que el cliente tenga en AWS.
- Autenticación de Usuarios: AWS Single Sign-On (SSO) permite la gestión centralizada del acceso de los usuarios a múltiples cuentas de AWS y aplicaciones de negocio usando un único conjunto de credenciales y desde un único lugar.
Integración de Datos & Interoperabilidad
“Adquisición, extracción, transformación, movimiento, entrega, replicación, federación, virtualización y soporte operativo (área de conocimiento nuevo en DMBOK2)”
- Migración y Transferencia de Datos
- Desde bases de datos: AWS Database Migration Service, Lake Formation blueprints
- Desde archivos: AWS DataSync, AWS Transfer for SFTP, AWS Snowballs
- Desde flujos: Amazon Kinesis Data Streams, Amazon Kinesis Data Firehose
- Desde fuentes de terceros: AWS Data Exchange
- Orquestación y Gestión de Flujos de Datos:
- AWS Step Functions: máquina de estados serverless que permite administrar flujos a través de diferentes servicios de AWS.
- AWS Glue workflows: herramienta que de modo drag-and-drop permite gestionar flujos de trabajo complejos usando trabajos de ETL basados en AWS Glue Jobs.
Gestión de Documentos y Contenidos
“Almacenamiento, protección, indexación y habilitación del acceso a datos que se encuentran en orígenes no estructurados (archivos electrónicos y registros físicos), disponibilizando estos datos para la integración e interoperabilidad con datos estructurados (bases de datos)”
- Almacenamiento: Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB, Amazon DocumentDB. Estos servicios permiten almacenar y obtener documentos y contenidos con una alta performance en una modalidad de clave/valor.
- Búsqueda: Amazon CloudSearch y Amazon Elasticsearch Service permiten la indexación y búsqueda de contenidos de forma masiva y flexible, acomodando requerimientos varios de búsqueda por texto. Amazon Kendra también es una opción adecuada, al permitir mejorar la relevancia a través de su uso de algoritmos de aprendizaje de máquinas (Machine Learning) y también habilitar ciertas facilidades típicas de búsquedas de e-commerce y documental, como la búsqueda por facetas.
Datos Maestros y Referenciales
“Gestión de datos compartidos para reducir redundancia y aseguramiento de mejor calidad de datos a través de definición y uso estandarizados de los valores de los datos”
- Datos Referenciales: pueden centralizarse en AWS Glue Data Catalog usando 18 diferentes clasificadores incluídos en el servicio.
- Deduplicación de registros: usando AWS Lake Formation FindMatches se puede automatizar la identificación de registros duplicados en los datos.
- Reglas de Negocio: AWS ofrece una amplia variedad de servicios para la implementación de reglas de negocios – por ejemplo, Amazon Simple Workflow Service y AWS Step Functions permiten definir de forma flexible flujos de trabajo combinando múltiples modelos de ejecución.
Almacenes de Datos (Data Warehousing) & Inteligencia de Negocio
“Administración del procesamiento analítico de datos y habilitación del acceso a los datos de soporte a reportes y análisis”
- Data Warehouse masivamente paralelo: Amazon Redshift es un data warehouse totalmente administrado que permite analizar datos usando SQL y herramientas de Inteligencia de Negocio estándares. Permite ejecutar consultas analíticas complejas contra petabytes de datos estructurados usando optimización sofisticada de consultas, almacenamiento columnar sobre almacenamiento de alta performance y ejecución de consultas masivamente paralelas. Amazon EMR es también una opción para implementar este tipo de procesamiento paralelo, especialmente a través de su soporte de Hive y Presto, servicios optimizados para rendimiento (throughput) y latencia, respectivamente.
- Servicio de consulta interactivo serverless: Amazon Athena es un servicio que permite consultar de forma interativa datos en Amazon S3 usando SQL estándar. Athena es serverless – el cliente no tiene que administrar infraestructura alguna y sólo paga por las consultas que realiza.
- Visualización de Datos: Amazon Quicksight es un servicio de inteligencia de negocio que permite crear fácilmente visualizaciones y distribuirlas en toda la organización.
Metadatos
“Recolección, categorización, manutención, integración, control, gestión y distribución de metadatos”
- AWS Glue Data Catalog es un servicio de almacenamiento de metadatos que permite descubrir y gestionar tanto metadatos técnicos (e.g: formatos, tamaño promedio de registros, particiones, tipo de compresión) y metadatos de negocio (e.g: propietarios de los datos, descripción de tablas y columnas)
- Metadatos basados en etiquetas y estrategia de linaje: usando una plataforma de etiquetas sobre AWS Glue Data Catalog se puede facilitar el etiquetado tanto técnico como el de negocio, y el linaje de los datos para describir como los mismos han evolucionado.
- Usando AWS Lambda para capturar metadatos de objetos y Amazon DynamoDB o Amazon Elasticsearch Service como almacenamiento para armar un catálogo de datos exhaustivo con capacidades de búsqueda, como se muestra en la siguiente arquitectura:
Calidad de Datos
“Definición, monitoreo y manutención de la integridad de los datos, y mejora de la calidad de datos”
- Perfilado y Remediación de Datos:
- Perfilado de Datos: Deequ es una librería construída sobre Apache Spark que se utiliza para definir “testeos unitarios para datos” que miden la calidad de los datos en repositorios de datos de gran tamaño. A la fecha, esta librería sólo se puede usar usando Scala sobre Spark.
- Deduplicación de Datos: se pueden utilizar Machine Learning Transforms para implementar una deduplicación automática de datos.
- Herramientas de terceros: por ejemplo, Trifacta on AWS habilita el perfilado y preparación de datos usando una herramienta visual con una modalidad autoservicio, usando el poder de cómputo distribuido del servicio de Big Data de AWS Amazon EMR.
Conclusiones
En esta publicación, describimos cómo a través de los servicios de AWS mayormente y con algunas herramientas de terceros se pueden satisfacer los requerimientos del modelo de Gobierno de Datos conocido del DAMA, modelo que les sirve de guía a muchas organizaciones que se embarcan en un proceso de gobierno de datos. El resultado final que estas organizaciones buscan es el de tener información correcta, actualizada y segura que le sirva como soporte a la toma de decisiones.
Autores
Andrés Palacios
Andres Palacios es especialista en analítica para la región de Latinoamérica con 10 años de experiencia como consultor y arquitecto de analítica para proyectos de sistemas descriptivos, diagnósticos y predictivos de apoyo en toma de decisiones y pipelines de datos.
Ariel Kirsman
Ariel trabaja en tecnología de información desde hace 25 años. Ejerció roles de desarrollo, software testing y seguridad, principalmente sobre plataformas Microsoft, para luego enfocarse en la construcción de soluciones en el cloud de AWS.