Está en la página 1de 237

Análisis en la nube

con Microsoft Azure

Creación de almacenes de datos modernos con


el poder combinado del análisis y Azure

Has Altaiar
Jack Lee
Michael Peña
Análisis en la nube con Microsoft Azure
Copyright © 2019 Packt Publishing
Todos los derechos reservados. No está permitida la reproducción, el almacenamiento
en un sistema de recuperación ni la transmisión en cualquier formato o por cualquier
medio de una parte de este libro sin la autorización previa y por escrito del editor, salvo
en el caso de citas breves introducidas en artículos o revistas de opinión crítica.
Durante la preparación de este libro, se hizo todo lo posible por asegurar la exactitud
de la información presentada. Sin embargo, los datos que contiene este libro se
venden sin garantía, ya sea expresa o implícita. Ni los autores ni Packt Publishing,
sus concesionarios y distribuidores, se considerarán responsables de cualquier daño
causado o presuntamente causado de manera directa o indirecta por el contenido
de este libro.
PACKT Publishing intentó proporcionar información de marca de todas las empresas
y los productos mencionados en este libro mediante el uso adecuado de mayúsculas.
Sin embargo, Packt Publishing no garantiza la exactitud de esta información.
Autores: Has Altair, Jack Lee y Michael Peña
Revisores técnicos: Aram Golbaghikoukia y Aaditya Pokkunuri
Editor general: Aditya Datar
Editora de adquisiciones: Alicia Wooding
Editor de producción: Deepak Chavan
Comité editorial: Sonali Anubhavne, Vishal Bodwani, Ewan Buckingham, Megan Carlisle,
Alex Mazonowicz y Jonathan Wray
Primera publicación: octubre de 2019
Referencia de producción: 2071119
ISBN: 978-1-83921-640-4
Publicado por Packt Publishing Ltd.
Livery Place, 35 Livery Street
Birmingham B3 2PB, Reino Unido.
Índice

Prefacio   i

Capítulo 1: Introducción al análisis en Azure   1

El poder de los datos ......................................................................................  2


Análisis de big data .........................................................................................  4
El Internet de las cosas (IoT) ..........................................................................  5
Machine Learning e inteligencia artificial ....................................................  6
DataOps ...........................................................................................................  7
¿Por qué te conviene usar Microsoft Azure? ...............................................  9
Seguridad ............................................................................................................. 11
Escala de cloud .................................................................................................... 12
Principales motivos empresariales para adoptar el análisis
de datos en el cloud .....................................................................................  14
Crecimiento y escalado rápidos ........................................................................ 15
Reducir los costes ............................................................................................... 15
Impulsar la innovación ....................................................................................... 16
¿Por qué necesitas un almacén de datos moderno? ................................  17
Unifica tus datos ................................................................................................. 19
Crear una canalización de datos .................................................................  22
Adquisición de datos .......................................................................................... 22
Almacenamiento de datos ................................................................................. 23
Orquestación y supervisión de la canalización de datos ............................... 23
Uso compartido de datos ................................................................................... 23
Preparación de datos ......................................................................................... 24
Transformación, predicción y enriquecimiento de datos .............................. 24
Puesta a disposición de los datos ..................................................................... 24
Visualización de datos ........................................................................................ 25
Aplicaciones más inteligentes .....................................................................  26
Resumen ........................................................................................................  27

Capítulo 2: Crear tu almacén de datos moderno   29

¿Qué es un almacén de datos moderno? ...................................................  30


Azure Synapse Analytics ..............................................................................  31
Características ..................................................................................................... 32
Ventajas ............................................................................................................... 32
Azure Data Factory .......................................................................................  33
Características ..................................................................................................... 33
Ventajas ............................................................................................................... 34
Azure Data Lake Storage Gen2 ....................................................................  34
Características ..................................................................................................... 35
Ventajas ............................................................................................................... 35
Azure Databricks ...........................................................................................  35
Características ..................................................................................................... 35
Ventajas ............................................................................................................... 36
Guía de inicio rápido ....................................................................................  36
Aprovisionar tu primer Azure Synapse Analytics
(anteriormente SQL DW) .................................................................................... 37
Consultar los datos ............................................................................................. 47
Autorizar tu dirección IP de cliente para acceder a
Azure Synapse Analytics (anteriormente SQL DW) ........................................ 50
Pausar Azure Synapse Analytics cuando no esté en uso ............................... 51
Aprovisionar Azure Data Factory ...................................................................... 52
Aprovisionar Azure Data Lake Storage Gen2 .................................................. 55
Integrar Azure Data Factory con Azure Data Lake Storage Gen2 ................. 59
Revisar el resultado en Azure Data Lake Storage Gen2 ................................. 72
Aprovisionar el servicio Azure Databricks ....................................................... 74
Usar Azure Databricks para preparar y transformar los datos .................... 79
Limpiar Azure Synapse Analytics ...................................................................... 84
Resumen ........................................................................................................  84

Capítulo 3: Procesamiento y visualización de datos   87

Azure Analysis Services ................................................................................  88


SQL Server Analysis Services ............................................................................. 89
Características y ventajas .................................................................................. 90
Power BI .........................................................................................................  92
Guía de inicio rápido (modelado y visualización de datos) .....................  95
Requisitos previos ............................................................................................... 95
Aprovisionar Azure Analysis Service ................................................................ 96
Permitir el acceso de clientes ............................................................................ 98
Crear un modelo ................................................................................................. 99
Abrir el modelo creado con Power BI ............................................................  101
Visualizar datos ................................................................................................  105
Publicar el panel ..............................................................................................  114
Machine learning en Azure ........................................................................  117
ML.NET ..............................................................................................................  119
AutoML ..............................................................................................................  119
Azure Machine Learning Studio .....................................................................  120
Azure Databricks ..............................................................................................  120
Cognitive Services ............................................................................................  120
Bot Framework .................................................................................................  121
Características y ventajas de Azure Machine Learning Services ..........  122
Kit de desarrollo de software (SDK) ...............................................................  122
Interfaz visual ...................................................................................................  122
AutoML ..............................................................................................................  122
Objetivos de implementación flexibles .........................................................  123
Operaciones de ML aceleradas (MLOps) .......................................................  123
Guía de inicio rápido (machine learning) .................................................  124
Resumen ......................................................................................................  130

Capítulo 4: Introducción a Azure Synapse Analytics   133

¿Qué es Azure Synapse Analytics? ............................................................  133


¿Por qué necesitamos Azure Synapse Analytics? ...................................  135
Patrón del almacén de datos moderno ...................................................  136
Desafíos de los clientes ...................................................................................  136
Azure Synapse Analytics al rescate ...............................................................  137
Profundizar en el uso de Azure Synapse Analytics .................................  139
Espacios de trabajo de Azure Synapse Analytics .........................................  140
Estudio de Azure Synapse Analytics ..............................................................  141
Nuevas características en la versión preview .........................................  143
Apache Spark ....................................................................................................  143
SQL On-Demand ...............................................................................................  143
Integración de datos ........................................................................................  144
Compatible con varios lenguajes ...................................................................  146
Próximos cambios ......................................................................................  146
Resumen ......................................................................................................  147
Capítulo 5: Casos de uso empresariales   149

Caso de uso 1: información del cliente en tiempo


real con Azure Synapse Analytics .............................................................  150
El problema ..................................................................................................  150
Captura y procesamiento de datos nuevos ..................................................  151
Reunión de todos los datos ............................................................................  152
Búsqueda de conocimientos y patrones en los datos ................................  152
Descubrimiento en tiempo real .....................................................................  152
Lluvia de ideas sobre el diseño .................................................................  153
Adquisición de datos .......................................................................................  154
Almacenamiento de datos ..............................................................................  155
Ciencia de datos ...............................................................................................  156
Paneles e informes ..........................................................................................  156
La solución ...................................................................................................  156
Flujo de datos ...................................................................................................  157
Servicios de Azure .......................................................................................  159
Azure Data Factory  .........................................................................................  159
Apache Kafka en Azure HDInsight .................................................................  164
Azure Data Lake Storage Gen2 .......................................................................  166
Azure Databricks ..............................................................................................  169
Azure Synapse Analytics  ................................................................................  170
Power BI ............................................................................................................  174
Servicios de soporte de Azure ........................................................................  177
Conocimientos y acciones .........................................................................  179
Reducción de residuos en un 18 % ................................................................  179
Las tendencias de las redes sociales impulsan el crecimiento
de las ventas en un 14 % .................................................................................  180
Conclusión ...................................................................................................  181
Caso de uso 2: uso de análisis avanzado en Azure para
crear un aeropuerto inteligente ...............................................................  182
El problema ..................................................................................................  182
Desafíos empresariales ...................................................................................  182
Desafíos técnicos .............................................................................................  184
Lluvia de ideas sobre el diseño .................................................................  186
Orígenes de datos ............................................................................................  186
Almacenamiento de datos ..............................................................................  187
Adquisición de datos .......................................................................................  188
Seguridad y control de acceso .......................................................................  188
Descubrir patrones y conocimientos ............................................................  188
La solución ...................................................................................................  189
¿Por qué elegir Azure para NIA? .....................................................................  189
Arquitectura de la solución ............................................................................  190
Servicios de Azure .......................................................................................  193
Azure Databricks  .............................................................................................  193
Azure Cosmos DB  ............................................................................................  194
Azure Machine Learning Services ..................................................................  197
Azure Container Registry ................................................................................  200
Azure Kubernetes Service (AKS) .....................................................................  202
Power BI ............................................................................................................  204
Servicios de soporte ........................................................................................  206
Conocimientos y acciones .........................................................................  207
Reducción de los retrasos de los vuelos en un 17 %
mediante análisis predictivos ........................................................................  207
Reducción de la congestión y mejora del comercio
minorista mediante la visualización inteligente ..........................................  208
Conclusión ...................................................................................................  209
Capítulo 6: Conclusión   211

Ciclo de vida del almacén de datos moderno de Azure .........................  211


Adquisición de datos .......................................................................................  212
Almacenamiento de datos ..............................................................................  214
Preparación y entrenamiento de datos ........................................................  217
Modelado y servicio de resultados ................................................................  219
Visualización y más ..........................................................................................  219
Resumen ......................................................................................................  220
Prefacio
>
Acerca de

En esta sección se presenta brevemente al autor, la cobertura de este curso, las habilidades
técnicas que necesitarás para comenzar y los requisitos de hardware y software necesarios para
completar todas las actividades y ejercicios incluidos.
ii | Prefacio

Acerca del análisis en el cloud con Microsoft Azure


Con los datos generados a una velocidad exponencial, las organizaciones de todo el
mundo están migrando su infraestructura al cloud. La administración de aplicaciones
se vuelve mucho más sencilla cuando se utiliza una plataforma en el cloud para crear,
administrar e implementar los servicios y las aplicaciones.
El análisis en el cloud con Microsoft Azure cubre todo lo que necesitas para extraer
conocimientos útiles de tus datos. Descubrirás el poder de los datos con análisis de big
data, el Internet de las cosas (IoT), machine learning, inteligencia artificial y DataOps.
También profundizarás en el análisis de datos al estudiar casos de uso que se centran
en la creación de información procesable a partir de datos casi en tiempo real. A medida
que avances, descubrirás cómo crear una canalización de análisis integral en el cloud
con conceptos de machine learning y aprendizaje profundo.
Al final de este libro, habrás adquirido un sólido conocimiento del análisis de datos con
Azure y su implementación práctica.

Acerca de los autores


Has Altaiar es ingeniero software de formación y consultor de profesión. Has vive
en Melbourne, Australia, y es el director ejecutivo de vNEXT Solutions. Su trabajo se
centra en los datos, el IoT y la IA en Microsoft Azure, y dos de sus últimos proyectos
de IoT ganaron varios premios. Has también es MVP de Microsoft Azure y organizador
y ponente habitual de conferencias nacionales e internacionales, Microsoft Ignite,
NDC y ServerlessDays. También es miembro de la junta de Global AI Community
(http://globalai.community). Puedes leer el blog de Has o seguirle en Twitter en
@hasaltaiar.
Jack Lee es consultor sénior certificado de Azure y director de prácticas de Azure;
tiene pasión por el desarrollo de software, el cloud y las innovaciones de DevOps.
Es un colaborador activo de la comunidad tecnológica de Microsoft y ha realizado
presentaciones ante varios grupos de usuarios y en conferencias, también en el
Global Azure Bootcamp en Microsoft Canadá. Jack es un mentor y juez experimentado
en Hackathons y también es el presidente de un grupo de usuarios que se centra en
Azure, DevOps y el desarrollo de software. Jack ha sido reconocido como MVP de
Microsoft por sus contribuciones a la comunidad tecnológica. Puedes seguir a Jack en
Twitter en @jlee_consulting.
Acerca del análisis en el cloud con Microsoft Azure | iii

Michael Peña es un consultor técnico experimentado que reside en Sídney, Australia.


Es MVP de Microsoft y un profesional certificado con más de 10 años de experiencia en
datos, dispositivos móviles, cloud, web y DevOps. A lo largo de estos años, ha realizado
varias tareas, pero él mismo se considera desarrollador de formación. También es
ponente internacional y ha participado en numerosos eventos, entre los que se incluyen
Microsoft Ignite, NDC, DDD, Cross-Platform Summit y varias reuniones en persona
y virtuales. Michael ha realizado prácticas en Microsoft y también es exalumno socio
de Microsoft. Puedes seguirle en Twitter en @mjtpena.

Objetivos de aprendizaje
Al final de este curso, podrás:
• Explorar los conceptos de los almacenes de datos modernos y las canalizaciones
de datos
• Descubrir diferentes consideraciones de diseño al aplicar una solución de análisis
en el cloud
• Diseñar una canalización de análisis integral en el cloud
• Diferenciar entre datos estructurados, semiestructurados y no estructurados
• Seleccionar un servicio basado en el cloud para tus soluciones de análisis de datos
• Usar los servicios de Azure para adquirir, almacenar y analizar datos de cualquier
tamaño

Audiencia
Si planificas adoptar el modelo de análisis en el cloud para tu negocio, este libro te
ayudará a comprender las consideraciones empresariales y el diseño que se deben tener
en cuenta. Aunque no es necesario, una comprensión básica de los conceptos de análisis
de datos como el streaming de datos, los tipos de datos, el ciclo de vida del machine
learning y los contenedores Docker te ayudarán a aprovechar al máximo el libro.

Enfoque
Análisis en el cloud con Microsoft Azure describe conceptos complejos de una manera
fácil de entender. Además, el libro contiene varias guías de inicio rápido para cubrir los
conceptos principales con experiencia práctica.
iv | Prefacio

Requisitos de hardware
Para lograr una experiencia de alumno óptima, recomendamos la siguiente
configuración de hardware:

• Procesador: Intel Core i5 o equivalente


• Memoria (RAM): se recomienda al menos 1 GB disponible, 1,5 GB o más
• Pantalla: se recomienda al menos 1440 x 900 o 1600 x 900 (16:9)
• CPU: se recomienda un procesador de 86 o 64 bits con 1 GHz (GHz) o más rápido
Requisitos de software
También te recomendamos que tengas instalados con antelación los siguientes
programas de software:

• Windows 7/Windows Server 2008 R2 o versiones posteriores


• .NET 4.5
• Internet Explorer 10 o versiones posteriores
Convenciones
Las palabras de código en el texto, los nombres de tablas de bases de datos, los nombres
de carpetas, los nombres de archivos, las extensiones de archivo, las rutas de acceso,
las rutas URL ficticias, las entradas de usuario y los alias de Twitter se muestran de la
forma siguiente:
"En el siguiente fragmento de código se crea una tabla denominada TweetsStream en
Azure Synapse Analytics para recibir el flujo. Esta tabla tiene dos columnas simples,
una para la marca de tiempo y otra para el valor que se recibe del flujo de datos. En el
ejemplo siguiente se asigna ROUND_ROBIN como la política de distribución para esta tabla".
Un bloque de código aparece de la siguiente forma:
CREATE TABLE [dbo].[TweetsStream]
(
  [timestamp] DATETIME NULL,
  [Value] BIGINT NULL
)
WITH
(
  DISTRIBUTION = ROUND_ROBIN,
  CLUSTERED INDEX ([timestamp])
)
Acerca del análisis en el cloud con Microsoft Azure | v

Instalación y configuración
Puedes instalar Power BI Desktop y empezar a crear informes interactivos.
Comienza ahora mismo tu recorrido por el análisis en el cloud.
Introducción al
1
análisis en Azure
Según una encuesta realizada por Dresner Advisory Services en 2019, un máximo
histórico del 48 % de las organizaciones afirma que la business intelligence en el cloud
es fundamental o muy importante en el desempeño de sus operaciones empresariales.
El estudio de mercado sobre computación en el cloud y business intelligence también ha
mostrado que los equipos de ventas y marketing obtienen el máximo valor posible de
los análisis.
A medida que las empresas crecen, generan enormes cantidades de datos todos los
días. Estos datos provienen de diferentes fuentes, como teléfonos móviles, sensores del
Internet de las cosas (IoT) y varios productos de software como servicio (SAAS) como
Customer Relationship Manager (CRM). Las empresas y los negocios deben escalar
y modernizar su arquitectura e infraestructura de datos para hacer frente a la demanda
de seguir siendo competitivos en sus respectivos sectores.
2 | Introducción al análisis en Azure

El hecho de tener capacidades de análisis a escala de cloud es la estrategia de


referencia para lograr este crecimiento. En lugar de administrar tu propio centro
de datos, aprovechar el poder del cloud permite que tu negocio sea más accesible
para los usuarios. Con la ayuda de un proveedor de servicios en el cloud como
Microsoft Azure, puedes acelerar la práctica del análisis de datos sin las limitaciones
de tu infraestructura de TI. El juego ha cambiado en términos de mantenimiento de
infraestructuras de TI, porque los data lakes y el almacén de datos en el cloud pueden
almacenar y mantener grandes cantidades de datos.
La simple recopilación de datos no agrega valor a tu negocio; es necesario obtener
conocimientos detallados y ayudar a la empresa a crecer mediante el análisis de datos.
Azure es mucho más que un simple centro de recopilación de datos; es un recurso
valiosísimo para el análisis de datos. El análisis de datos te permite comprender mejor
tu negocio y tus clientes. Al aplicar varios conceptos de ciencia de datos, como el
machine learning, el análisis de regresión, los algoritmos de clasificación y la previsión
de series temporales, es posible probar hipótesis y tomar decisiones basadas en datos
para el futuro. Sin embargo, uno de los desafíos a los que se enfrentan continuamente
las organizaciones es cómo obtener rápidamente estas capacidades de modelado
analítico al procesar miles de millones de filas de datos. Aquí, puede ser útil tener un
almacén de datos moderno y una canalización de datos (encontrarás más información
sobre esto en las siguientes secciones).
El análisis de datos puede ayudar a tu negocio a prosperar de diferentes maneras. En el
caso del comercio minorista, si comprendes mejor a tus clientes, tendrás una mejor
idea de qué productos debes vender, dónde, cuándo y cómo venderlos. En el sector
financiero, el análisis de datos ayuda a combatir los delitos mediante la detección de
transacciones fraudulentas y al proporcionar evaluaciones de riesgo más informadas
basadas en la inteligencia criminal histórica.
En este capítulo, abordaremos temas fundamentales sobre el poder de los datos
con análisis de big data, IoT, machine learning (ML) e inteligencia artificial (IA),
y DataOps. También descubrirás por qué Microsoft Azure es la plataforma elegida
para realizar análisis en el cloud. Por último, estudiarás los conceptos fundamentales
de un almacén de datos moderno y canalizaciones de datos.

El poder de los datos


Como consumidor, has visto cómo la llegada de los datos ha influido en nuestras
actividades diarias. Las aplicaciones de entretenimiento más populares, como YouTube,
ahora brindan una experiencia de usuario personalizada con características como
recomendaciones de vídeos basadas en nuestros intereses e información de registro
del historial de búsqueda. Ahora es muy fácil descubrir contenido nuevo similar
a nuestro contenido favorito y también encontrar tendencias en contenido nuevo
y popular.
El poder de los datos | 3

Debido al importante cambio en la tecnología portátil, también es posible realizar


un seguimiento de nuestras estadísticas de salud mediante el control de la frecuencia
cardíaca, la presión arterial, etc. Luego, estos dispositivos formulan una recomendación
personalizada basada en los promedios de estas estadísticas. Pero estas estadísticas
de salud personalizadas son solo un ejemplo de la recopilación masiva de datos que
se produce todos los días a escala global, a la que contribuimos activamente.
Millones de personas en todo el mundo usan plataformas de redes sociales y motores
de búsqueda todos los días. Gigantes de Internet como Facebook, Instagram y Google
usan datos de clickstream para encontrar nuevas innovaciones y mejorar sus servicios.
La recopilación de datos también se lleva a cabo en un nivel extenso en proyectos
como The Great Elephant Census o eBird, que tienen como objetivo impulsar las
conversaciones sobre la vida salvaje. Hasta se han adoptado técnicas basadas en datos
para proyectos sobre la conservación del tigre en la India.
Incluso desempeña un papel fundamental en los esfuerzos globales para recopilar
pruebas, causas y posibles respuestas al cambio climático: comprender la temperatura
de la superficie del mar, analizar los desastres naturales como las inundaciones costeras
y los patrones del calentamiento global para salvar el ecosistema.
Organizaciones como Global Open Data for Agriculture and Nutrition (GODAN),
que pueden utilizar los agricultores, ganaderos y consumidores por igual, también
contribuyen a esta incansable recopilación de datos.
Además (como con la llegada de la tecnología portátil), el análisis de datos contribuye
a avances pioneros en el sector de la salud. Los conjuntos de datos de pacientes se
analizan para identificar patrones y síntomas tempranos de enfermedades con el fin
de detectar mejores soluciones a problemas conocidos.
La escala de datos de la que aquí se habla es enorme; por consiguiente, el término
popular “big data” se utiliza para describir el poder de aprovechamiento de estos datos
a escala.

Nota
Puedes obtener más información al respecto aquí.
4 | Introducción al análisis en Azure

Análisis de big data


A menudo, el término big data se usa para describir grandes volúmenes de datos que las
herramientas tradicionales no pueden gestionar. Se puede caracterizar con cinco V:
• Volumen: indica el volumen de datos que debe analizarse para el análisis de big
data. Actualmente, gestionamos conjuntos de datos más grandes que nunca.
Esto ha sido posible gracias a la disponibilidad de productos electrónicos como
dispositivos móviles y sensores del IoT que se han adoptado ampliamente en todo
el mundo con fines comerciales.
• Velocidad: se refiere a la velocidad a la que se generan los datos. Los
dispositivos y las plataformas, como los que acabamos de mencionar, producen
constantemente datos a gran escala y a gran velocidad. Esto hace que sea
necesario recopilar, procesar, analizar y servir datos a velocidades rápidas.
• Variedad: hace referencia a la estructura de los datos que se producen. Los
orígenes de datos no son coherentes. Algunos son estructurados y otros, no
estructurados. (Obtendrás más información sobre este tema en las páginas
siguientes).
• Valor: hace referencia al valor de los datos que se extraen. Los datos accesibles
pueden no ser siempre valiosos. Con las herramientas adecuadas, puedes obtener
valor de los datos de una manera rentable y escalable.
• Veracidad: es la calidad o fiabilidad de los datos. Normalmente, un conjunto de
datos sin procesar contiene mucho ruido y sesgo y, por lo tanto, será necesario
limpiarlo. El hecho de tener un gran conjunto de datos no es útil si la mayoría de
los datos no son precisos.

El análisis de big data es el proceso de encontrar patrones, tendencias y correlaciones


en datos no estructurados para obtener conocimiento significativo que dé forma a las
decisiones empresariales. Generalmente, estos datos no estructurados suelen tener un
tamaño de archivo grande (imágenes, vídeos y gráficos sociales, por ejemplo).
Esto no significa que las bases de datos relacionales no sean relevantes para big data.
De hecho, las plataformas de almacenamiento de datos moderno como Azure Synapse
Analytics (anteriormente conocido como Azure SQL Data Warehouse) admiten datos
estructurados y semiestructurados (como JSON) y pueden escalar infinitamente para
admitir de terabytes a petabytes de datos. Con Microsoft Azure, tienes la flexibilidad
de elegir cualquier plataforma. Estas tecnologías pueden complementarse entre sí para
lograr una sólida canalización de análisis de datos.
El Internet de las cosas (IoT) | 5

A continuación, encontrarás algunos de los mejores casos de uso del análisis de big
data:
• Análisis de las redes sociales: a través de los sitios de redes sociales como
Twitter, Facebook e Instagram, las empresas pueden conocer lo que dicen los
clientes acerca de sus productos y servicios. El análisis de las redes sociales
ayuda a las empresas a dirigirse a su público según las preferencias del usuario
y las tendencias del mercado. Aquí, los desafíos son la gran cantidad de datos
y la naturaleza no estructurada de los tweets y las publicaciones.
• Prevención del fraude: este es uno de los casos de uso más conocidos de big
data. Una de las características destacadas del análisis de big data cuando se
usa para la prevención del fraude es la capacidad de detectar anomalías en un
conjunto de datos. Un ejemplo de esto es validar las transacciones con tarjeta
de crédito mediante la comprensión de los patrones de transacción, como los
datos de ubicación y las categorías de artículos comprados. En este caso, el
mayor desafío es garantizar que los modelos de IA/ML sean limpios y sin sesgo.
Cabe la posibilidad de que el modelo haya sido entrenado solo para un parámetro
específico, como el país de origen del usuario; por consiguiente, el modelo
se centrará solo en determinar patrones en la ubicación del usuario y podría
perderse otros parámetros.
• Optimización de precios: mediante el análisis de big data, puedes predecir
qué puntos de precio generarán los mejores resultados en función de los datos
históricos del mercado. Esto permite a las empresas asegurarse de que sus precios
no sean demasiado altos o demasiado bajos. Aquí, el desafío es que hay muchos
factores que pueden afectar a los precios. Centrarse solo en un factor específico,
como el precio de los competidores, podría, con el tiempo, entrenar a tu modelo
para que solo se centre en esa área, y puede ignorar otros factores como el clima
y los datos sobre el tráfico.
El big data para las empresas y los negocios generalmente va acompañado del concepto
de tener una infraestructura de IoT, donde cientos, miles o incluso millones de
dispositivos están conectados a una red que envía datos a un servidor constantemente.
El Internet de las cosas (IoT)
El IoT desempeña una función vital en escalar la aplicación para ir más allá de tus
orígenes de datos actuales. El IoT es, simplemente, una interconexión de dispositivos
que están integrados para cumplir un único propósito en los objetos que nos rodean
para enviar y recibir datos. El IoT nos permite recopilar constantemente más datos
sobre "cosas" sin codificarlas manualmente en una base de datos.
Un reloj inteligente es un buen ejemplo de un dispositivo de IoT que mide las medidas
vitales de tu cuerpo de forma constante. En lugar de tener un dispositivo de medición
y codificarlo en un sistema, un reloj inteligente te permite registrar tus datos
automáticamente. Otro buen ejemplo es un rastreador de dispositivos para un activo
que captura información acerca de la ubicación, la temperatura y la humedad. Esto
permite a las empresas de logística supervisar sus artículos en tránsito, asegurando la
calidad y la eficiencia de sus servicios.
6 | Introducción al análisis en Azure

A escala, estos dispositivos de IoT generan desde gigabytes hasta terabytes de datos.
Normalmente, estos datos se almacenan en un data lake en un formato sin procesar
y no estructurado, y luego se analizan para obtener conocimiento empresarial. Un data
lake es un repositorio centralizado de todos los datos estructurados, semiestructurados
y no estructurados. En el ejemplo de la empresa de logística que hemos mencionado
anteriormente, se podrían generar patrones (como las mejores rutas de entrega).
Los datos también podrían usarse para comprender anomalías como la fuga de datos
o actividades sospechosas de ser fraudulentas.
Machine Learning e inteligencia artificial
A medida que tus datos crecen en tamaño, se abren muchas oportunidades para que
los negocios vayan más allá de comprender las tendencias y los patrones empresariales.
El machine learning y la inteligencia artificial son ejemplos de innovaciones que
puedes aprovechar y utilizar con tus datos. Actualmente, desarrollar tu capacidad de
inteligencia artificial y machine learning es relativamente fácil gracias a la disponibilidad
de tecnologías y a la capacidad de escalar tu almacenamiento y computación en el
cloud.
ML e IA son términos que a menudo se mezclan. En pocas palabras, machine learning
es un subconjunto (o aplicación) de inteligencia artificial. El machine learning tiene
como objetivo permitir que los sistemas aprendan de conjuntos de datos anteriores
y se adapten automáticamente sin la necesidad de la intervención de las personas.
Esto es posible gracias a una serie de algoritmos que se aplican al conjunto de datos;
el algoritmo analiza los datos en tiempo casi real y luego presenta posibles acciones
en función de la precisión o la confianza derivadas de la experiencia previa.
El término "learning" (aprendizaje) indica que el programa aprende constantemente
de los datos que se le proporcionan. El objetivo del machine learning es luchar por la
precisión y no por el éxito. Existen dos categorías principales de algoritmos de machine
learning: supervisados y no supervisados.
Los algoritmos de machine learning supervisados crean una función de asignación
para asignar las variables de entrada con la variable de salida. El algoritmo usa los
conjuntos de datos existentes para entrenarse a sí mismo para predecir la salida.
La clasificación es una forma de ML supervisado que se puede usar en aplicaciones
como la categorización de imágenes o la segmentación de clientes, que se usa para
campañas de marketing específicas.

El machine learning no supervisado, por otro lado, es cuando dejas que el programa
encuentre un patrón propio sin utilizar ninguna etiqueta. Un buen ejemplo es
comprender los patrones de compra de los clientes al comprar productos.
Obtienes agrupaciones inherentes (agrupación en clústeres) de acuerdo con los
comportamientos de compra, y el programa puede asociar clientes y productos de
acuerdo con los patrones de compra. Por ejemplo, puedes discernir que los clientes
que compran el Producto A también tienden a comprar el Producto B. Este es un
ejemplo de un algoritmo de recomendación basado en el usuario y un análisis basado
en el mercado. Con el tiempo, lo que significaría para los usuarios es que cuando
compran un artículo en particular, como un libro, también se anima al usuario a
comprar otros libros que pertenezcan a la misma serie, género o categoría.
DataOps | 7

La inteligencia artificial va más allá de lo que puede hacer el machine learning. Se


trata de tomar decisiones y apuntar al éxito en lugar de a la precisión. Una forma de
pensar en ello es que el machine learning tiene como objetivo obtener conocimiento,
mientras que la inteligencia artificial apunta a la sabiduría o inteligencia. Un ejemplo
de IA en acción sería el robot Atlas de Boston Dynamic, que puede navegar libremente
en el mundo abierto y evitar obstáculos sin la ayuda del control de las personas. El
robot no depende completamente de los datos de los mapas históricos para navegar.
Sin embargo, para el machine learning, se trata de crear o predecir un patrón a partir
del análisis de datos históricos. Igual que con la navegación del robot, se trata de
comprender la ruta óptima mediante la creación de patrones basados en datos de
tráfico históricos y de origen público.
Configurar un almacén de datos moderno con análisis en el cloud es el factor clave en la
preparación para ejecutar ML/IA. Sin migrar las cargas de trabajo al cloud, los modelos
derivados de ML/IA se encontrarán con varios obstáculos para maximizar el valor
empresarial de estas tecnologías emergentes. Un almacén de datos moderno y una
canalización de análisis son la columna vertebral que las habilita.
Microsoft es líder en el campo del machine learning y la inteligencia artificial, ya que ha
impulsado mucha innovación en sus productos y herramientas, por ejemplo, el asistente
digital de Windows, Cortana y los títulos y subtítulos de Office 365. Ofrecen una gama
de productos, herramientas y servicios como Microsoft Cognitive Services, ML Studio,
el servicio Azure Machine Learning y ML.NET.
Microsoft está dando ejemplo con su iniciativa IA para el bien común, cuyo objetivo
es hacer que el mundo sea más sostenible y accesible a través de la IA. En particular,
un proyecto interesante es IA para el leopardo de las nieves, en el que Microsoft usa la
tecnología de la IA para detectar los leopardos de las nieves (que son casi invisibles en
entornos nevados) para proteger a las especies en peligro de extinción.
Explorar la inteligencia artificial y el aprendizaje profundo, específicamente los aspectos
de la ciencia de datos y la fórmula, no son el foco de este libro, pero se abordarán
algunos conceptos de vez en cuando en capítulos posteriores (puedes obtener más
información al respecto en el capítulo 3, Procesamiento y visualización de datos).

DataOps
Para ser eficiente y ágil con la implementación del análisis de datos en tu empresa,
necesitas la cultura y los procesos correctos. Aquí es donde entra en juego el concepto
de DataOps. DataOps elimina la barrera de coordinación entre los equipos de datos
(analistas, ingenieros y científicos) y de operaciones (administradores y responsables de
operaciones) para lograr velocidad y precisión en el análisis de datos.
8 | Introducción al análisis en Azure

DataOps trata sobre una cultura de colaboración entre diferentes roles y funciones. Los
científicos de datos tienen acceso a datos en tiempo real para explorarlos, prepararlos y
servirlos. Los procesos y flujos automatizados resultan valiosísimos para este esfuerzo
de colaboración entre analistas y desarrolladores, ya que proporcionan un fácil acceso
a estos datos a través de herramientas de visualización. Los datos relevantes se deben
servir a los usuarios finales a través de aplicaciones web o móviles; normalmente, esto
es posible con el uso de una interfaz de programación de aplicaciones (API). Para
los directores generales, DataOps significa una toma de decisiones más rápida, ya
que les permite supervisar su negocio a nivel general sin tener que esperar a que los
responsables de los equipos les informen sobre ello. En la figura siguiente se intenta
explicar la idea de una cultura colaborativa de DataOps:

Figura 1.1: Proceso de DataOps


¿Por qué te conviene usar Microsoft Azure? | 9

Una vez que un equipo alcanza la velocidad y precisión deseadas al probar sus
hipótesis (como la probabilidad de que alguien compre un producto en función de sus
características y comportamiento), puede obtener mejores conocimientos. Cuando se
dispone de mejores conocimientos, hay puntos de decisión más razonables y prácticos
para las partes interesadas del negocio que minimizan los riesgos y maximizan los
beneficios.

¿Por qué te conviene usar Microsoft Azure?


Microsoft Azure es un conjunto de servicios de computación en el cloud de
nivel empresarial creado por Microsoft utilizando sus propios centros de datos
administrados. Azure es el único cloud con una verdadera solución de análisis integral.
Con Azure, los analistas pueden obtener conocimiento en cuestión de segundos de
todos los datos de la empresa. Azure proporciona un flujo de datos sólido y maduro sin
limitaciones en la simultaneidad.
Azure admite infraestructura como servicio (IAAS), plataforma como servicio (PAAS)
y SAAS. Muchas instituciones gubernamentales en todo el mundo, así como el 95 % de
las compañías de Fortune 500, usan Azure, que abarca desde sectores como la atención
sanitaria y los servicios financieros hasta el comercio minorista y la fabricación.
Microsoft es un conglomerado tecnológico que ha permitido a muchas personas lograr
más con menos, durante décadas, con su software, sus herramientas y sus plataformas.
Azure proporciona flexibilidad. Las herramientas e infraestructuras familiares de
Microsoft (como SQL Server, Windows Server, Internet Information Services [IIS]
y .NET) o herramientas como MySQL, Linux, PHP, Python, Java o cualquier otra
tecnología de código abierto pueden ejecutarse en el cloud de Azure. Atrás quedaron
los días en que solo se podía trabajar en un conjunto aislado de herramientas y
tecnologías.
Azure te proporciona diferentes productos y servicios, en función de tus necesidades.
Tienes la opción de hacerlo todo de manera personalizada, desde administrar tu IAAS
con las máquinas virtuales de Windows Server con Enterprise SQL Server instalado,
hasta usar una de oferta de PAAS administrada como Azure Synapse Analytics
(encontrarás más información al respecto en el capítulo 2, Crear tu almacén de
datos moderno).
10 | Introducción al análisis en Azure

En la figura siguiente se muestra la amplia gama de herramientas y servicios de Azure


específicos de datos que se pueden usar para crear canalizaciones de datos integrales:

Figura 1.2: Servicios relacionados con datos de Microsoft Azure

Azure te otorga la flexibilidad de elegir el mejor enfoque para resolver un problema


por ti mismo, en lugar de verse obligado a ceder un producto menos adaptable para
realizar una función antinatural. Tampoco estás limitado solo a SQL Server. También
tienes la flexibilidad de elegir otros tipos de bases de datos o almacenamiento, ya sea
a través de un servicio instalado en un servidor de Linux o una solución en
contenedores, o una plataforma administrada (como Azure Cosmos DB para tus
instancias de Cassandra y MongoDB). Esto es muy importante porque, en el mundo
real, diferentes escenarios requieren diferentes soluciones, herramientas y productos.
Microsoft Azure te proporciona una plataforma integral, desde Azure Active Directory
para administrar tu identidad de usuario y acceso, hasta las ofertas de Azure IoT
(como IoT Hub) para recopilar datos de cientos y miles de dispositivos de IoT. También
proporciona servicios como herramientas de desarrollo y opciones de hosting en el
cloud para que tus desarrolladores se pongan al día, así como diferentes herramientas
de análisis y machine learning que permiten a los científicos de datos, ingenieros
de datos y analistas de datos ser más productivos (encontrarás más información al
respecto en el capítulo 3, Procesamiento y visualización de datos).
¿Por qué te conviene usar Microsoft Azure? | 11

El espectro completo de los servicios de Azure es demasiado amplio para cubrirlo aquí,
por lo que este libro se centrará en el conjunto de productos clave de almacenamiento
de datos y business intelligence: Azure Data Factory, Azure Data Lake, Azure Synapse
Analytics, Azure Databricks, Azure Analysis Services, Power BI y Azure Machine
Learning (consulta el capítulo 2, Crear tu almacén de datos moderno y el capítulo
3, Procesamiento y visualización de datos).

Seguridad
Microsoft considera que la seguridad es la máxima prioridad. Cuando se trata de datos,
la privacidad y la seguridad no son negociables; siempre habrá amenazas. Azure tiene
las funciones de seguridad y privacidad más avanzadas del espacio de análisis. Los
servicios de Azure admiten la protección de datos a través de redes virtuales (VNets)
para que, aunque estén en el cloud, el Internet público no pueda acceder a los puntos
de datos. Solo los usuarios de la misma red virtual pueden comunicarse entre sí. Para
aplicaciones web, obtienes un firewall de aplicaciones web (WAF) proporcionado
por Azure Application Gateway, que garantiza que solo las solicitudes válidas puedan
acceder a tu red.
Con el control de acceso basado en roles (autorización), puedes estar seguro de que
solo aquellas personas con los roles correctos, como los administradores, tengan
acceso a componentes específicos y a las capacidades de diferentes recursos. Por otro
lado, la autenticación, garantiza que si no tienes las credenciales correctas (como las
contraseñas), no podrás acceder a un recurso. La autorización y la autenticación están
integradas en varios servicios y componentes de Microsoft Azure con la ayuda de
Azure Active Directory.
Azure también proporciona un servicio llamado Azure Key Vault. Un almacén de claves
te permite almacenar y administrar de forma segura secretos y contraseñas, crear
claves de cifrado y administrar certificados para que las aplicaciones no tengan acceso
directo a claves privadas. Al seguir este patrón con el almacén de claves, no es necesario
que codifiques tus secretos y contraseñas en el repositorio de código fuente y scripts.
Azure Synapse Analytics usa ML e IA para proteger tus datos. En Azure SQL, Microsoft
proporciona seguridad de datos avanzada para garantizar que tus datos estén
protegidos. Esto incluye comprender si tu base de datos tiene vulnerabilidades, como
números de puerto, disponibles públicamente. Estas capacidades también te permiten
cumplir con varias normas, como GDPR (Reglamento general de protección de datos),
al garantizar que se clasifiquen los datos del cliente que se consideran confidenciales.
Azure SQL también ha anunciado recientemente sus nuevas características, seguridad
de nivel de fila (RLS) y seguridad de nivel de columna (CLS), para controlar el acceso
a filas y columnas en una tabla de base de datos, en función de las características del
usuario.
12 | Introducción al análisis en Azure

Microsoft invierte al menos mil millones de dólares cada año en el espacio de


ciberseguridad, incluida la plataforma Azure. Azure cuenta con varias credenciales
y premios de organismos de evaluación independientes, lo que garantiza que puedes
confiar en Azure en todos los aspectos de seguridad, desde la seguridad física
(que ningún usuario no autorizado pueda obtener acceso físico a los centros de datos)
hasta la seguridad en el nivel de aplicación.
Estas son algunas características de seguridad que debes tener en cuenta si mantienes
tu propio centro de datos.

Escala de cloud
Azure ha cambiado el sector al hacer que el análisis de datos sea rentable. Antes de
la adopción masiva de la computación en el cloud, para planificar el análisis de datos
con terabytes, o incluso petabytes, de datos, tenías que planificar adecuadamente las
cosas y asegurarte de tener el capital para llevarlas a cabo. Esto significa que solo para
empezar se debería contar con una infraestructura inicial muy alta y costes de servicios
profesionales. Pero, con Azure, puedes empezar poco a poco (muchos de los servicios
tienen niveles gratuitos). Puedes escalar tus recursos en el cloud sin esfuerzo hacia
arriba o hacia abajo, dentro o fuera, en cuestión de minutos. Azure ha democratizado
la capacidad de escalado al hacerla económicamente viable y accesible para todos,
como se muestra en la figura 1.3:

Figura 1.3: Regiones de Microsoft Azure


¿Por qué te conviene usar Microsoft Azure? | 13

Actualmente, Microsoft Azure tiene 54 regiones que admiten 140 países. Algunas
empresas y sectores de negocio requieren que sus datos estén alojados en el mismo
país que las operaciones comerciales. Con la disponibilidad de diferentes centros de
datos en todo el mundo, es fácil expandirse a otras regiones. Este enfoque de múltiples
regiones también es beneficioso en términos de hacer que tus aplicaciones estén
altamente disponibles.
El verdadero poder del cloud es su elasticidad. Esto te permite no solo aumentar los
recursos, sino también reducirlos cuando sea necesario. En la ciencia de datos, esto
es muy útil porque la ciencia de datos conlleva cargas de trabajo variables. Cuando los
ingenieros y científicos de datos analizan un conjunto de datos, por ejemplo, existe
la necesidad de más computación. Azure, a través de Databricks (más información al
respecto en el capítulo 2, Crear tu almacén de datos moderno), te permite escalar según
la demanda. Luego, durante las horas de menor actividad (como de 7 p. m. a 7 a. m. entre
semana y fines de semana), cuando los científicos e ingenieros no necesitan la potencia
de procesamiento para analizar los datos, puedes reducir tus recursos para que no
tengas que pagar por la ejecución de recursos 24/7. Databricks ofrece básicamente
un servicio de "pago por uso" o "pago por lo que usas".
Azure también proporciona un acuerdo de nivel de servicio (SLA) para sus servicios
como sus compromisos para garantizar el tiempo de actividad y la conectividad para
sus clientes de producción. Si se produce un tiempo de inactividad o un incidente,
se aplicarán créditos de servicio (reembolsos) a los recursos afectados. Esto te dará
tranquilidad, ya que tu aplicación siempre estará disponible con una cantidad mínima
de tiempo de inactividad.
Existen diferentes enfoques y patrones de escala que proporciona Microsoft Azure:
• Escalado vertical: es cuando se agregan más recursos a la misma instancia
(servidor o servicio). Un ejemplo de esto es cuando una máquina virtual se
aumenta de 4 GB de RAM a 16 GB de RAM. Este es un enfoque simple y directo
que puedes adoptar cuando tu aplicación necesita escalarse. Sin embargo, existe
un límite máximo técnico sobre cuánto puede ampliarse una instancia, y es el
enfoque de escalado más costoso.
• Escalado horizontal: es cuando implementas tu aplicación en varias instancias.
Lógicamente, esto significaría que puedes escalar tu aplicación de forma infinita
porque no usas un solo equipo para realizar las operaciones. Esta flexibilidad
también introduce algunas complejidades. Por regla general, estas complejidades
se abordan mediante la realización de diversos patrones y el uso de diferentes
tecnologías de orquestación, como Docker y Kubernetes.
14 | Introducción al análisis en Azure

• Escalado geográfico: es cuando escalas tus aplicaciones a diferentes ubicaciones


geográficas por dos razones principales: resiliencia y latencia reducida. La
resiliencia permite que tu aplicación funcione libremente en esa región sin que
todos los recursos estén conectados a una región maestra. La latencia reducida
significa que los usuarios de esa región pueden obtener sus solicitudes web más
rápido debido a su proximidad al centro de datos.
• Particionamiento: es una de las técnicas para distribuir grandes volúmenes de
datos estructurados relacionados en múltiples bases de datos independientes.
• Desarrollo, pruebas, aceptación y producción (DTAP): es el enfoque de tener
múltiples instancias en diferentes entornos lógicos. Normalmente, esto se hace
para separar los servidores de desarrollo y pruebas de los servidores de ensayo
y producción. Azure DevTest Labs ofrece un entorno de desarrollo y pruebas
que se puede configurar con políticas de grupo.
Otra ventaja de que tu negocio se escale en el cloud es la disponibilidad de tus servicios.
Con Azure, es más fácil hacer que tu infraestructura y recursos sean redundantes
geográficamente, es decir, que estén disponibles para múltiples regiones y centros
de datos en todo el mundo. Digamos que quieres expandir tu negocio de Australia
a Canadá. Puedes lograrlo haciendo que tu SQL Server sea de redundancia geográfica
para que los usuarios canadienses no tengan que consultar la aplicación y la instancia
de la base de datos en Australia.
Azure, a pesar de ser un conjunto colectivo de productos y ofertas de servicios, no
te obliga al "todo incluido". Esto significa que puedes comenzar implementando una
arquitectura híbrida de centros de datos on-premises combinados y en el cloud (Azure).
Existen diferentes enfoques y tecnologías involucrados en una solución híbrida, como
el uso de redes privadas virtuales (VPN) y Azure ExpressRoute, si necesitas acceso
dedicado.
Con Azure Data Factory (más información al respecto en el capítulo 2, Crear tu
almacén de datos moderno), Azure te permite obtener una instantánea de los orígenes
de datos de tu SQL Server on-premises. El mismo concepto se aplica cuando tienes
otros orígenes de datos de otros proveedores de cloud o productos SAAS; tienes
la flexibilidad de obtener una copia de esos datos en tu data lake de Azure. Esta
flexibilidad es muy conveniente porque no te coloca en una posición de dependencia
de un proveedor donde debes realizar una migración completa.

Principales motivos empresariales para adoptar el análisis de


datos en el cloud
Diferentes empresas tienen diferentes razones para adoptar el análisis de datos
utilizando un cloud público como Microsoft Azure. Pero la mayoría de las veces, se
reduce a tres razones principales: crecimiento y escalado rápidos, reducción de costes
e impulso de la innovación.
Principales motivos empresariales para adoptar el análisis de datos en el cloud | 15

Crecimiento y escalado rápidos


Las empresas y los negocios necesitan expandir rápidamente su huella digital. Con
el rápido crecimiento de las aplicaciones móviles, en particular de los tipos de medios
(como imágenes y vídeos), sensores del IoT y datos de redes sociales, hay muchos
datos para capturar. Esto significa que las empresas y los negocios necesitan escalar
su infraestructura para soportar estas demandas masivas. Los tamaños de las bases de
datos de la empresa crecen continuamente de gigabytes de datos a terabytes, o incluso
petabytes, de datos.
Ahora, los usuarios finales son más exigentes que nunca. Si tu aplicación no responde
en cuestión de segundos, lo más probable es que el usuario se desconecte de tu servicio
o producto.
El escalado no solo se aplica a los consumidores de las aplicaciones; también es
importante para los científicos de datos, los ingenieros de datos y los analistas de
datos para analizar los datos de una empresa. Escalar una infraestructura es vital, ya
que no puedes esperar que tus ingenieros de datos manejen grandes cantidades de
datos (de gigabytes a terabytes) y ejecuten scripts para probar los modelos de datos
en un solo equipo. Incluso si ofreces esto en una única instancia de servidor de alto
rendimiento, llevará semanas o días terminar la prueba, sin mencionar el hecho de que
provocará cuellos de botella de rendimiento para los usuarios finales que consumen la
misma base de datos.

Con un almacén de datos moderno como Azure Synapse Analytics, tienes algunas
capacidades administradas para escalar, como una capa de almacenamiento en caché
dedicada. El almacenamiento en caché permitirá a los analistas, los ingenieros y los
científicos realizar consultas con más rapidez.
Reducir los costes
Debido a las demandas de escalado, las empresas y los negocios deben tener un
mecanismo para expandir su infraestructura de datos de una manera rentable y
financieramente viable. Es demasiado costoso configurar un almacén de datos
on-premises. Las siguientes son solo algunas de las consideraciones de costes:
• El tiempo de espera para la entrega del servidor y los procesos de adquisición
internos asociados
• Redes y otros costes de infraestructura física, como la refrigeración de hardware
y la gestión de inmuebles en centros de datos
• Costes de servicios profesionales asociados con la configuración y el
mantenimiento de estos servidores
• Costes de licencia (si hay)
• La productividad perdida de personas y equipos que no pueden enviar sus
productos más rápido
16 | Introducción al análisis en Azure

Con un almacén de datos moderno, puedes lanzar nuevos servidores de alto


rendimiento con tarjetas gráficas de alto rendimiento a petición. Y con el uso de
un proveedor de cloud como Microsoft Azure, solo tendrás que pagar por el tiempo
de uso de estos servidores. Puedes cerrarlos si ya no los necesitas. No solo puedes
desactivarlos a petición, sino que si resulta que un servicio en particular no es adecuado
para tus necesidades, puedes eliminar estos recursos y simplemente proporcionar otro
servicio.
Azure también ofrece un descuento para instancias "reservadas" que te comprometes
a utilizar durante un período de tiempo específico. Son muy útiles para aquellas
bases de datos, soluciones de almacenamiento y aplicaciones que necesitan estar
en funcionamiento las 24 horas del día, los 7 días de la semana, con un tiempo de
inactividad mínimo.
Impulsar la innovación
Las empresas necesitan innovar constantemente en este mercado tan competitivo;
de lo contrario, aparecerá otro y se quedará con la cuota de mercado. Pero obviamente,
nadie puede predecir el futuro con una precisión del 100 %; por lo tanto, las empresas
necesitan tener un mecanismo para explorar cosas nuevas en función de sus
conocimientos.
Un buen ejemplo de esto son las industrias de subcontratación de procesos
empresariales (BPO) y telecomunicaciones (telco), donde hay petabytes de datos que
aún no se han explorado. Con el almacén de datos moderno de Microsoft Azure, los
actores de tales industrias pueden tener la infraestructura para la exploración de datos.
Con Azure Data Lake, Azure Data Factory, Azure Synapse Analytics, Azure Databricks,
Power BI y Azure Machine Learning, pueden explorar sus datos para impulsar las
decisiones empresariales. Tal vez puedan llegar a un modelo de datos que pueda
detectar acciones fraudulentas o comprender mejor las preferencias y las expectativas
de sus clientes para mejorar las puntuaciones de satisfacción. Con análisis avanzados,
estas empresas pueden llegar a tomar decisiones relevantes hoy (y posiblemente en el
futuro) y no solo se limitan a analizar datos históricos.

¿Qué pasa si quieres crear un vehículo autónomo? Necesitarás un almacén de


datos robusto para almacenar tus conjuntos de datos y una enorme cantidad de
procesamiento de datos. Debes capturar ingentes cantidades de datos, ya sea a través
de imágenes o vídeos que el vehículo captura continuamente, y debes encontrar una
respuesta casi al instante basada en el conjunto de datos y los algoritmos.
El uso de un proveedor de cloud como Microsoft Azure te permitiría probar y validar
tus ideas desde el principio, sin la necesidad de realizar una gran inversión. Con Azure,
puedes crear rápidamente prototipos de tus ideas y explorar posibilidades. ¿Qué
sucede si resulta que el producto o servicio en el que tú o tu equipo estáis trabajando
realmente no se desarrolla adecuadamente? Si lo haces on-premises, seguirás
teniendo altos costes de responsabilidad y operación, ya que posees la infraestructura
físicamente, además de los costes de licencias y servicios asociados.
¿Por qué necesitas un almacén de datos moderno? | 17

¿Por qué necesitas un almacén de datos moderno?


Un almacén de datos es un repositorio centralizado que agrega diferentes orígenes
de datos (a menudo dispares). La diferencia principal entre un almacén de datos y una
base de datos es que los almacenes de datos están destinados a OLAP (procesamiento
analítico online) y las bases de datos, por otro lado, están destinadas a OLTP
(procesamiento de transacciones en línea). OLAP significa que los almacenes de datos
se utilizan principalmente para generar análisis, business intelligence e incluso modelos
de machine learning. OLTP significa que las bases de datos se utilizan principalmente
para transacciones. Estas transacciones son las operaciones diarias de las aplicaciones
en las que leen y escriben datos en bases de datos simultáneamente.
Un almacén de datos es esencial si deseas analizar tu big data, ya que también contiene
datos históricos (a menudo denominados datos en frío). La mayoría de los datos
almacenados tienen información heredada, como los datos almacenados hace 5 años,
hace 10 años o incluso hace 15 años. Probablemente no quieres que la misma instancia
de la base de datos en la que tus usuarios finales realizan consultas también contenga
esos datos históricos, ya que eso podría afectar su rendimiento cuando esté a escala.
Estas son algunas de las ventajas de tener un almacén de datos moderno:
• Admite cualquier origen de datos
• Altamente escalable y disponible
• Proporciona conocimiento de paneles analíticos en tiempo real
• Admite un entorno de machine learning

Las diversas herramientas y servicios que constituyen el almacén de datos moderno


están conectados entre sí de la siguiente manera:

Figura 1.4: Arquitectura de un almacén de datos moderno


18 | Introducción al análisis en Azure

Existen muchos patrones y arquitecturas emergentes para el almacén de datos, pero los
más populares son aquellos que admiten la separación de deberes y responsabilidades
en diferentes fases de la canalización de datos (encontrarás más información al respecto
en la sección Crear una canalización de datos).
Para entender lo que significa que un almacén de datos sea moderno, primero debes
comprender cómo se crea y se administra uno tradicional. Se reduce a dos conceptos
principales:
• Proceso: se refiere a la capacidad de procesar los datos y darles sentido. Puede
ser en forma de consulta de base de datos para que los resultados sean accesibles
a otra interfaz, como las aplicaciones web.
• Almacenamiento: se refiere a la capacidad de mantener los datos para que sean
accesibles en cualquier momento en el futuro.

Un almacén de datos moderno separa la computación y el almacenamiento de manera


rentable. A diferencia del caso tradicional con SQL Server y SQL Server Integration
Services (SSIS), el modelo de precios implica tanto la capacidad de almacenamiento
como la potencia de computación para analizar datos. Azure es el primer proveedor de
cloud que ofrece un almacén de datos que separa la computación y el almacenamiento.
Otro cambio en el patrón es que el modelo ETL (extracción, transformación y carga)
tradicional de almacenamiento de datos ahora ha cambiado a ELT (extracción, carga
y transformación). En el modelo ETL tradicional, los analistas están acostumbrados
a esperar a que los datos se transformen primero, ya que no tienen acceso directo
a todos los orígenes de datos. En un almacén de datos moderno, se pueden almacenar
grandes cantidades de datos en un data lake o en un almacén de datos, y los analistas
pueden transformarlos en cualquier momento sin la necesidad de esperar a que los
ingenieros de datos o los administradores de bases de datos sirvan los datos.
Por supuesto, hay más factores que tener en cuenta para modernizar el almacén
de datos, como la extensibilidad, la recuperación ante desastres y la disponibilidad.
Sin embargo, por el momento, en esta sección nos centraremos en el proceso.
¿Por qué necesitas un almacén de datos moderno? | 19

Unifica tus datos


En el pasado, las bases de datos solían ser el único origen de datos para tus
aplicaciones. Pero hoy en día, tienes cientos y miles de orígenes de datos diferentes.
Los datos que provienen de estas fuentes tienen diferentes tipos de datos, algunos
estructurados, otros no estructurados.
Datos estructurados: el término "estructurado" sugiere que hay un patrón que puede
interpretarse fácilmente. Esto generalmente viene con un conjunto predefinido
de modelos y un esquema. Un sistema de administración de bases de datos
relacionales (RDBMS) como Microsoft SQL Server es un ejemplo común de solución
de almacenamiento de datos estructurados. Esto se debe a que viene con un esquema
de base de datos y columnas de tabla que definen los datos que se están almacenando.
A continuación, encontramos algunos ejemplos de tipos de datos estructurados:
• Nombres de clientes
• Direcciones
• Geolocalización
• Fecha y hora
• Números de teléfono fijo y móvil
• Números de tarjeta de crédito
• Nombres de productos y referencias de almacén (SKU)
• Información general de la transacción, como "Desde" y "Hasta" con marcas de
tiempo y valores de importe

Un buen ejemplo de datos estructurados es la información proporcionada por los


usuarios cuando se registran en una aplicación por primera vez. Se les presenta un
formulario que deben rellenar. Una vez que esa persona hace clic en el botón Submit
(Enviar), envía los datos a una base de datos y los introduce en una tabla de usuario
con columnas predefinidas: nombres, direcciones y otra información. Esto permitirá al
usuario iniciar sesión en la aplicación, ya que el sistema ahora puede buscar el registro
existente para el usuario registrado en la base de datos.
20 | Introducción al análisis en Azure

A partir de ahí, un usuario puede acceder a la aplicación y realizar transacciones,


como transferir dinero y activos. Con el tiempo, los usuarios generarán una serie de
transacciones que finalmente agrandarán su base de datos. El esquema de la base de
datos también se expandirá para admitir diferentes requisitos comerciales.
Una vez que tengas suficientes datos, puedes realizar la exploración de datos. Aquí
es donde comienzas a buscar patrones en los datos. Puedes identificar transacciones
fraudulentas y probar hipótesis analizando importes de transacciones grandes y
repetidos del mismo usuario.
Tu exploración de datos es limitada porque solo puedes basarla en un conjunto de datos
estructurado y con forma semántica. ¿Qué sucede si también deseas tener en cuenta
otros orígenes de datos no estructurados, como texto en formato libre? Un ejemplo
es una descripción de la transacción, que puede indicar la naturaleza o el destinatario
de la transacción. No deseas leer manualmente la descripción de cada transacción e
insertarla en la columna derecha de una tabla de base de datos. Probablemente desees
extraer solo la información relevante y transformarla en un formato estructurado. Aquí
es donde entran en juego los datos no estructurados.
Datos no estructurados: este tipo de datos, más o menos, es el "resto"; es decir, todo
lo que no son datos estructurados. Esto se debe principalmente a que no estás limitado
a nada. Por regla general, los tipos de datos no estructurados no tienen un modelo de
datos predefinido que pueda ajustarse directamente a una base de datos. Los datos no
estructurados pueden tener "texto pesado" y normalmente se leen por línea o están
separados por espacios. A continuación, encontramos algunos ejemplos de orígenes
de datos no estructurados:
• Archivos de imagen
• Vídeos
• Documentos y mensajes de correo electrónico
• Archivos de registro
• Sensores y dispositivos de IoT
• Bases de datos NoSQL como MongoDB
• Redes sociales y Microsoft Graph

Los archivos de imagen y los vídeos se clasifican como datos no estructurados debido
a su naturaleza dinámica. Aunque sus metadatos se pueden considerar "estructurados"
(como el título, el artista, el nombre de archivo, etc.), el contenido en sí no está
estructurado. Con herramientas modernas y tecnología de análisis de datos, ahora
puedes examinar estos datos y darles sentido. El ejemplo habitual es el reconocimiento
facial en imágenes o vídeos.
¿Por qué necesitas un almacén de datos moderno? | 21

Los correos electrónicos, documentos y archivos de registro tienen metadatos, pero


lo que realmente te interesa es el contenido de esos archivos. Por lo general, en los
correos electrónicos, documentos y archivos de registro, los datos se separan por
línea y los mensajes no están estructurados. Aquí querrás describir el contenido sin
leerlo todo manualmente (podría tratarse de cientos o incluso millones de archivos).
Un ejemplo es hacer un análisis de opinión sobre el contenido para determinar si
la emoción predominante es la felicidad, la tristeza o el enojo. Para los archivos de
registro, probablemente desees separar los mensajes de error, las marcas de tiempo
(fechas) y las medidas (rastros) entre los mensajes.
Los dispositivos y sensores de IoT, de manera similar a los archivos de registro,
se utilizan para capturar mediciones y errores sobre un determinado elemento.
La principal diferencia es que estos dispositivos, generalmente, funcionan en una
gran escala de clústeres (de cientos a miles de dispositivos) y transmiten datos
continuamente. Los datos generados por estos dispositivos son semiestructurados
o no estructurados, ya que están en formato JSON o XML. Las tecnologías modernas,
como los servicios de Azure IoT, ya resuelven estas complejidades con servicios
como Azure IoT Hub, que agrega todos estos datos de varios sensores y los exporta
continuamente a un origen de datos. A veces, puedes clasificar estos datos como
semiestructurados, ya que estos rastros y registros son cosas que un sistema puede
comprender fácilmente.
Las plataformas de redes sociales y Microsoft Graph proporcionan datos
semiestructurados. Se clasifica de esta manera porque no basta con consultar todos
los tweets de Twitter sobre un tema. En realidad, los resultados no tienen mucho
sentido hasta que se analizan. El objetivo principal es discernir patrones y anomalías.
Por ejemplo, es posible que desees identificar tendencias sobre noticias y temas, pero
también deseas eliminar datos que son irrelevantes, como los tweets que provienen de
cuentas falsas.
Curiosamente, algunas aplicaciones de línea de negocio (LOB) proporcionan datos
estructurados y no estructurados. Por ejemplo, tanto Microsoft Dynamics CRM como
Salesforce proporcionan datos estructurados que se pueden interpretar y exportar
fácilmente a las tablas de base de datos SQL, como datos de productos, sus cantidades
y el valor. Sin embargo, también admiten datos no estructurados, como imágenes,
vídeos y "texto de nota". Ten en cuenta que, aunque el "texto de nota" es una cadena,
todavía puede considerarse datos no estructurados porque está diseñado para
ser "texto libre". No tiene un formato adecuado para seguir, pero aún vale la pena
explorarlo. Un escenario común para su uso es entender por qué las ventas no
tuvieron éxito.
22 | Introducción al análisis en Azure

Crear una canalización de datos


Después de identificar tus orígenes de datos, el siguiente paso es crear una canalización
de datos (a veces también denominada flujo de datos). En líneas generales, los pasos
involucrados son la adquisición de datos, el almacenamiento de datos, la preparación
y el entrenamiento de datos, el modelado y servicio de datos, y la visualización de datos.
Con este enfoque, diseñarás una arquitectura altamente escalable que sirva a todos los
usuarios del sistema: desde usuarios finales, ingenieros de datos y científicos que están
haciendo la exploración de datos, y analistas que interpretan los datos para el negocio,
incluso al director general si quiere ver lo que sucede con el negocio en tiempo real:

Figura 1.5: Ejemplo de canalización de datos

Adquisición de datos
La adquisición de datos significa transferir datos (estructurados y no estructurados)
desde el origen a su almacenamiento, data lake o almacén de datos.
Esto implicaría algo como que Azure Data Factory (encontrarás más información al
respecto en el capítulo 2, Crear tu almacén de datos moderno) transfiera datos de varios
orígenes, como bases de datos on-premises y productos SAAS, a un data lake. Este paso
te permite administrar tus flujos de trabajo de extracción, transformación y carga
(ETL) y extracción, carga y transformación (ELT) sin la necesidad de la reconciliación
manual.
Crear una canalización de datos | 23

Este no es un proceso de una sola vez. Idealmente, es algo que programas o estableces
que se active para que tu data lake obtenga una instantánea histórica de vez en cuando.
Un ejemplo de esto es una conexión desde tus herramientas de CRM, como Microsoft
Dynamics CRM, a Azure Data Lake a través de Azure Data Factory. Esto permitirá a los
científicos e ingenieros de datos explorar estos datos en diferentes intervalos de tiempo
sin interrumpir la aplicación CRM real.

Almacenamiento de datos
Una vez que los datos se han adquirido de varios orígenes de datos, todos los datos se
almacenan en un data lake. Los datos que residen dentro del lake seguirán en formato
sin procesar e incluyen formatos de datos estructurados y no estructurados. En este
punto, los datos no aportarán mucho valor para generar conocimientos empresariales.

Orquestación y supervisión de la canalización de datos


En un escenario de almacenamiento de datos moderno, es muy importante que los
orígenes de datos y los servicios transfieran datos de manera eficiente del origen al
destino. Azure Data Factory es un orquestador que permite a los servicios realizar la
migración o transferencia de datos. No es el encargado de realizar la transferencia real,
sino que indica a un servicio que lo realice; por ejemplo, un clúster de Hadoop para
realizar una consulta de Hive.
Azure Data Factory también permite crear alertas y métricas para notificarte cuándo
la orquestación del servicio está funcionando. Puedes crear una alerta por correo
electrónico, en caso de que la transferencia de datos no haya sido correcta desde
el origen hasta el destino.

Uso compartido de datos


En un patrón de almacén de datos moderno, compartir datos debe ser transparente
y seguro. Muchas veces esto se puede hacer a través de FTP (protocolo de transferencia
de archivos), correos electrónicos o API, solo por nombrar algunos. Existe una gran
sobrecarga administrativa si deseas compartir datos a escala. Azure Data Share te
permite administrar y compartir tu big data de manera segura con otras partes
y organizaciones. El proveedor de datos tendrá el control total de quién puede
acceder a los conjuntos de datos y los permisos de cada uno. Esto facilita a las
empresas dependientes obtener conocimiento y explorar escenarios de inteligencia
artificial.
24 | Introducción al análisis en Azure

Preparación de datos
Una vez que se adquieren los datos, el siguiente paso es la preparación de datos. Esta es
una fase en la que los datos de diferentes orígenes de datos se procesan previamente
para fines de análisis de datos. Un ejemplo de esto es consultar datos de una API
e insertarlos en una tabla de base de datos. Azure Data Factory te permite organizar
esta preparación de datos. Azure Databricks también puede ser útil con la preparación
de datos, ya que puede ejecutar clústeres al mismo tiempo para procesar grandes
cantidades de datos en cuestión de segundos o minutos.

Transformación, predicción y enriquecimiento de datos


A veces, la preparación de datos requiere más cambios más allá de un simple escenario
de "copiar y pegar". Aquí es donde entra en juego la transformación de datos. Hay casos
en los que primero deseas aplicar una lógica personalizada en los datos sin procesar,
aplicando filtros, por ejemplo, antes de decidir transferirlos a un almacén de datos.
Azure Data Factory y Azure Databricks también pueden ser útiles en este escenario.
Además, puedes enriquecer los datos por lotes a escala invocando un servicio Azure
Machine Learning que realiza predicciones en tiempo real sobre los datos. Esto se
puede realizar como una característica adicional en tu canalización de datos en Azure
Data Factory. Para obtener más información sobre el servicio Azure Machine Learning,
consulta el capítulo 3, Procesamiento y visualización de datos.

Puesta a disposición de los datos


Después de preparar y entrenar tus datos, estarás listo para modelarlos y ofrecerlos
a los consumidores. En esta fase, básicamente, modelas los datos para que los sistemas
los entiendan con facilidad. Normalmente, esto implica realizar las consultas complejas
que generaste a partir de la preparación de datos y la fase de entrenamiento, e insertar
estos registros en una base de datos para que los datos estén estructurados en una
tabla y esquema definidos.
Todos los datos analíticos de tu empresa se almacenan en un almacén de datos.
Potencialmente, tienes cientos de miles de usuarios, informes y paneles simultáneos
que se ejecutan en un único almacén de datos.
Por lo general, realizas las integraciones de servicios y el modelado de datos con una
plataforma de almacenamiento de datos como Microsoft Azure Synapse Analytics.
Las consultas complejas y completas pueden llevar horas o días. Pero con el poder
del cloud, puedes escalar tu Azure Synapse Analytics para realizar estas consultas
más rápido, convirtiendo los días en horas y las horas en minutos (encontrarás más
información al respecto en el capítulo 2, Crear tu almacén de datos moderno).
Crear una canalización de datos | 25

Visualización de datos
La visualización de datos es una forma eficaz de analizar el rendimiento mediante
gráficos y tablas. Esto se llama business intelligence. Herramientas como Power BI
ayudan a los analistas a aprovechar los datos al máximo. La visualización de datos
proporciona una representación rica y elocuente de tus datos que agrega valor
empresarial para ti y tus clientes. El equipo puede ver tendencias, valores atípicos
y patrones que ayudan a tomar decisiones basadas en datos.
Las diferentes partes interesadas de la organización pueden colaborar después
de analizar los diferentes parámetros de rendimiento. ¿Tu empresa vende bien los
productos? ¿En qué regiones obtienes la mayoría de las ventas? Con una gran cantidad
de datos que respaldan tus suposiciones, las partes interesadas del negocio, como
los directores generales, pueden tomar decisiones razonables basadas en datos para
minimizar los riesgos. ¿Qué líneas de productos debes expandir? ¿Dónde deberías
expandirte más? Estas son algunas de las preguntas comunes que puedes responder
una vez que tengas un análisis de datos más rico.
Los analistas pueden usar herramientas de escritorio o aplicaciones web para crear
representaciones elocuentes de sus datos. A continuación, se muestra una vista de
escritorio de Power BI donde un usuario puede realizar un análisis de los datos de su
empresa y visualizarlos en gráficos:

Figura 1.6: Panel de Power BI en el escritorio


26 | Introducción al análisis en Azure

Una vez que se generan los informes, se pueden exportar a un espacio de trabajo
donde las personas pueden trabajar juntas para mejorar los informes. A continuación se
muestra una vista de ejemplo del mismo informe en una aplicación móvil. Los usuarios
pueden agregar comentarios y anotaciones al informe, lo que permite un ciclo de
comentarios más rápido para los analistas:

Figura 1.7: Panel de Power BI para dispositivos móviles

Power BI te permite crear paneles personalizados ricos que se adapten mejor a tus
requisitos y a tu marca. En comparación con las presentaciones con una instantánea de
un gráfico de la semana pasada o el mes pasado, este mecanismo te permite actualizar
el mismo informe una y otra vez.

Aplicaciones más inteligentes


El machine learning ha ayudado a las empresas a crear aplicaciones y productos como
chatbots que realizan tareas específicas para los usuarios finales sin la necesidad de
la intervención humana. Algunos ejemplos comunes son los asistentes de voz, como
Cortana, que aprenden activamente a ayudarnos a ser más productivos con nuestras
tareas cotidianas.
Otros ejemplos son los juegos online en los que fácilmente puedes realizar un
seguimiento de tu rendimiento y compararlo con el de los demás jugadores. Puedes
comprender mejor tu clasificación, en qué áreas destacas, qué debes mejorar y cómo
puedes hacerlo.
La cantidad de tareas que puedes realizar con datos enriquecidos es prácticamente
ilimitada, pero para realizarlas, debes tener el enfoque y la infraestructura adecuados
para manejar un alto nivel de escalado.
Resumen | 27

Resumen
En este capítulo hemos establecido la importancia del análisis de datos. También se han
destacado varias razones por las cuales Microsoft Azure es una plataforma ideal para
lograr capacidades de business intelligence en el cloud. También hemos hablado sobre
algunos conceptos fundamentales en torno a big data, machine learning y DataOps.
Además, has podido ver algunos de los motivos empresariales para adoptar el análisis de
datos en el cloud. Por último, has obtenido una vista general de lo que se necesita para
tener un almacén de datos moderno.
En el próximo capítulo, verás cómo comenzar a diseñar un almacén de datos moderno
con Azure Data Factory, Azure Databricks, Azure Data Lake, Azure Synapse Analytics
y tecnologías relacionadas.
Crear tu almacén
2
de datos moderno

En los últimos años, el big data ha adquirido una mayor relevancia en todo el mundo.
Dado el volumen masivo de datos, es necesario disponer de plataformas, herramientas
y almacenamiento especializados para procesarlos y analizarlos.
En el capítulo 1, Introducción al análisis en Azure, pudiste ver una introducción a Azure
y descubrir los tipos de plataformas, herramientas y recursos que ofrece Azure para
facilitar la creación de soluciones de almacenamiento de datos.
En este capítulo profundizaremos en cada una de las cuatro tecnologías clave
siguientes:
• Azure Synapse Analytics (anteriormente conocido como Azure SQL Data
Warehouse)
• Azure Data Factory
• Azure Data Lake Storage Gen2
• Azure Databricks
30 | Crear tu almacén de datos moderno

Al final de este capítulo, entenderás mejor cómo puedes usar estas tecnologías para
crear tu propia solución de almacenamiento de datos moderno. Prepárate, pues
estamos a punto de comenzar nuestro recorrido.

¿Qué es un almacén de datos moderno?


Un almacén de datos moderno te permite adquirir datos procedentes de diversos
orígenes de datos a cualquier escala, ya sea on-premises o en el cloud, para producir
conocimientos valiosos para tu negocio. La ventaja que ofrece un almacén de
datos moderno es que el origen de datos puede basarse en datos estructurados,
semiestructurados o no estructurados. En la siguiente figura se ofrecen ejemplos de
cada uno de ellos:

Figura 2.1: Ejemplos de distintos tipos de orígenes de datos

Este es un diagrama de flujo arquitectónico y de datos típico de un almacén de datos


moderno:

Figura 2.2: Arquitectura de un almacén de datos moderno


Azure Synapse Analytics | 31

El flujo arquitectónico y de datos es el siguiente:


1. El ciclo de vida de un almacén de datos moderno comienza con la fase de
adquisición. Puedes reunir datos procedentes de diversos orígenes, ya sean
estructurados, semiestructurados o no estructurados, con Azure Data Factory y
almacenar los datos en Azure Data Lake Storage Gen2.
2. Para preparar los datos, puedes limpiar y transformar los datos almacenados en
Azure Data Lake Storage Gen2 mediante la realización de análisis escalables con
Azure Databricks.
3. Una vez que se han limpiado y transformado por completo, los datos se pueden
anexar a los datos existentes en la base de datos de almacenamiento de Azure.
Puedes consultar o mover estos datos utilizando conectores entre Azure Synapse
Analytics y Azure Databricks.
4. Los datos preparados según el procedimiento descrito en el punto 3 pueden
consumirse como informes o como algún tipo de paneles para análisis de datos.
5. Para completar el flujo de trabajo del almacén de datos moderno, puedes ejecutar
consultas ad hoc en los datos directamente desde Azure Databricks y visualizar
los resultados en Power BI (esto se tratará en el capítulo 3, Procesamiento y
visualización de datos).

En este capítulo, nos centraremos específicamente en los pasos 1, 2 y 3. Abordaremos


los pasos 4 y 5 en el capítulo siguiente.
Las siguientes secciones te ofrecen una introducción a cada uno de los servicios de
Azure descritos anteriormente, incluidas sus respectivas características y ventajas.

Azure Synapse Analytics


Azure Synapse Analytics (anteriormente conocido como Azure SQL Data Warehouse)
es un servicio de análisis ilimitado que combina almacenamiento y big data de nivel
empresarial. Tiene la capacidad de realizar el procesamiento de datos masivos
simultáneamente. En esta sección, descubrirás las características y ventajas que ofrece
Azure Synapse Analytics. Más adelante en este capítulo, aprenderás cómo aprovisionar
tu propio Azure Synapse Analytics en la Guía de inicio rápido.
32 | Crear tu almacén de datos moderno

Características
Azure Synapse Analytics ofrece las siguientes características:
• Capacidad para ejecutar hasta 128 consultas simultáneamente mediante
procesamiento paralelo masivo (MPP)
• Computación y almacenamiento independientes
• El almacén de datos en el cloud más rentable
• Posibilidad de detener las bases de datos temporalmente y de volver a reanudarlas
en pocos segundos
• Capacidad para crear tus propios trabajos y conectar fácilmente con cualquier
conector para servicios de integración y visualización de datos
• Compatibilidad con la legislación de protección de datos de más de 30 países
de todo el mundo
• Almacenamiento de datos en caché integrado, con consultas de datos
y rendimiento más rápidos

Ventajas
Azure Synapse Analytics te ofrece las siguientes ventajas:
• Escalabilidad sencilla y acorde a las necesidades de tu carga de trabajo
• Rentabilidad gracias al concepto de "pago por uso" de Azure
• Disponibilidad del 99,9 % garantizada
Azure Data Factory | 33

Azure Data Factory


Azure Data Factory (ADF) es una herramienta totalmente administrada, de alta
escalabilidad y disponibilidad, y fácil de usar que permite crear soluciones de
integración e implementar fases de extracción, transformación y carga (ETL).
Una vez que se adquieren los datos, Azure Data Factory permite usar su conector de
datos nativo para trasladarlos a Azure Data Lake Storage Gen2. En Azure Data Factory,
puedes crear nuevas canalizaciones fácilmente con el método de arrastrar y soltar,
sin necesidad de escribir código. Para una implementación avanzada, puedes escribir
código personalizado en los lenguajes de tu preferencia, y de este modo personalizar
Azure Data Factory de forma que se adapte en mayor medida a tus necesidades
concretas.
Azure Data Factory simplifica la integración de datos para los usuarios con cualquier
nivel de conocimientos.

Características
Azure Data Factory ofrece las siguientes características:
• Capacidad para conectarse a diversos orígenes de datos, ya sea on-premises
o en el cloud
• Capacidad para trasladar datos desde almacenes de datos on-premises y en el
cloud a un almacén de datos centralizado de Azure utilizando la actividad de
copia en la canalización de datos
• Adquisición sin necesidad de programar
• Transformación de datos sin necesidad de programar
• Capacidad para procesar y transformar los datos desde un almacén de datos
centralizado de Azure
• Una programación controlada para crear un origen de datos de confianza que los
entornos de producción puedan consumir
• Capacidad para transformar y limpiar datos, y para cargarlos en Azure Synapse
Analytics para que los consuman herramientas de business intelligence y motores
de análisis
• Control de calidad mediante la supervisión continua de canalizaciones
• Características de supervisión integradas como Azure Monitor o Azure PowerShell
para administrar recursos
34 | Crear tu almacén de datos moderno

Ventajas
Azure Data Factory te ofrece las siguientes ventajas:
• Orquestación de otros servicios de Azure. Por ejemplo, Azure Data Factory puede
invocar un procedimiento almacenado en Azure Synapse Analytics o ejecutar
cuadernos de Azure Databricks.
• Totalmente administrado y sin servidor
• Herramienta fácil de usar para la creación de soluciones de integración
• Alta escalabilidad. En la siguiente tabla se muestra la duración de la copia
alcanzada por Azure Data Factory en función del tamaño de los datos y del ancho
de banda:

Figura 2.3: Duración de la copia de ADF según el tamaño de los datos y el ancho de banda

Azure Data Lake Storage Gen2


Azure Data Lake Storage Gen2 ofrece soluciones de almacenamiento de datos
escalables y de bajo coste creadas con tecnología Azure Blob Storage. Azure Data Lake
Storage Gen2 se ha diseñado específicamente para el análisis de big data y permite
a los usuarios almacenar datos estructurados, semiestructurados y no estructurados
procedentes de diversos orígenes. Estos orígenes incluyen bases de datos relacionales,
sistemas de administración de las relaciones con los clientes (CRM), aplicaciones
móviles, aplicaciones de escritorio y dispositivos de IoT, entre otros.
Los datos estructurados almacenados en Azure Data Lake Storage Gen2 se pueden
cargar en Azure Synapse Analytics mediante Azure Data Factory, Azure Databricks,
PolyBase o con el comando COPY.
Azure Databricks | 35

Características
Azure Data Lake Storage Gen2 ofrece las siguientes características:
• Acceso y administración de datos a través de Hadoop Distributed File System
(HDFS)
• Controlador de Azure Blob Filesystem (ABFS), que permite el acceso de datos
a Azure Data Lake Storage Gen2 desde todos los entornos Apache Hadoop,
como Azure Synapse Analytics, Azure Databricks y Azure HDInsight
• Compatibilidad con permisos ACL y POSIX, además de permisos adicionales
de Azure Data Lake Storage Gen2
• Ajustes configurables a través de Azure Storage Explorer, Apache Spark y Apache
Hive
• Escalabilidad segura (y rentable) del almacenamiento en el nivel de archivo
• Capacidades de alta disponibilidad/recuperación ante desastres (HA/DR)

Ventajas
Azure Data Lake Storage Gen2 ofrece las siguientes ventajas:
• Compatibilidad con aplicaciones que implementan el estándar abierto Apache
Hadoop Distributed File System (HDFS)
• Transacciones y capacidad de almacenamiento de bajo coste

Azure Databricks
Azure Databricks es una plataforma de análisis basada en Apache Spark que te permite
implementar soluciones de inteligencia artificial y poner en común conocimientos
desde un espacio de trabajo interactivo. Es compatible con lenguajes como Python,
Java, R, Scala y SQL, así como con diversas herramientas de ciencia de datos, como
por ejemplo TensorFlow, scikit-learn y PyTorch.

Características
Azure Databricks ofrece las siguientes características:
• Espacio de trabajo interactivo y colaborativo.
• Capacidades completas de clúster de Apache Spark con componentes como
Spark SQL y DataFrames, Mlib, GraphX y API de Spark Core.
36 | Crear tu almacén de datos moderno

Ventajas
Azure Databricks ofrece las siguientes ventajas:
• Configuración sencilla de clústeres de Apache Spark totalmente administrados
en Azure.
• Plataforma en el cloud sin administración.
• Espacio de trabajo interactivo y colaborativo para exploración y visualización.
• Creación rápida de clústeres.
• Escalado automático dinámico de clústeres, incluidos clústeres sin servidor.
• Operaciones de clústeres mediante código y API.
• Capacidad para integrar datos de forma segura basada en Apache Spark.
• Acceso instantáneo a las características más actualizadas de Apache Spark con
cada versión.
• Integración nativa con Azure Synapse Analytics, Azure Data Lake Storage,
Azure Cosmos DB, Azure Blob Storage y Power BI.

Guía de inicio rápido


Esta guía de inicio rápido te ayudará a aprovisionar tu primer Azure Synapse Analytics
(anteriormente SQL DW). Rellenarás tu almacén de datos con una base de datos
de ejemplo llamada AdventureWorksDW. A continuación, conectarás la base de datos
y ejecutarás consultas SQL para obtener resultados a partir de los datos.
Por último, deberás pausar Azure SQL Data Warehouse (también conocido como
Azure Synapse Analytics) para detener la facturación de recursos de computación
cuando ya no necesites usar el almacén de datos (en este caso, solo se te cobrará por
el almacenamiento).
Guía de inicio rápido | 37

Si deseas probar cualquiera de las técnicas que se muestran


en este libro, crea tu cuenta de Azure gratuita y ponte en marcha

Nota
En el momento de publicación, Microsoft está trabajando en Azure SQL Data
Warehouse a Azure Synapse Analytics. Por lo tanto, algunos pasos descritos
en esta guía harán referencia al nuevo nombre, Azure Synapse Analytics,
mientras que en otros pasos se utilizará el nombre original, Azure SQL Data
Warehouse. Visita Microsoft Azure para obtener las últimas actualizaciones.

Aprovisionar tu primer Azure Synapse Analytics (anteriormente SQL DW)


Realiza los pasos siguientes para aprovisionar tu almacén de datos:
1. En un navegador web, inicia sesión en Azure Portal.
2. Haz clic en Create a resource (Crear un recurso), en la esquina superior izquierda
de Azure Portal:

Figura 2.4: Crear un recurso en Azure Portal


38 | Crear tu almacén de datos moderno

3. Selecciona Databases (Bases de datos) en la sección Azure Marketplace de la


página New (Nuevo), y luego selecciona Azure Synapse Analytics (formerly SQL
DW) (Azure Synapse Analytics [anteriormente SQL DW]) en la sección Featured
(Destacados):

Figura 2.5: Crear un nuevo Azure Synapse Analytics (anteriormente SQL DW)
Guía de inicio rápido | 39

4. Rellena todos los detalles del proyecto en el formulario SQL Data Warehouse,
tal como se muestra en la figura siguiente:

Figura 2.6: Agregar los detalles del proyecto al almacén de datos


40 | Crear tu almacén de datos moderno

En la siguiente tabla se muestran los valores sugeridos y su correspondiente


explicación:

Figura 2.7: Detalles de configuración del proyecto

5. En Data warehouse details (Detalles del almacén de datos), Server (Servidor),


haz clic en Create new (Crear nuevo). Esto abrirá la siguiente hoja. Proporciona
los detalles del servidor, como Server name (Nombre del servidor), Server admin
login (Inicio de sesión administrativo del servidor), Password (Contraseña) y
Location (Ubicación) correspondientes:

Figura 2.8: Crear un nuevo servidor


Guía de inicio rápido | 41

6. Selecciona Performance level (Nivel de rendimiento) y, a continuación, Gen2.


En este ejemplo, escalarás tu sistema a DW100c. Haz clic en Apply (Aplicar) para
confirmar la selección.
7.

Figura 2.9: Seleccionar los niveles de rendimiento


42 | Crear tu almacén de datos moderno

7. Haz clic en Next: Additional settings (Siguiente: Configuración adicional)

Figura 2.10: Definir la configuración adicional


Guía de inicio rápido | 43

8. Para el recorrido de inicio rápido, define Use existing data (Usar datos existentes)
como Sample (Ejemplo). Esto cargará la base de datos de ejemplo AdventureWorksDW
en el almacén de datos que acabas de crear. Haz clic en Review + create
(Revisar + crear) para continuar.

Figura 2.11: Usar el conjunto de datos de ejemplo en la Guía de inicio rápido


44 | Crear tu almacén de datos moderno

9. Realiza una revisión final y, a continuación, haz clic en Create (Crear) para
empezar a aprovisionar SQL Data Warehouse:

Figura 2.12: Crear tu almacén de datos SQL


Guía de inicio rápido | 45

10. Durante el aprovisionamiento del nuevo SQL Data Warehouse, puedes supervisar
el progreso de la implementación:

Figura 2.13: Supervisar la implementación del almacén de datos


46 | Crear tu almacén de datos moderno

11. Una vez completada la implementación, verás la pantalla siguiente:

Figura 2.14: Implementación del almacén de datos completada

Has aprovisionado correctamente tu primer Azure Synapse Analytics


(anteriormente conocido como Azure SQL Data Warehouse).
Si vas al grupo de recursos llamado mySampleDW, verás los siguientes recursos
que se han aprovisionado correctamente:

Figura 2.15: Lista de recursos aprovisionados


Guía de inicio rápido | 47

Consultar los datos


Puedes usar el Query editor (preview) (Editor de consultas [preview]) integrado en
Azure Portal para consultar los datos. Esto resulta sumamente práctico. Realiza los
pasos siguientes para consultar los datos:
1. Haz clic en Query editor (preview) (Editor de consultas [preview]) en la base
de datos mySampleDW. A continuación, verás la siguiente pantalla. Solo tienes que
introducir el nombre de usuario y la contraseña que introdujiste anteriormente
al aprovisionar Azure Synapse Analytics (anteriormente conocido como Azure
SQL Data Warehouse):

Figura 2.16: Editor de consultas de SQL Database

Nota
Si recibes un error de tipo "Cannot open server 'mysampledw' requested by
the login. Client with IP address 'xx.xx.xx.xx' is not allowed to access the server"
(No se puede abrir el servidor 'mysampledw' solicitado en el inicio de sesión. El
cliente con la dirección IP 'xx.xx.xx.xx' no tiene permitido el acceso al servidor),
simplemente sigue las instrucciones que se indican en la sección Autorizar tu
dirección IP de cliente para acceder a Azure Synapse Analytics (anteriormente
SQL DW) para agregar tu dirección IP de cliente a una lista blanca. Una vez que tu
dirección IP de cliente se haya incluido en la lista blanca, puedes volver a intentar
el paso 1.
48 | Crear tu almacén de datos moderno

2. Cuando hayas iniciado sesión en tu base de datos de almacenamiento de datos,


podrás ejecutar consultas SQL para recuperar la información que necesites.
Escribe la siguiente consulta en el panel Query (Consulta) y, a continuación, haz
clic en Run (Ejecutar):
select firstname, lastname, phone
from dimCustomer
order by lastname

Figura 2.17: Ejecutar consultas en el editor de consultas


Guía de inicio rápido | 49

3. Prueba con otra consulta y haz clic en Run (Ejecutar):


select firstname, lastname, phone
from dimCustomer
where lastname = 'Lee'
order by firstname

Figura 2.18: Ejecutar consultas en el editor de consultas

Puedes introducir otras consultas con total libertad.


50 | Crear tu almacén de datos moderno

Autorizar tu dirección IP de cliente para acceder a Azure Synapse Analytics


(anteriormente SQL DW)
Si deseas acceder a Azure Synapse Analytics (anteriormente SQL DW) desde tu SQL
Server Management Studio (SMSS) local o desde Query editor (preview) (Editor de
consultas [preview]), deberás seguir estos pasos para agregar una regla de firewall de
servidor que habilite la conectividad de tu dirección IP de cliente:
1. En Security (Seguridad), ve a Firewalls and virtual networks (Firewalls y redes
virtuales). Haz clic en Add client IP (Agregar IP de cliente) para incluir tu dirección
IP actual en la lista blanca. A continuación, haz clic en Save (Guardar):

Figura 2.19: Agregar una dirección IP de cliente

2. A continuación, ve a SQL Data Warehouse, Overview (Información general) y


localiza Server name (Nombre de servidor).

Figura 2.20: Copiar el nombre del servidor


Guía de inicio rápido | 51

3. Ahora que has incluido tu dirección IP de cliente en la lista blanca podrás


conectarte a Azure Synapse Analytics (anteriormente SQL DW) desde tu SSMS
local o desde Query editor (preview) (Editor de consultas [preview]) simplemente
iniciando sesión con el nombre del servidor y con tu nombre de usuario y
contraseña.

Pausar Azure Synapse Analytics cuando no esté en uso


Es aconsejable que pauses Azure Synapse Analytics (anteriormente SQL Data
Warehouse) cuando no lo estés usando para evitar que se te facturen cargos de proceso
adicionales. La ventaja de pausar el almacén de datos en lugar de eliminarlo es que,
cuando estés listo para seguir trabajando, basta con que reanudes el almacén de datos
sin necesidad de volver a aprovisionarlo.

Nota
Cuando Azure SQL Data Warehouse esté en pausa, aunque no se te cobrarán
cargos de proceso, seguirás siendo responsable de los cargos de almacenamiento.

Figura 2.21: Pausar el almacén de datos

Tras pausar Azure SQL Data Warehouse, su estado se mostrara como "en pausa":

Figura 2.22: Estado de SQL Data Warehouse


52 | Crear tu almacén de datos moderno

Cuando estés listo para volver a trabajar en Azure SQL Data Warehouse, simplemente
haz clic en Resume (Reanudar):

Figura 2.23: Reanudar el almacén de datos

Aprovisionar Azure Data Factory


Ahora que has aprovisionado tu primer Azure Synapse Analytics (anteriormente
conocido como Azure Data Warehouse), puedes aprovisionar Azure Data Factory de la
forma descrita en los pasos siguientes:
1. Haz clic en Create a resource (Crear un recurso), en la esquina superior izquierda
de Azure Portal:

Figura 2.24: Crear un recurso


Guía de inicio rápido | 53

2. Selecciona Analytics (Análisis) en la sección Azure Marketplace de la página


New (Nuevo) y, a continuación, selecciona Data Factory en la sección Featured
(Destacados).

Figura 2.25: Seleccionar Azure Data Factory


54 | Crear tu almacén de datos moderno

3. Rellena el formulario New data factory (Nueva factoría de datos) como se muestra
en la siguiente figura:

Figura 2.26: Agregar los detalles para crear la factoría de datos


Guía de inicio rápido | 55

A continuación se proporcionan los valores sugeridos y su explicación:

Figura 2.27: Valores sugeridos para la creación de una factoría de datos

4. Haz clic en Create (Crear) para empezar a aprovisionar Azure Data Factory.

Ahora que has aprovisionado correctamente Azure Data Factory, el siguiente paso
es aprovisionar Azure Data Lake Storage Gen2. Más adelante podrás integrar ambas
tecnologías en otro ejercicio.

Aprovisionar Azure Data Lake Storage Gen2


A continuación, sigue estos pasos para aprovisionar Azure Data Lake Storage Gen2:
1. Haz clic en Create a resource (Crear un recurso), en la esquina superior izquierda
de Azure Portal:

Figura 2.28: Crear un recurso en Azure Portal


56 | Crear tu almacén de datos moderno

2. Selecciona Storage (Almacenamiento) en la sección Azure Marketplace de la


página New (Nuevo) y, a continuación, selecciona Storage account (Cuenta de
almacenamiento) en la sección Featured (Destacados):

Figura 2.29: Crear una cuenta de almacenamiento


Guía de inicio rápido | 57

3. Rellena el formulario Create storage account (Crear cuenta de almacenamiento)


con la siguiente información. Deberás seleccionar tu propia suscripción y
proporcionar un nombre exclusivo para la cuenta de almacenamiento. Como
grupo de recursos, selecciona el grupo de recursos que creaste anteriormente
al aprovisionar Azure Synapse Analytics (anteriormente conocido como Azure
SQL Data Warehouse).

Figura 2.30: Detalles de la cuenta de almacenamiento

4. Define el método de conectividad de red como Public endpoint (all networks)


(Punto de conexión público [todas las redes]) y haz clic en el botón Next: Advanced
> (Siguiente: Avanzado >).
58 | Crear tu almacén de datos moderno

5. En la sección Data Lake Storage Gen2, define Hierarchical namespace (Espacio


de nombres jerárquico) como Enabled (Habilitado). A continuación, haz clic en
Review + create (Revisar + crear):

Figura 2.31: Habilitar el espacio de nombres jerárquico de Data Lake Storage

6. Realiza una revisión final y, a continuación, haz clic en Create (Crear) para
empezar a aprovisionar tu cuenta de Azure Data Lake Storage Gen2.

Como has podido ver en las instrucciones paso a paso anteriores, crear una cuenta de
Azure Data Lake Storage Gen2 es tan sencillo como crear una cuenta de Azure Storage.
Guía de inicio rápido | 59

Integrar Azure Data Factory con Azure Data Lake Storage Gen2
Tras haber aprovisionado Azure Data Factory y Azure Data Lake Storage Gen2 en los
ejercicios anteriores, ahora estás listo para integrar ambas tecnologías.
Primer debes adquirir un archivo JSON con Azure Data Factory, y extraer los datos
y transformarlos a un formato de archivo CSV. A continuación, carga el archivo CSV
resultante en Azure Data Lake Storage Gen2.
1. Ve a Azure Data Factory e inicia la aplicación de integración de datos haciendo clic
en Author & Monitor (Crear y supervisar):

Figura 2.32: Iniciar la aplicación de integración de datos


60 | Crear tu almacén de datos moderno

2. La aplicación de integración de datos se iniciará en una nueva pestaña del


navegador. Haz clic en Copy Data (Copiar datos):

Figura 2.33: Iniciar la tarea de copia de datos

3. Asigna a la canalización de copia un Task name (Nombre de tarea) (y, si lo deseas,


una Task description [Descripción de la tarea]) y, a continuación, haz clic en Next
(Siguiente):

Figura 2.34: Agregar los detalles a la tarea de copia de datos


Guía de inicio rápido | 61

La factoría de datos de Azure Data Factory está formada por un conjunto de datos
que, básicamente, son datos estructurados del almacén de datos. Una canalización
incluye actividades conectadas lógicamente para realizar una tarea. Un servicio
vinculado te permite conectar Azure Data Factory a diversos orígenes de datos.
En el paso siguiente, crearás un nuevo servicio vinculado para el nuevo origen de
datos.
4. Haz clic en Create new connection (Crear nueva conexión):

Figura 2.35: Crear una nueva conexión

5. Escribe HTTP en el cuadro de búsqueda y, a continuación, haz clic en el botón


HTTP del resultado de búsqueda:

Figura 2.36: Seleccionar el servicio HTTP


62 | Crear tu almacén de datos moderno

6. Rellena el formulario New Linked Service (HTTP) (Nuevo servicio vinculado


(HTTP)) para definir el Source data store (Almacén de datos de origen), como se
muestra en la siguiente figura. En Base URL, introduce esta URL.

Figura 2.37: Probar la conexión del nuevo servicio vinculado


Guía de inicio rápido | 63

7. Si la conexión de prueba se realiza correctamente, haz clic en Create (Crear). De


lo contrario, corrige la información necesaria en el formulario y vuelve a probar la
conexión:

Figura 2.38: Crear el servicio HTTP tras una conexión de prueba correcta
64 | Crear tu almacén de datos moderno

8. Haz clic en el botón Next (Siguiente) hasta llegar a la página de configuración del
formato de archivo:

Figura 2.39: Desplazarse a la página de configuración del formato de archivo


Guía de inicio rápido | 65

9. Confirma File format settings (Configuración del formato de archivo) como se


muestra en la siguiente figura:

Figura 2.40: Página de configuración del formato de archivo


66 | Crear tu almacén de datos moderno

Puedes acceder a una vista previa de la configuración de la forma siguiente:

Figura 2.41: Vista previa de la configuración del formato de archivo

10. A continuación, haz clic en Create new connection (Crear nueva conexión) para
configurar el Destination data store (Almacén de datos de destino):

Figura 2.42: Configurar el almacén de datos de destino


Guía de inicio rápido | 67

11. Selecciona Azure Data Lake Storage Gen2 y haz clic en Continue (Continuar):

Figura 2.43: Seleccionar Data Lake Storage Gen2


68 | Crear tu almacén de datos moderno

12. Selecciona Azure Data Lake Storage Gen2 (aprovisionado en el ejercicio anterior)
en la sección New Linked Service (Nuevo servicio vinculado):

Figura 2.44: Probar la conexión del Data Lake Storage aprovisionado


Guía de inicio rápido | 69

13. Si la conexión de prueba se realiza correctamente, haz clic en Create (Crear). De


lo contrario, corrige la información necesaria en el formulario y vuelve a probar la
conexión.
14. Haz clic en Next (Siguiente):

Figura 2.45: Especificar el almacén de datos de destino

15. Rellena el formulario Choose the output file or folder (Elegir el archivo o carpeta
de salida), como se muestra en la siguiente figura, y haz clic en Next (Siguiente):

Figura 2.46: Especificar la carpeta para los archivos de salida


70 | Crear tu almacén de datos moderno

16. Rellena el formulario File format settings (Configuración del formato de archivo),
como se muestra en la siguiente figura, y haz clic en Next (Siguiente):

Figura 2.47: Especificar la configuración del formato de archivo


17. Acepta el valor predeterminado Schema mapping (Asignación de esquema) y haz
clic en Next (Siguiente):

Figura 2.48: Asignación de esquema predeterminada


Guía de inicio rápido | 71

18. Confirma los valores de Settings (Configuración) y haz clic en Next (Siguiente):

Figura 2.49: Confirmar la tolerancia a errores y la configuración avanzada

19. Revisa el Summary (Resumen) y haz clic en Next (Siguiente):

Figura 2.50: Copiar el resumen de la canalización de datos


72 | Crear tu almacén de datos moderno

20. Haz clic en Finish (Finalizar) para completar la implementación:

Figura 2.51: Completar la implementación

Revisar el resultado en Azure Data Lake Storage Gen2


Llegado este punto, se habrá ejecutado la canalización de copia en Azure Data Factory.
1. Ve a Azure Data Lake Storage Gen2 para revisar el resultado:

Figura 2.52: Revisar el resultado


Guía de inicio rápido | 73

2. Puedes usar el Explorador de Storage (preview) integrado para ver el archivo


resultante de Azure Data Lake Storage Gen2:

Figura 2.53: Descargar una copia del archivo CSV

3. Haz clic en Download (Descargar) para descargar una copia de radio.csv y


compara las versiones del "antes" y el "después".

Este es el archivo del "antes" en el formato JSON original:

Figura 2.54: Archivo original en formato JSON


74 | Crear tu almacén de datos moderno

Este es el archivo transformado en formato CSV, ahora almacenado en Azure Data Lake
Storage Gen2:

Figura 2.55: Archivo CSV almacenado en Azure Data Lake Storage Gen2

Hasta ahora, has creado tu primera canalización de Azure Data Factory para adquirir un
archivo JSON, extraer los datos, transformarlos a un formato CSV y cargar el archivo en
Azure Data Lake Storage Gen2.

Aprovisionar el servicio Azure Databricks


A continuación, te mostraremos cómo aprovisionar el servicio Azure Databricks.
Más adelante en la Guía de inicio rápido, completaremos el patrón del almacén de
datos moderno en un ejercicio en el que vamos a adquirir los datos en Azure Data
Lake Storage Gen2, preparar los datos limpiándolos y transformándolos con Azure
Databricks y, por último, cargando los datos limpios y transformados en Azure
Data Warehouse.
1. Haz clic en Create a resource (Crear un recurso), en la esquina superior izquierda
de Azure Portal:

Figura 2.56: Crear un recurso


Guía de inicio rápido | 75

2. Selecciona Analytics (Análisis) en la sección Azure Marketplace de la página New


(Nuevo) y, a continuación, selecciona Azure Databricks en la sección Featured
(Destacados):

Figura 2.57: Seleccionar Azure Databricks para su aprovisionamiento


76 | Crear tu almacén de datos moderno

3. Rellena el formulario Azure Databricks Service (Servicio de Azure Databricks)


como se muestra en la siguiente figura:

Figura 2.58: Agregar detalles al servicio Azure Databricks


Guía de inicio rápido | 77

4. Una vez aprovisionado, selecciona el servicio Azure Databricks haciendo clic en el


nombre correspondiente:

Figura 2.59: Seleccionar el servicio Azure Databricks aprovisionado

5. Haz clic en Launch Workspace (Iniciar área de trabajo) para iniciar el portal de
Azure Databricks en una nueva pestaña del navegador:

Figura 2.60: Iniciar el área de trabajo de Azure Databricks


78 | Crear tu almacén de datos moderno

6. A continuación, crea un nuevo clúster Spark haciendo clic en New Cluster (Nuevo
clúster):

Figura 2.61: Crear un nuevo clúster Spark

7. Rellena la página New Cluster, como se muestra en la siguiente figura, y haz clic en
Create Cluster (Crear clúster):

Figura 2.62: Agregar detalles al clúster Spark


Guía de inicio rápido | 79

8. Una vez aprovisionado el clúster Spark, verás una pantalla similar a esta:

Figura 2.63: Clúster creado en estado de ejecución

Ya has aprovisionado tu primer Azure Databricks y clúster Spark.

Usar Azure Databricks para preparar y transformar los datos


Para completar el proceso de creación de un almacén de datos moderno, debes
completar este último ejercicio. Deberás adquirir los datos en Azure Data Lake
Storage Gen2, limpiar y transformar los datos con Azure Databricks y, por último,
cargar los datos limpios y transformados en Azure Synapse Analytics.
1. En el espacio de trabajo de Azure Databricks, selecciona Create (Crear)
y, a continuación, Notebook (Cuaderno):

Figura 2.64: Crear un cuaderno en el espacio de trabajo de Azure Databricks


80 | Crear tu almacén de datos moderno

2. Crea el cuaderno tal como se muestra en la siguiente figura:

Figura 2.65: Agregar detalles a la creación del cuaderno

3. En la primera celda Notebook (Cuaderno), usa el script de Scala siguiente para


configurar la sesión de Spark en tu entorno Azure Databricks. Como se indica
en el script, reemplaza los valores en función de tu propio entorno. Cuando hayas
rellenado todos los valores del script, pulsa Mayús+Intro para ejecutar el script
en el cuaderno.
// replace the following values based on your environment
val storageAccountName = "replace with your own Azure Storage Account
name"
val fileSystemName = "replace with your own File System name"
val tenantID = "replace with your own tenant id"
val appID = "replace with your own appID"
val password = "replace with your own password"
// configuration for blob storage
val blobStorageAcctName = "replace with your own Azure blob storage
account name"
val blobContainer = "replace with your own blob container name"
val blobAccessKey = "replace with your own access key"
// configuration for Azure SQL Data Warehouse
val dwDatabase = "replace with your own database name"
val dwServer = "replace with your own database server name"
val dwUser = "replace with your own database user name"
val dwPass = "replace with your own database password"
val newTable = "replace with your own new table name"

Nota
En el script de Scala siguiente, introduce cada bloque de código en la celda
Cuaderno de Azure Databricks y pulsa Mayús+Intro para ejecutar cada bloque de
código. Observa los resultados tras cada ejecución.
Guía de inicio rápido | 81

4. Configura la sesión de Spark de la manera siguiente:


spark.conf.set("fs.azure.account.auth.type", "OAuth")
spark.conf.set("fs.azure.account.oauth.provider.type", "org.apache.hadoop.
fs.azurebfs.oauth2.ClientCredsTokenProvider")
spark.conf.set("fs.azure.account.oauth2.client.id", "" + appID + "")
spark.conf.set("fs.azure.account.oauth2.client.secret", "" + password +
"")
spark.conf.set("fs.azure.account.oauth2.client.endpoint", "https://login.
microsoftonline.com/" + tenantID + "/oauth2/token")
spark.conf.set("fs.azure.createRemoteFileSystemDuringInitialization",
"true")
dbutils.fs.ls("abfss://" + fileSystemName + "@" + storageAccountName +
".dfs.core.windows.net/")
spark.conf.set("fs.azure.createRemoteFileSystemDuringInitialization",
"false")
5. Configura la cuenta de Azure Data Lake Storage Gen2 de la manera siguiente:
spark.conf.set("fs.azure.account.auth.type." + storageAccountName + ".dfs.
core.windows.net", "OAuth")
spark.conf.set("fs.azure.account.oauth.provider.type." +
storageAccountName + ".dfs.core.windows.net", "org.apache.hadoop.
fs.azurebfs.oauth2.ClientCredsTokenProvider")
spark.conf.set("fs.azure.account.oauth2.client.id." + storageAccountName +
".dfs.core.windows.net", "" + appID + "")
spark.conf.set("fs.azure.account.oauth2.client.secret." +
storageAccountName + ".dfs.core.windows.net", "" + password + "")
spark.conf.set("fs.azure.account.oauth2.client.endpoint." +
storageAccountName + ".dfs.core.windows.net", "https://login.
microsoftonline.com/" + tenantID + "/oauth2/token")
spark.conf.set("fs.azure.createRemoteFileSystemDuringInitialization",
"true")
dbutils.fs.ls("abfss://" + fileSystemName + "@" + storageAccountName +
".dfs.core.windows.net/")
spark.conf.set("fs.azure.createRemoteFileSystemDuringInitialization",
"false")
82 | Crear tu almacén de datos moderno

6. Recupera el archivo JSON de ejemplo en /tmp de la manera siguiente:


%sh wget -P /tmp https://raw.githubusercontent.com/Azure/usql/master/
Examples/Samples/Data/json/radiowebsite/small_radio_json.json
7. Copia el archivo de ejemplo desde /tmp hasta Azure Data Lake Storage Gen2:
dbutils.fs.cp("file:///tmp/sample.json", "abfss://" + fileSystemName + "@" +
storageAccountName + ".dfs.core.windows.net/")
8. Carga el archivo JSON de ejemplo en un DataFrame:
val df = spark.read.json("abfss://" + fileSystemName + "@" +
storageAccountName + ".dfs.core.windows.net/sample.json")
9. Extrae el contenido del DataFrame para asegurarte de que todo funciona
correctamente:
df.show()
10. Limpia los datos seleccionando solo dos columnas:
// called firstName and lastName from the DataFrame
val specificColumnsDf = df.select("firstname", "lastname")
11. Extrae los resultados de la selección:
specificColumnsDf.show()
12. Transforma los datos renombrando la columna lastName como surname:
val transformedDF = specificColumnsDf.withColumnRenamed("lastName",
"surname")
13. Extrae los resultados transformados:
transformedDF.show()
Guía de inicio rápido | 83

14. Carga los datos en Azure SQL Data Warehouse:


val blobStorage = blobStorageAcctName + ".blob.core.windows.net"
val tempDir = "wasbs://" + blobContainer + "@" + blobStorage + "/tempdir"
val acntInfo = "fs.azure.account.key." + blobStorage
sc.hadoopConfiguration.set(acntInfo, blobAccessKey)
15. Carga el DataFrame transformado en Azure SQL Data Warehouse como una nueva
tabla llamada NewTable:
val dwJdbcPort = "1433"
val dwJdbcExtraOptions =
"encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.
windows.net;loginTimeout=30;"
val sqlDwUrl = "jdbc:sqlserver://" + dwServer + ":" + dwJdbcPort +
";database=" + dwDatabase + ";user=" + dwUser+";password=" + dwPass +
";$dwJdbcExtraOptions"
val sqlDwUrlSmall = "jdbc:sqlserver://" + dwServer + ":" + dwJdbcPort +
";database=" + dwDatabase + ";user=" + dwUser+";password=" + dwPass
spark.conf.set("spark.sql.parquet.writeLegacyFormat", "true")
transformedDF.write.format("com.databricks.spark.sqldw").option("url",
sqlDwUrlSmall).option("dbtable", newTable).option("forward_spark_azure_
storage_credentials","True").option("tempdir", tempDir).mode("overwrite").
save()
Al completar la ejecución de cada uno de los bloques de código anteriores, habrás
adquirido un archivo JSON de ejemplo en Azure Data Lake Storage Gen2, limpiado
los datos seleccionando solo las dos columnas deseadas, transformado un nombre de
columna de lastName a surname, y cargado el DataFrame transformado en Azure Synapse
Analytics. Esto completa todo el proceso de creación de un almacén de datos moderno.
84 | Crear tu almacén de datos moderno

Limpiar Azure Synapse Analytics


Si ya no necesitas volver a usar Azure Synapse Analytics (anteriormente SQL DW),
podrás ahorrar dinero si eliminas de forma permanente este grupo de recursos. Con
este método, eliminarás de forma permanente Azure Synapse Analytics (anteriormente
SQL DW) y todos los recursos asociados (p. ej., Azure Data Factory, Azure Data Lake
Storage Gen2, Azure Databricks, etc.) que hayas aprovisionado en el mismo grupo
de recursos. Para ello, desplázate hasta el panel de información general y haz clic en
Delete resource group (Eliminar grupo de recursos), como se muestra en la siguiente
figura:

Figura 2.66: Limpiar el almacén de datos eliminando un grupo de recursos

Resumen
En este capítulo, has estudiado de cerca Azure Synapse Analytics, Azure Data
Lake Storage Gen2, Azure Data Factory y Azure Databricks. Has aprendido las
características y ventajas de cada una de estas tecnologías clave, y cómo aprovisionar
tu propio Azure Synapse Analytics (anteriormente SQL DW). El siguiente capítulo se
centrará en el aspecto analítico del almacén de datos moderno. Te enseñará cómo
procesar y visualizar los datos mediante Power BI, y también cómo implementar el
machine learning. Más adelante en el libro, verá casos de uso reales de cómo todas
estas tecnologías se integran entre sí para proporcionar las soluciones completas e
integrales de almacenamiento de datos que los responsables de la toma de decisiones
empresariales pueden usar para obtener conocimientos de utilidad a partir de datos en
tiempo real.
Procesamiento y
3
visualización de datos
En el último capítulo, aprovisionamos Azure Data Factory, Azure Data Lake Storage
y Azure Synapse Analytics (anteriormente conocido como Azure SQL Data Warehouse)
para adquirir y almacenar datos. También transformamos datos no estructurados a un
formato estructurado con ayuda de Azure Databricks.
En este capítulo, analizaremos nuestros datos estructurados para obtener
conocimientos útiles. Este capítulo estará dividido en dos partes principales:
• Modelado y servicio de datos con Azure Analysis Services
• Visualización de datos con Power BI
88 | Procesamiento y visualización de datos

Azure Analysis Services


Las empresas generan constantemente enormes cantidades de datos en diversos
formatos de varios orígenes. Sin embargo, estas empresas a menudo experimentan
dificultades a la hora de garantizar que todas las partes interesadas puedan acceder a
ellos debido a una infraestructura compleja que les impide obtener acceso a los datos
pertinentes puntualmente. El acceso a los datos en tiempo real es fundamental para
instaurar una cultura basada en datos sin fisuras. A menudo, los analistas y científicos
de datos no pueden explorar y analizar los conjuntos de datos directamente desde las
bases de datos de la empresa por las siguientes razones:
• Posibilidad de que se filtre información confidencial.
• Realizar un análisis directamente en los servidores de producción podría afectar
al rendimiento y contribuir a generar tiempo de inactividad.

El modelado de datos semántico es una fase en la que debes crear un modelo de datos
semántico para que los analistas puedan obtener acceso fluido a los datos. Un modelo
de datos semántico es un formato de tabla estructurado y que la mayoría de usuarios
puede visualizar y entender fácilmente. En la práctica, los analistas no consultan bases
de datos transaccionales directamente porque estas bases de datos están destinadas
a los clientes finales reales y a las aplicaciones; en su lugar, crean un modelo de datos
y lo almacenan en el almacén de datos. A menudo, los datos del modelo semántico son
solo una versión almacenada en caché de los datos de producción y, finalmente, se
eliminarán o actualizarán. Azure Analysis Services puede salvar esta brecha de datos.
Azure Analysis Services (AAS) es un servicio hospedado en el cloud y una herramienta
de plataforma como servicio (PaaS) totalmente administrada que permite a los
ingenieros de datos modelar tablas de base de datos y servir estos modelos de datos
semánticos a los usuarios. Un ejemplo sería generar informes de ventas cuando
dispones de varios orígenes de datos y a las partes interesadas solo les interesa saber si
la empresa está ganando o perdiendo dinero. Estos modelos de datos proporcionan una
forma perfecta para que los usuarios (en concreto, los analistas) exploren y examinen
grandes cantidades de datos almacenados en caché con fines de análisis de datos bajo
demanda. Esto garantiza que los analistas no tengan que esperar a que los ingenieros
de datos creen manualmente una instantánea de los datos (a menudo en formato CSV
o Excel) y que luego los envíen a los analistas por correo electrónico.
Azure Analysis Services | 89

SQL Server Analysis Services


Dadas las características de AAS heredadas de SSAS (SQL Server Analysis Services),
sería más fácil explicar primero las capacidades de SSAS para comprender mejor los
puntos de conexión entre un origen de datos y Power BI.
En el diagrama siguiente se muestra una arquitectura híbrida que usa SSAS para
analizar datos y conectarse a través del servicio Power BI a través de VPN Gateway:

Figura 3.1: SQL Server Analysis Services

En un entorno on-premises, tu base de datos (o almacén de datos) se hospeda en tu


propio centro de datos. En la actualidad, las organizaciones suelen usar SQL Server
Analysis Services para su solución de BI on-premises. Permite a los ingenieros de
datos conectarse a sus orígenes de datos on-premises y convertir conjuntos de datos
complejos en una única base de datos estructurada comúnmente denominada SSOT
(única fuente de verdad).
90 | Procesamiento y visualización de datos

Los ingenieros de datos usan herramientas como Visual Studio o SQL Server
Management Studio (SSMS) para crear, explorar y desarrollar modelos de datos
semánticos que luego pueden enviar como informe o como modelos tabulares para
Power BI (u otras herramientas de business intelligence).

Figura 3.2: Analysis Services enumerados en la ventana Features (Características)

La principal advertencia que se debe considerar con el modelado de datos semántico


en SQL Server Analysis Services es la alta dependencia en la instancia de SQL Server
y en licencias. Dado que el centro de datos se encuentra on-premises, el escalado
bajo demanda supondrá un desafío. Y aquí es donde Azure Analysis Services destaca
respecto de SSAS.
AAS es un servicio hospedado en el cloud fácilmente escalable e independiente de
una instancia de SQL Server. A continuación enumeramos algunas de las principales
características y ventajas de usar AAS.

Características y ventajas
Azure Analysis Services se basa en el motor analítico probado de SQL Server 2016
Analysis Services. Ejecuta servicios de análisis de forma nativa en recursos en el
cloud tales como Azure Synapse Analytics.
Azure Analysis Services | 91

AAS ofrece las siguientes características:


• El usuario puede combinar datos procedentes de distintos orígenes complejos y
crear una representación tabular de datos que la mayoría de las personas pueda
entender.
• La plataforma proporciona un rendimiento bajo demanda capaz de adaptarse al
tamaño de los datos y a las operaciones.
• AAS también proporciona una capa adicional de seguridad que garantiza que
solo las personas adecuadas obtengan acceso al conjunto de datos correcto
(control de acceso basado en roles) mediante Azure Active Directory.

Azure Analysis Services resulta fácil de implementar, escalar y administrar, ya que


es una solución PAAS. Puedes aprovisionar Azure Analysis Service en cuestión de
segundos. Cuentas con la flexibilidad de aumentar o reducir los niveles de operación
dependiendo de la frecuencia con que necesites el servicio. Por último, elimina la carga
de administrar la infraestructura subyacente (como redes, espacios en discos, memoria
y discos duros), ya que está totalmente administrado en el cloud.
La figura 3.3 representa la arquitectura revisada una vez que has pasado de SSAS a AAS:

Figura 3.3: Azure Analysis Services


92 | Procesamiento y visualización de datos

En el diagrama anterior, AAS actúa como puente entre Azure Synapse Analytics
(utilizado para almacenar datos) y Power BI, que actúa como herramienta de
visualización. Esto no significa que AAS se limite únicamente a usar Azure Synapse
Analytics como origen de datos. AAS puede conectar con diversas soluciones de base
de datos on-premises y en el cloud.
Azure Analysis Services tiene las mismas funcionalidades y capacidades que SQL Server
Analysis Services, pero es un servicio en el cloud totalmente administrado. AAS admite
entornos de modelos complejos, como filtros cruzados bidireccionales. Un ejemplo de
ello sería crear conocimientos útiles a partir de clientes y productos que tienen una
relación de datos de varios a varios; es decir, donde un cliente puede comprar varios
productos y un mismo producto puede ser comprado por varios clientes.
AAS es altamente escalable. Puede escalarse de forma lineal aumentando el número de
núcleos, y también puede usar el asignador escalable basado en Intel TBB (Threading
Building Blocks), que proporciona grupos de memoria independientes para cada núcleo.

Power BI
Power BI es un conjunto de herramientas que permite a los usuarios visualizar datos
y compartir conocimientos entre equipos y organizaciones, o integrarlos en sus
sitios web o aplicaciones. Admite distintos orígenes de datos (tipos de datos tanto
estructurados como no estructurados). Ayuda a los analistas y usuarios finales a crear
paneles e informes en tiempo real sobre los datos de la empresa bajo demanda. Un
ejemplo de ello sería visualizar las ventas de la empresa correspondientes a los últimos
meses y determinar la ciudad que más artículos ha vendido.
Lo que distingue a Power BI de un software de hoja de cálculo como Microsoft Excel
es que está diseñado para ser una interfaz de usuario hospedada (por lo general, un
panel en tiempo real) en la que los usuarios no necesitan almacenar con frecuencia
un archivo en su equipo local y abrirlo. Con Power BI, puedes aprovechar el poder del
cloud para explotar datos complejos y representarlos a través de gráficos o diagramas
enriquecidos, dejando que sea el servidor, y no tu propio equipo, el que ejecute todos
los cálculos. En un entorno en que esté previsto que el tamaño de los datos aumente
de 500 megabytes a gigabytes, la mayoría de los equipos de uso general (como
ordenadores personales con una cantidad limitada de memoria) tendrían dificultades
para cargar el archivo de Excel; sin embargo, con Power BI, equivaldría a abrir una
página web, ya que se trata de un servicio hospedado.
Power BI | 93

Figura 3.4: Arquitectura de Power BI

Power BI consta de distintos componentes que pueden realizar diferentes funciones:


Power BI Desktop
Se trata de una aplicación de escritorio de Windows que a menudo se denomina
"herramienta de creación", y en la que principalmente se diseñan y publican informes en
el servicio.
Power BI
Es la plataforma administrada para implementar tus informes. Es una aplicación
de software como servicio (SaaS) y ha evolucionado de "Power BI para Office 365"
a simplemente Power BI.
Aplicaciones móviles de Power BI
Se trata de aplicaciones móviles nativas que pueden obtener acceso a informes desde
un espacio de trabajo hospedado en Power BI. Están disponibles en la App Store de
Apple iOS y en Google Play Store.
Puerta de enlace de Power BI
La puerta de enlace es un mecanismo que permite sincronizar datos externos en
Power BI. En entornos empresariales con almacenamiento on-premises, la puerta de
enlace de Power BI actúa como un mecanismo para realizar consultas en el origen
de datos sin necesidad de transferir bases de datos al cloud. Sin embargo, los datos
hospedados en informes de Power BI residen en Azure Cloud.
94 | Procesamiento y visualización de datos

Power BI Report Server
En un entorno on-premises, Power BI Report Server te permite hospedar informes de
Power BI en tu propio centro de datos. Estos informes siguen pudiendo compartirse
entre distintos miembros, siempre y cuando estos dispongan del acceso de red
adecuado.
Power BI Embedded
Embedded te permite aplicar una marca blanca a Power BI en tus propias aplicaciones
personalizadas. Desde el punto de vista estratégico, estas a menudo se integran en
paneles y sistemas administrativos existentes en los que solo un mismo conjunto de
usuarios puede obtener acceso a los informes.
Características y ventajas
A grandes rasgos, Power BI ofrece las siguientes ventajas:
• Paneles personalizados que permiten a los analistas distinguir el aspecto de los
gráficos, diagramas y tablas.
• Colaboración entre diferentes usuarios.
• Gestión y seguridad que garantizan que solo los usuarios autorizados puedan
acceder a los paneles.
• Sin restricciones de memoria ni de velocidad, ya que se trata de un servicio
hospedado en el cloud. Es como si el usuario se limitara a cargar una página web.
• No precisa soporte técnico especializado, ya que los informes están diseñados
para ofrecer una interacción sencilla.
• Compatibilidad con servicios de datos avanzados, como la función "formular una
pregunta", integración con R, segmentación y análisis de cohortes.
Power BI es una herramienta intuitiva que, por lo general, solo requiere hacer clic o
arrastrar y soltar para acceder a los datos y visualizarlos con rapidez. La herramienta
de creación (Power BI Desktop) está equipada con numerosas características integradas
para obtener análisis. Es lo suficientemente inteligente como para sugerir un modelo de
visualización basado en los campos de tu elección.
Los paneles e informes de Power BI son altamente personalizables y te permiten
personalizar la experiencia en función de tu marca. Puedes seleccionar temas, utilizar
gráficos personalizados, crear etiquetas, insertar dibujos e imágenes, y mucho más.
Si lo comparamos con enviar un correo electrónico con un archivo de PowerPoint
adjunto, Power BI permite una colaboración abierta entre los analistas y otros
miembros de la empresa con solo compartir un panel centralizado. Puedes acceder a los
informes utilizando los principales navegadores web o a través de aplicaciones móviles
que puedes descargar en Apple App Store y Google Play Store. Los usuarios pueden
enviar comentarios y anotaciones sobre los informes, y crear un ciclo de comentarios
más rápido mediante el uso de alertas y notificaciones.
Guía de inicio rápido (modelado y visualización de datos) | 95

Power BI es seguro en diferentes aspectos y áreas. Por un lado, al crear un informe,


te aseguras de que solo podrás acceder a los orígenes de datos a los que tienes acceso.
Esto está respaldado por la seguridad de nivel de fila (RLS). Por ejemplo, los analistas
solo pueden acceder a datos locales de su región, lo que garantiza que no tengan
acceso a los datos de otra ciudad o país. Cuando estés listo para compartir el informe,
puedes guardarlo rápidamente en tu espacio de trabajo personal. Puedes seleccionar
a las personas de la organización con quienes deseas compartirlo, o incluso invitar
a inquilinos externos.
Si deseas comenzar poco a poco mientras aprendes a usar Power BI, puedes empezar
usando solo archivos de Excel como origen de datos. En algunos casos, los analistas
reciben un archivo CSV de los ingenieros de datos porque el tamaño del conjunto de
datos no es demasiado grande.

En este libro, usaremos Power BI para generar informes a partir de modelos de datos
semánticos de AAS. Aunque Power BI admite varios orígenes de datos, incluidos Azure
Synapse Analytics y bases de datos on-premises, se recomienda consumir un servicio
de análisis en su lugar. En ocasiones, también puedes realizar consultas desde un
resultado almacenado en caché de Azure Databricks.
Existen varias formas de hacerlo, pero el motivo principal para usar este método
(AAS + Power BI, como se muestra en la figura 3.3) está relacionado en gran parte con
la flexibilidad y la separación de tareas. Si estás usando AAS, obtienes una instantánea
del estado de tus orígenes de datos desde tus flujos de IoT y bases de datos (con ayuda
de ADF, Data Lake, SQL DW). Los datos de la base de datos transaccional de producción
se almacenan en caché y no tendrían un impacto significativo en el rendimiento, ni
siquiera si las bases de datos tuvieran miles de millones de filas.

Guía de inicio rápido (modelado y visualización de datos)


Ahora que entendemos AAS y Power BI, pasaremos al modelado y la visualización de
datos con estas herramientas y servicios.

Requisitos previos
Para realizar esta actividad, necesitas lo siguiente:
• Una suscripción activa a Azure
• Power BI Desktop
• Herramienta de creación (opcional)
• SQL Server Data Tools (SSDT) en Visual Studio
• SQL Server Management Studio
• Azure Synapse Analytics como origen de datos de AAS (opcional)
96 | Procesamiento y visualización de datos

Aprovisionar Azure Analysis Service


En Azure Portal, busca Analysis Services y haz clic en el botón Create (Crear).

Figura 3.5: Crear un servicio Azure Analysis

En Analysis Services, rellena los campos necesarios y pulsa Create (Crear):


• Server name (Nombre del servidor): un nombre único para el recurso.
• Subscription (Suscripción): una suscripción en la que deseas aprovisionar
el recurso.
• Resource group (Grupo de recursos): un grupo lógico de recursos para la
administración centralizada de los controles de acceso, bloqueos y etiquetas.
• Location (Ubicación): la región del centro de datos para hospedar el servidor.
• Pricing tier (Nivel de precios): para fines de desarrollo, puedes seleccionar D1.
• Administrator (Administrador): un usuario con privilegios del servidor. Puedes
agregar otros más adelante.
• Backup Storage settings (Configuración del almacenamiento de copias de
seguridad): opcional. Almacenamiento para la copia de seguridad de la base
de datos del modelo.
• Storage key expiration (Caducidad de la clave de almacenamiento): opcional.
Especifica el período de tiempo durante el cual se puede usar la clave de
almacenamiento.
Guía de inicio rápido (modelado y visualización de datos) | 97

Figura 3.6: Agregar detalles al servicio de análisis

El aprovisionamiento del servidor no suele tardar más de un minuto.


98 | Procesamiento y visualización de datos

Permitir el acceso de clientes


Al crear un modelo de datos semántico, debes usar una herramienta de escritorio
como Power BI Desktop, SQL Server Data Tools (SSDT) para Visual Studio o SQL Server
Management Studio (SSMS). Puesto que el servidor está hospedado en el cloud, debes
incluir en la lista blanca tu dirección IP para que la aplicación cliente (SSDT o SSMS)
tenga acceso al servidor de Azure Analysis Services.
1. En los servicios de análisis aprovisionados, ve a la sección Firewall (consulta la
figura 3.7).
2. Asegúrate de que el firewall esté habilitado para que el servidor no esté disponible
para acceso público.
3. Haz clic en Allow access from Power BI (Permitir el acceso desde Power BI) para
que el servicio Power BI pueda obtener acceso DirectQuery.
4. Haz clic en Add Client IP (Agregar IP de cliente). Esto agregará tu dirección IP de
cliente actual a la lista blanca de direcciones IP.
Opcionalmente, puedes especificar un intervalo de direcciones IP a las que desees
conceder acceso.
5. Haz clic en Save (Guardar).

Figura 3.7: Habilitar el acceso de firewall a Power BI


Guía de inicio rápido (modelado y visualización de datos) | 99

Al realizar esta actividad, tu equipo cliente (por ejemplo, un portátil) ahora tiene acceso
a los modelos AAS. Se trata de una característica muy potente de Azure que permite
que solo determinadas direcciones IP tengan acceso a su servicio.

Crear un modelo
En esta sección crearemos un modelo realizando los siguientes pasos:
1. En el mismo recurso de Analysis Services, ve a la pestaña Manage (Administrar) de
la sección Models (Modelos).

Figura 3.8: Crear un nuevo modelo

2. Haz clic en el botón New model (Modelo nuevo) y aparecerá una hoja. Para
simplificar el ejercicio, selecciona Sample data (Datos de ejemplo) y haz clic en
Add (Agregar).

Figura 3.9: Seleccionar los datos de ejemplo como origen de datos AAS

Nota
Esto creará un nuevo modelo semántico implementado en AAS basado en la
conocida base de datos AdventureWorks con datos de almacenes de venta de
bicicletas online.
100 | Procesamiento y visualización de datos

En la práctica, usarás una herramienta de creación como SQL Server Development


Tools en Visual Studio y crearás un modelo tabular sobre Azure Synapse Analytics.
Para ello, debes crear un proyecto de tabla de Analysis Services desde Visual
Studio.

Figura 3.10: SQL Server Development Tools en Visual Studio

En este libro no hemos profundizado en la creación de modelos de datos pero, si te


interesa obtener más información al respecto, Microsoft ha creado un recurso útil
sobre la creación de modelos de datos de Analysis Services con nivel de compatibilidad
1400. 1400 significa que funciona tanto para Azure Analysis Services como para SQL
Server Analysis Services.
Puedes obtener más información al respecto aquí.
Descargar recursos:
• Visual Studio
• SSDT
• SSMS
Guía de inicio rápido (modelado y visualización de datos) | 101

Abrir el modelo creado con Power BI


En esta sección, abriremos el modelo creado en Power BI Desktop.
Después de crear un modelo, asegúrate de permanecer en la pestaña Manage model
(Administrar modelo). Haz clic en los puntos suspensivos que se muestran a la derecha
del modelo y, a continuación, haz clic en Open in Power BI Desktop (Abrir en Power BI
Desktop).

Figura 3.11: Abrir en Power BI Desktop

AAS descargará entonces un archivo .pbix (es decir, un archivo de Power BI Desktop) en
el que se ha establecido una conexión entre el modelo de datos AdventureWorks y Power
BI.
En las siguientes partes de la actividad, deberás usar Power BI Desktop para crear un
panel en tiempo real.
En el momento en que se redacta este texto, Power BI Desktop presenta las siguientes
limitaciones:
• Funciona solo con Windows 7/Windows Server 2008 R2 o versiones posteriores
• Debes usar una dirección de correo electrónico de trabajo para crear informes y
paneles con Power BI Desktop. No obstante, se puede conceder acceso de invitado
a la dirección de correo electrónico de un consumidor (por ejemplo, @outlook.com
o @gmail.com) para ver los informes y paneles del servicio Power BI.

Nota
Si no has descargado Power BI Desktop, puedes hacerlo de forma gratuita desde
la aplicación Microsoft Store para Windows 10, o bien descargar el instalador
independiente. Para empezar a usar Power BI Desktop, usa una dirección
de correo electrónico de trabajo para registrarte. Ve al siguiente enlace para
comprobar si cumples los requisitos para crear una cuenta.
102 | Procesamiento y visualización de datos

En un entorno empresarial, usarás la misma cuenta de trabajo para acceder


a Azure Portal. Puesto que residen en el mismo inquilino de Azure Active Directory,
determinados niveles de control de acceso se heredarán. Si usaste una cuenta personal
para Azure Portal y un correo electrónico de trabajo aparte para tu cuenta de Power BI,
entonces deberás agregar la cuenta asociada a Power BI a Azure Analysis Server como
administrador.
Realiza los pasos siguientes para abrir el modelo en Power BI:
1. Vuelve a Azure Portal. En el mismo recurso de Azure Analysis Services,
ve a Analysis Services Admins (Administradores de Analysis Services).

Figura 3.12: Agregar un administrador invitado


Guía de inicio rápido (modelado y visualización de datos) | 103

2. Haz clic en Add (Agregar).

Figura 3.13: Invitar al usuario como administrador de servidor

Agrega un usuario del mismo Active Directory/inquilino o invita a un usuario de


un inquilino distinto. Agrega la dirección de correo electrónico que asociaste al
crear la cuenta de Power BI.
104 | Procesamiento y visualización de datos

3. Una vez que hayas terminado de descargar Power BI Desktop, de crear una cuenta
de Power BI y de permitir el acceso administrativo al servidor de Azure Analysis
Services, haz clic en el archivo .pbix que descargaste anteriormente de AAS.
4. Esto abrirá la aplicación Power BI Desktop; puede que se te pida que inicies sesión.
Usa las mismas credenciales utilizadas para crear la cuenta de Power BI en los
pasos anteriores. Si se ha generado un error al abrir el archivo, un motivo probable
es que la cuenta que usaste para iniciar sesión en Power BI no sea administrador
de Azure Analysis Services y, por tanto, no pueda crear una conexión.

Nota
Recuerda que no necesitas Azure Analysis Services para crear un informe de
Power BI. Power BI admite distintos orígenes de datos, como Azure Synapse
Analytics, directamente, si bien esto no es recomendable en entornos reales
y de producción.

5. Después de abrir el archivo, asegúrate de que ves los campos de la derecha en


la aplicación de escritorio.

Figura 3.14: Sección de campos de la base de datos seleccionada


Guía de inicio rápido (modelado y visualización de datos) | 105

Estos campos indican que tienes una conexión activa a Azure Analysis Services,
ya que ahora puedes consultar el modelo de datos semántico.

Ya estás listo para pasar a la siguiente parte de la actividad, que consiste en crear el
panel en tiempo real.

Visualizar datos
Ahora que tienes varios campos con los que trabajar, es el momento de generar
conocimientos útiles a partir de los datos. En un entorno empresarial, usar AAS
como origen de datos de Power BI te ofrece la flexibilidad de realizar consultas en
un modelo almacenado en caché de Azure Synapse Analytics en el que dispongas de
todos los privilegios necesarios para acceder a los datos como analista. No tendrías que
esperar a que un administrador de base de datos o ingeniero te envíe el archivo .csv
para empezar a visualizar los datos. En teoría, los datos con los que estás a punto de
crear los  informes son una instantánea de tus bases de datos existentes. En este caso
concreto, AdventureWorks podría obtener estos datos de varios orígenes de datos, como
bases de datos, almacenamiento, sensores del IoT y redes sociales. No se recomienda
consultar directamente esos orígenes de datos desde Power BI.
Power BI es una herramienta muy intuitiva, y la mayoría de los pasos solo requieren
hacer clic o arrastrar y soltar. Usando la base de datos AdventureWorks como origen
de datos para AAS, veremos los campos que están relacionados con una tienda de
venta online de bicicletas y equipamiento relacionado. Los campos están previamente
rellenados pero, en general, tienen este significado:
• Internet Sales (Ventas por Internet): datos de venta de los productos
• Product (Producto): metadatos del producto (por ejemplo, el nombre)
• Product Category (Categoría de producto): asignación de una categoría genérica
a los productos
• Product Subcategory (Subcategoría de producto): asignación de una categoría más
específica a los productos
• Customer (Cliente): información relativa al cliente sobre la venta de un producto
• Date (Fecha): momento de las ventas de los productos
• Geography (Región geográfica): ubicación de las ventas de los productos
106 | Procesamiento y visualización de datos

Ahora realizaremos los pasos siguientes para visualizar los datos en Power BI:
1. Empezaremos con una tabla sencilla de categoría del producto que muestra los
nombres de producto. En la sección de campos de la aplicación, haz clic en la tabla
Product Category (Categoría de producto) y selecciona Product Category Name
(Nombre de la categoría de producto):

Figura 3.15: Tabla de categorías de productos

Esto creará una tabla con el siguiente aspecto:

Figura 3.16: Tabla de nombres de categorías de productos

Como puedes ver, Power BI es interactivo y lo suficientemente inteligente como


para mostrar una tabla con la lista de nombres de categorías.
2. A continuación, mostraremos una tabla similar para las subcategorías de
productos. Como hiciste con el campo Categories (Categorías), ve al campo
Product Subcategory (Subcategoría de producto) y haz clic en Product
Subcategory Name (Nombre de la subcategoría de producto). Esto creará otra
tabla en la que se enumeren todas las subcategorías.
El aspecto interesante que se debe tener en cuenta en este caso es que, dadas
las dos tablas, Power BI es lo suficientemente inteligente como para destacar
correlaciones entre ambas.
Guía de inicio rápido (modelado y visualización de datos) | 107

3. En la tabla Product Category Name (Nombre de categoría de producto), haz clic


en la fila Bikes (Bicicletas):

Figura 3.17: Filtrar por subcategorías de producto en Power BI

Como puedes ver, Power BI filtra automáticamente todas las subcategorías


de producto que pertenecen a la categoría principal. Muestra Mountain Bikes
(Bicicletas de montaña), Road Bikes (Bicicletas de carretera) y Touring Bikes
(Bicicletas de paseo), todas asociadas a la categoría de producto Bikes (Bicicletas).
Idealmente, esto es algo que tú (o el ingeniero/administrador de bases de datos)
defines en el modelo de datos semántico de Analysis Services.
4. Si vuelves a hacer clic en la misma fila "Bikes" (Bicicletas) en Product Category
Name (Nombre de categoría de producto), se eliminará el filtro de subcategorías.

Figura 3.18: Campos de ventas por Internet y producto


108 | Procesamiento y visualización de datos

5. Ahora crearemos otra tabla que asocie los campos Internet Sales (Ventas
por Internet) y Product (Producto). En el campo Internet Sales (Ventas por
Internet), haz clic en Internet Total Sales (Total de ventas por Internet), y en
el campo Product (Producto), haz clic en Category (Categoría). Power BI creará
automáticamente un gráfico de columnas agrupadas como se muestra en la figura
3.19:

Figura 3.19: Gráfico de columnas agrupadas

Power BI ofrece flexibilidad al proporcionar distintas opciones de visualización


para el mismo conjunto de datos.
Guía de inicio rápido (modelado y visualización de datos) | 109

6. Haz clic en el mismo diagrama (Internet Total Sales by Category [Total de ventas
por Internet, por categoría]) y, en la pestaña Visualizations (Visualizaciones),
cambia a Matrix (Matriz):

Figura 3.20: Seleccionar el formato de matriz para la visualización

Power BI creará entonces una tabla para el total de ventas por Internet, por
categorías:

Figura 3.21: Total de ventas por Internet, por categoría, con visualización de matriz

Nuestra próxima tarea consiste en conocer las regiones del país con más ventas.
110 | Procesamiento y visualización de datos

7. Desplázate hasta el campo Internet Sales (Ventas por Internet) y haz clic en
Internet Total Sales (Total de ventas por Internet); luego ve al campo Geography
(Región geográfica) y selecciona Country Region Name (Nombre de la región del
país). Power BI creará entonces un gráfico de columnas agrupadas. Cambia la
visualización a un Donut chart (Gráfico de anillos) o Pie chart (Gráfico circular)
para ver rápidamente las correlaciones de rendimiento en las distintas regiones.
Al desplazarte sobre un anillo o sector, podrás ver algunos indicadores relativos
a dicha región:

Figura 3.22: Total de ventas por Internet, por región, en gráfico de anillos
Guía de inicio rápido (modelado y visualización de datos) | 111

8. Junto con el gráfico, usa el mismo campo de datos (Country Region Name
[Nombre de la región del país] e Internet Total Sales [Total de ventas por
Internet]) y usa una visualización de Filled Map (Mapa coroplético) en su lugar.
Power BI mostrará una vista de mapa de las ventas mundiales. Al hacer clic en
un elemento, los demás gráficos reaccionan ante los valores asociados.

Figura 3.23: Total de ventas por región en visualización de mapa coroplético

9. Ahora agrega un gráfico de Internet Total Sales by Year (Total de ventas por
Internet, por año). Haz clic en Internet Total Sales (Total de ventas por Internet)
en el campo Internet Sales (Ventas por Internet), y complétalo haciendo clic
en Fiscal (Ejercicio fiscal) en el campo Date (Fecha). Esto creará un gráfico
de columnas agrupadas, como se muestra en el diagrama siguiente.

Figura 3.24: Total de ventas por Internet, por año: gráfico de columnas agrupadas
112 | Procesamiento y visualización de datos

10. El último gráfico que crearemos no es más que una asociación entre los clientes
y las ventas por Internet. Haz clic en el mismo campo Internet Total Sales (Total
de ventas por Internet) en Internet Sales (Ventas por Internet) y, en esta ocasión,
asócialo a los campos Commute Distance (Distancia de desplazamiento) y Gender
(Sexo) del cliente. Cambia la visualización a un gráfico de barras agrupadas.

Figura 3.25: Total de ventas por distancia de desplazamiento y sexo: gráfico de barras

Esto te ayuda a obtener conocimientos de utilidad sobre los clientes. La mayoría


de los que compran tus productos son los situados en un radio de 1 milla de
desplazamiento desde el trabajo. Tiene sentido, ya que AdventureWorks vende
bicicletas y equipamiento relacionado. Es más probable que las personas que
compran bicicletas sean aquellas que puedan desplazarse en bicicleta desde el
trabajo. También puedes observar que no hay ninguna diferencia importante
entre sexos en términos de ventas y que, en su lugar, el indicador significativo
es la distancia de desplazamiento.
Guía de inicio rápido (modelado y visualización de datos) | 113

11. Para agregar estilos al panel, haz clic en la cinta Switch Theme (Cambiar tema)
situada hacia la parte superior de la aplicación. Puedes elegir el color de tu
preferencia.

Figura 3.26: Agregar estilos al panel


Ahora estás listo para guardar el panel en tu espacio de trabajo y compartir
el gráfico con tus compañeros.

Figura 3.27: Panel de ventas finales


114 | Procesamiento y visualización de datos

En esta sección hemos visto las capacidades de Power BI para crear gráficos
enriquecidos con solo unos clics y con el método de arrastrar y soltar utilizando
Power BI Desktop. A partir de modelos de datos semánticos, podemos representar
datos significativos que los usuarios puedan entender con facilidad.

Publicar el panel
Ahora que has creado los gráficos y el panel, ha llegado el momento de publicarlos en
tu espacio de trabajo siguiendo estos pasos:
1. Haz clic en el icono Publish (Publicar), en la cinta situada hacia la parte superior
de la aplicación. Selecciona un espacio de trabajo de destino. Para esta actividad,
no dudes en seleccionar "My workspace" (Mi espacio de trabajo) como destino.

Figura 3.28: Publicar el panel en Power BI

Espera a que Power BI termine de publicar los informes. Una vez publicados, te
mostrará un enlace que te permitirá acceder al panel desde una página web.

Figura 3.29: Publicar el panel en Power BI 2


Guía de inicio rápido (modelado y visualización de datos) | 115

2. Puede que tengas que iniciar sesión para acceder al panel.

Figura 3.30: Acceder al informe desde una página web


116 | Procesamiento y visualización de datos

3. En la parte superior de la página web, haz clic en Share (Compartir).

Figura 3.31: Compartir el informe con varios usuarios

Compártelo libremente con cualquiera de tus compañeros (del mismo ámbito)


o con usuarios invitados.

Los usuarios también pueden ver una versión móvil del informe descargando la
aplicación móvil Power BI desde App Store de Apple iOS o Google Play Store.
Machine learning en Azure | 117

En la aplicación móvil podrás ver tus propios informes, así como los informes
compartidos con tu cuenta. La siguiente figura muestra una vista móvil del informe
AdventureWorks que creamos anteriormente:

Figura 3.32: Acceder al informe de Power BI en la aplicación móvil Power BI

Desde este momento podrás colaborar con tu equipo y agregar comentarios y


anotaciones al informe. Es una experiencia muy intuitiva si se compara, por ejemplo,
con compartir una presentación de PowerPoint con el gerente y con otros compañeros.
En la siguiente sección, implementaremos el machine learning en Azure mediante Azure
Machine Learning Services. También echaremos un vistazo rápido a Azure Databricks
ejecutando un análisis de alto rendimiento de conjuntos de datos.

Machine learning en Azure


Existen varias formas de realizar machine learning en Azure. Microsoft habilita la
ciencia de datos para que resulte más accesible para todo tipo de usuarios y permitir
a los científicos de datos ser más productivos. Microsoft proporciona un conjunto
de tecnologías para que desarrolladores, ingenieros de bases de datos y científicos
de datos puedan crear algoritmos de machine learning. Sea cual sea tu nivel de
competencia y experiencia en ciencia de datos, hay un servicio, herramienta o marco
de trabajo de Microsoft que te será de utilidad para acelerar tus progresos en cuanto
a machine learning.
118 | Procesamiento y visualización de datos

La siguiente figura muestra un entorno de machine learning dentro del ecosistema


de Microsoft Azure. Puedes usar modelos previamente entrenados con los servicios
cognitivos de Azure e integrarlos directamente con tus aplicaciones sin necesidad de
configurar una canalización de datos. Puedes usar marcos populares como TensorFlow
y Keras en Azure, tanto si vas a instalarlos en una máquina virtual como a usar un
espacio de trabajo de machine learning. Puedes elegir diferentes plataformas, como los
servicios de Azure Machine Learning y Azure Databricks, para preparar y ejecutar tus
experimentos de machine learning.

Figura 3.33: Características y servicios de Microsoft Azure para machine learning


Machine learning en Azure | 119

Al usar Azure para impulsar tus procesos de análisis de machine learning, obtienes
hardware especializado capaz de acelerar tus experimentos. Con hardware acelerado,
como unidades de procesamiento de gráficos (GPU) rápidas y matrices de puertas
programables (FPGA), puedes leer miles de millones de registros y probar varios
modelos simultáneamente para conseguir resultados más rápidos en tus experimentos
de ML.
En las secciones siguientes se ofrece información general sobre las principales
tecnologías y plataformas que implementan el machine learning y la inteligencia
artificial (IA) en el ecosistema Microsoft Azure.
ML.NET
ML.NET es un marco de trabajo multiplataforma de código abierto para desarrolladores
de .NET. Al usar ML.NET, tú y tu equipo podréis aprovechar las habilidades, bibliotecas
y marcos de trabajo ya existentes en el ecosistema .NET. Puedes crear aplicaciones
web mediante ASP.NET, aplicaciones móviles mediante Xamarin, aplicaciones de
escritorio mediante WPF, e incluso IoT mediante Windows IoT. También puedes ampliar
la creación del modelo de ML con TensorFlow y ONNX. ML.NET proporciona soporte
"out-of-the-box" para algoritmos que permiten análisis de opiniones, recomendación
de productos, detección de objetos, previsión de ventas y muchos más casos de uso
reales.

Para tareas como la regresión y la clasificación, tanto el entrenamiento como el


consumo se pueden llevar a cabo con ML.NET. Además, también admite tipos de datos
centrales, canalizaciones extensibles, estructuras de datos, soporte para herramientas,
matemáticas de rendimiento avanzado, etc.
ML.NET se puede instalar desde nuget.org. Nuget.org es un repositorio público de
paquetes, bibliotecas y marcos de .NET descargables que puedes agregar fácilmente
a tus proyectos de .NET.
AutoML
Automated Machine Learning (AutoML) es un proyecto de Microsoft Research que
aspira a hacer el machine learning más sencillo y accesible para todos. AutoML está
diseñado para detectar automáticamente los mejores modelos de ML para ti. En el
momento en que se redacta este texto, AutoML puede seleccionar automáticamente
el algoritmo correcto y ayudar a ajustar los hiperparámetros de previsión, clasificación
y regresión. Esto te resultará muy útil si no cuentas con un científico de datos en tu
equipo.
AutoML ayuda a los usuarios (desarrolladores, analistas o incluso científicos de datos)
a implementar el machine learning sin una gran barrera de entrada relacionada
con los lenguajes de programación, bibliotecas, marcos de trabajo y conceptos de
ciencia de datos. Permite a las empresas innovar, gracias a que acelera el tiempo
de comercialización mediante un proceso iterativo, y aprovechar las prácticas
recomendadas de ciencia de datos al ejecutar experimentos.
Sin embargo, actualmente su alcance es limitado y solo puede realizar ciertos
algoritmos y crear un conjunto limitado de modelos de datos.
120 | Procesamiento y visualización de datos

Azure Machine Learning Studio


Azure Machine Learning Studio es una herramienta visual basada en el método de
arrastrar y soltar que permite a los usuarios realizar sus experimentos de machine
learning de manera intuitiva, sin usar código. Esto implica conectar orígenes de datos,
realizar análisis y servir el modelo entrenado como un servicio web mediante una clave
de API. Azure Machine Learning Studio admite algoritmos básicos de machine learning
que incluyen clasificación, regresión y agrupación en clústeres.
Azure Databricks
En el capítulo anterior ya vimos Azure Databricks en profundidad. Azure Databricks te
permite realizar machine learning utilizando Databricks Runtime for Machine Learning
(Databricks Runtime ML) en los nodos virtuales. Databricks Runtime ML incluye
bibliotecas populares como TensorFlow, PyTorch, Keras y XGBoost para realizar análisis
de ML a escala. Databricks también se encarga de instalar estos marcos de trabajo por
ti. Azure Databricks también tiene la capacidad de usar MLlib de Apache Spark y de
realizar el ajuste de hiperparámetros con MLFlow.
Cognitive Services
Microsoft Cognitive Services es un conjunto de modelos y API de uso general,
previamente entrenados y basados en el cloud que se pueden consumir y ampliar
para obtener entrenamiento adicional para casos de uso específicos. Si, por ejemplo,
deseas crear una IA de detección de objetos que entienda lo que es un plátano, puede
que tengas que alimentar más datos para ayudar a la IA a interpretar que la imagen
contiene un plátano. El consumo de servicios cognitivos se realiza a través de HTTP y
es independiente de la plataforma, lo que significa que puedes usar cualquier lenguaje
de programación y sistema operativo. Existen cinco categorías principales de servicios
cognitivos: decisión, visión, habla, búsqueda y lenguaje. Puedes integrar fácilmente la
IA y el ML con tus aplicaciones móviles, web, de escritorio o incluso de IoT mediante
servicios cognitivos.
Las capacidades de conversión de voz a texto y de reconocimiento de voz de la API
Speech Services son buenos ejemplos de servicios cognitivos. Estas capacidades te
permiten transformar datos de voz en texto, traducirlos a otros idiomas y reconocer
la identidad del orador sin configurar un espacio de trabajo de machine learning que
implique millones de conjuntos de datos y una serie de experimentos de modelos de
ML.
El uso de servicios cognitivos es el enfoque más apropiado para quienes desean integrar
fácilmente la IA y el ML en sus aplicaciones con solo un mínimo de conocimientos de
ciencia de datos. Microsoft ofrece opciones de precios muy flexibles de pago por uso
y la mayoría de los servicios ofrecen niveles gratuitos que puedes explorar.
Puedes obtener más información sobre los servicios cognitivos aquí.
Machine learning en Azure | 121

Bot Framework
Microsoft Bot Framework permite a las aplicaciones crear bots inteligentes (a
menudo utilizados para chatbots) para automatizar los flujos de trabajo. Bot Framework
está estrechamente relacionado con Microsoft Cognitive Services como Language
Understanding Intelligence Service (LUIS) y QnA Maker. QnA maker es un servicio
de procesamiento del lenguaje natural (PLN) que acelera la creación de IA basada en
conversación, como los chatbots. Con Bot Framework, los desarrolladores pueden
crear fácilmente una IA conversacional capaz de aprender de expresiones e intenciones
mediante entrenamiento. Este marco de trabajo también permite a los desarrolladores
publicar fácilmente el bot en varios canales como Microsoft Teams, Cortana y Slack.
Actualmente, Bot Framework está siendo ampliamente adoptado por grandes
corporaciones, como bancos y conglomerados minoristas, para su soporte de primer
nivel. Por ejemplo, el Banco de Beirut usó Azure Bot Framework para crear el chatbot
Digi Bob, que ayuda a los usuarios a solicitar préstamos y a hacer uso de otros servicios
bancarios. Para obtener más información, lee el caso de uso aquí.
Con Bot Framework, los desarrolladores pueden implementar bots inteligentes de nivel
empresarial capaces de traducir fácilmente consultas y mensajes (intenciones) de los
usuarios y de responder con acciones significativas. Estas acciones pueden incluir
consultar un origen de datos u orquestar un comando en un sistema. Puedes obtener
más información sobre Bot Framework aquí.
El ecosistema de Microsoft ofrece otras herramientas y productos de machine learning,
como:
• SQL Server Machine Learning Services
• Microsoft Machine Learning Server
• Azure Data Science Virtual Machine
• Windows ML
• MMLSpark
• Azure Notebooks
• Azure Batch
• ML Services en HDInsight
• ML en Power BI
• Azure Machine Learning para VS Code
• Ejecutar tus propios marcos de ML en un contenedor Linux o imagen de servidor
122 | Procesamiento y visualización de datos

Puesto que este libro no podría cubrir todas las tecnologías mencionadas
anteriormente, nos centramos en Azure Machine Learning Services. Para obtener más
información sobre los servicios anteriores, visita este enlace.

Características y ventajas de Azure Machine Learning Services


AMLS ofrece varias características y flexibilidad a los usuarios de diversos entornos y
con distinto grado de experiencia. AMLS se puede integrar en tu canalización de datos
existente para realizar tareas como aprovechar los datos de Azure Data Lake o Azure
Synapse Analytics y servir los modelos directamente a Power BI. También puedes usar
Azure Databricks para automatizar en mayor medida los clústeres de hardware en los
que estés ejecutando tus experimentos de machine learning.
AMLS te proporciona un espacio de trabajo integral para tus operaciones de machine
learning. AMLS te permite crear experimentos con AutoML, con la interfaz visual o con
el kit de desarrollo de software (SDK) en tu cuaderno de ML. También puedes crear
un modelo de datos portátil que se pueda ejecutar en un contenedor. Este modelo se
puede entonces publicar en ACI (Azure Container Instances).

Kit de desarrollo de software (SDK)


Azure Machine Learning sirve un SDK de Python que ofrece soporte completo para
marcos consolidados como MXNet, TensorFlow, PyTorch y Scikit-learn. Puedes
importar los SDK a tus experimentos con Jupyter Notebooks, Azure Notebooks
o incluso Visual Studio Code.

Interfaz visual
También puedes usar una interfaz visual (precisa un mínimo de programación) para
crear y ejecutar experimentos. La experiencia es similar a la de Azure Machine Learning
Studio, donde se usan numerosas herramientas de arrastrar y soltar, así como entidades
de conexión. Se trata de una forma intuitiva de conectar orígenes de datos y de crear un
modelo de ML que entrenar y servir.

AutoML
AutoML es un mecanismo que te sugiere el mejor algoritmo posible para tus
experimentos. Es una característica incorporada de AMLS. Puedes automatizar las
tareas que consumen mucho tiempo, como la limpieza de datos y la selección de
los algoritmos adecuados para tu modelo. AutoML te permite iterar rápidamente
numerosas combinaciones de algoritmos e hiperparámetros, lo que te ayuda
a encontrar el modelo óptimo en función del resultado que desees.
Características y ventajas de Azure Machine Learning Services | 123

Objetivos de implementación flexibles


Microsoft y Azure no limitan tus opciones de implementación de modelos. Incluso si
estás administrando tu espacio de trabajo y realizando los análisis en el cloud, no estás
limitado a implementar el resultado de tus experimentos solo en Azure. Tienes la opción
de implementarlo en entornos on-premises y perimetrales mediante contenedores.

Operaciones de ML aceleradas (MLOps)


En un almacén de datos moderno, la combinación de Azure Databricks y Azure Machine
Learning Services puede acelerar las operaciones de machine learning. Azure MLS
puede proporcionarte un espacio de trabajo integral en el que poder conectar datos de
diversos orígenes con Azure Synapse Analytics, preparar y entrenar modelos de datos,
implementarlos en los consumidores, por ejemplo en Power BI, y luego supervisarlos y
volver a entrenarlos para mejorar su precisión.

Figura 3.34: Preparación, experimentación e implementación en Azure Machine Learning Services

Azure MLS te permite usar Azure Databricks para preparar los datos para tus
experimentos. A continuación, puedes usar cuadernos de Jupyter o código de
Visual Studio para crear experimentos. Como alternativa, también puedes usar la
característica integrada de cuadernos de Azure de MLS. Entonces podrás ejecutar
experimentos para entrenar y probar tu modelo de machine learning, aprovechando
los equipos para ejecutar algoritmos complejos de ciencia de datos. Esto creará un
modelo de ML en formato ONNX, que es altamente portátil y se puede implementar
fácilmente en un contenedor como Azure Container Instance. También tienes la opción
de ejecutarlo en AKS (Azure Kubernetes Services) o incluso en dispositivos perimetrales
compatibles con Docker.
En este libro no profundizaremos en el uso de Azure Databricks como clúster de
computación de Azure Machine Learning Services. Sin embargo, esta combinación
ofrece una serie de ventajas. Si ya usas Azure Databricks para obtener análisis en
tiempo real en tu almacén de datos moderno, también podrías plantearte la posibilidad
de usarlo para ejecutar experimentos de ML en Azure MLS.

Puedes obtener más información al respecto aquí.


124 | Procesamiento y visualización de datos

Guía de inicio rápido (machine learning)


Ahora que hemos analizado lo que Microsoft puede ofrecerte en el ámbito del machine
learning, veremos una sencilla guía de inicio rápido sobre el uso de Azure Machine
Learning Services.
Para este ejemplo concreto, usaremos el conjunto de datos Credit Card Fraud Detection
(Detección de fraudes en tarjetas de crédito), disponible al público en Kaggle. Idealmente,
en una canalización de almacén de datos moderno, obtendrás un conjunto de datos de tu
almacén.
Realiza los pasos siguientes para crear el modelo de ML:
1. En primer lugar, asegúrate de que tu Azure Portal está abierto y, a continuación,
crea un espacio de trabajo de Machine Learning Service en tu grupo de recursos
de Azure. En la barra de búsqueda, busca Machine learning service workspace
(Área de trabajo del servicio Machine Learning) y haz clic en Create (Crear).

Figura 3.35: Crear un espacio de trabajo de servicios de ML


2. Rellena el nombre del espacio de trabajo, la suscripción, el grupo de recursos y la
ubicación. Revisa la información introducida y, a continuación, haz clic en Create
(Crear). Espera a que se cree el recurso. Esto podría tardar unos minutos.
3. Una vez creado el espacio de trabajo, desplázate hasta aquí. Azure ML es un panel
centralizado de uso general para tus experimentos de ML.
4. Empezaremos por crear tu primer clúster de computación. Ve a la pestaña
Compute (Proceso).

Figura 3.36: Pestaña Compute (Proceso)


5. Haz clic en el botón + Add (+ Agregar). Rellena el nombre del equipo. Selecciona
Machine Learning Compute (Proceso de Machine Learning) como Compute type
(Tipo de proceso). La Region (Región) está predeterminada por la región del espacio
de trabajo. Elige un tamaño para el equipo; para empezar, puedes usar Standard_
DS12_v2. Selecciona Dedicated (Dedicado) para la MV. Define el Minimum number
of nodes (Número mínimo de nodos) como 1 y el Maximum number of nodes
(Número máximo de nodos) como 6:
Guía de inicio rápido (machine learning) | 125

Figura 3.37: Agregar los detalles de proceso


126 | Procesamiento y visualización de datos

6. Haz clic en Create (Crear). Espera a que se aprovisione el clúster. Cuando el estado
del aprovisionamiento cambie a Succeeded (Conseguido), podrás empezar a usar
los nodos en tus experimentos.

Figura 3.38: Estado aprovisionado del proceso de machine learning

7. Visita kaggle y descarga el archivo csv (haz clic en Download [Descargar]


y descomprime la carpeta).
8. Vuelve a Azure ML y haz clic en la pestaña Datasets (Conjuntos de datos) del
panel de navegación. Haz clic en + Create dataset (+ Crear conjunto de datos)
y selecciona From local files (Desde archivos locales). Carga el archivo csv que
descargaste de Kaggle. Asigna un nombre creativo al conjunto de datos y define
el tipo como Tabular.
En Advanced settings (Configuración avanzada), verás que el archivo se cargará
en el almacenamiento del espacio de trabajo de ML. Tienes la opción de cambiar
la ubicación del almacén de datos si lo deseas.

Figura 3.39: Crear un conjunto de datos desde el archivo csv


Guía de inicio rápido (machine learning) | 127

9. Haz clic en Done (Hecho). Espera a que se cargue el archivo.


10. Ahora ve a la pestaña Automated ML (ML automatizado), a la izquierda del panel
de navegación. Haz clic en + Create experiment (+ Crear experimento) para crear
un experimento nuevo.
11. Asigna un nombre al experimento. Selecciona un proceso de entrenamiento
eligiendo el clúster creado previamente en el paso 5. Para el conjunto de datos,
selecciona el archivo csv que cargaste en el almacén de datos (creditcard csv
desde Kaggle).
AML mostrará entonces una vista previa del conjunto de datos. Muchos de
los campos de datos se anonimizan por motivos de seguridad. Esto implica la
reducción de las dimensiones de PCA.

Figura 3.40: Vista previa del conjunto de datos mostrada por AML

12. En la tarea de predicción, selecciona Classification (Clasificación) para clasificar


las transacciones como fraudulentas o no fraudulentas.
13. En la columna de destino, selecciona Class (Clase), ya que este es el resultado
de si la transacción es fraudulenta o no.
128 | Procesamiento y visualización de datos

14. En la configuración avanzada, agrega los siguientes valores:

Figura 3.41: Agregar detalles al algoritmo de clasificación

Nota
AUC_weighted es la media aritmética de la puntuación de cada clase, ponderada
según el número de instancias verdaderas en cada clase.

La validación cruzada de K iteraciones es un procedimiento de reprocesamiento


de muestras que divide el conjunto de datos en K grupos para evaluar modelos de
machine learning en una muestra de datos limitada.
Guía de inicio rápido (machine learning) | 129

Ten en cuenta que puedes aumentar los valores de los parámetros anteriores
si deseas ejecutar más pruebas simultáneas o aumentar los tiempos de
entrenamiento. Esto afectará a tu consumo de recursos de proceso y tiempos de
ejecución. También puedes definir algunas opciones para bloquear algoritmos si
no se ajustan a tu caso de uso.
15. Haz clic en Start (Inicio).
Azure MLS ejecutará y probará distintos algoritmos para alcanzar el resultado
deseado. Según la configuración que hayas elegido en los pasos anteriores, podrá
ejecutar algoritmos simultáneos y paralelos para entrenar tu modelo. La ejecución
tardará un tiempo en completarse.
Una vez completada, verás la fórmula que ha obtenido la puntuación más alta.
Este método te permitirá probar diferentes fórmulas para interpretar si una
transacción es o no fraudulenta.
Puedes implementar este modelo en Azure Container Instance (ACI) para
implementarlo después en otros dispositivos compatibles con contenedores,
como  dispositivos de IoT.
Estas puntuaciones nunca pueden ser precisas al 100 % pero, una vez que hemos
desarrollado un modelo, podemos filtrar las nuevas transacciones y detectar si
podrían ser fraudulentas.
La siguiente figura muestra que, con VotingEnsemble, puedes alcanzar una
precisión del 98 % a la hora de predecir si una transacción entrante es fraudulenta.

Figura 3.42: Gráfico iterativo de modelo de detección de fraudes en tarjetas de crédito


130 | Procesamiento y visualización de datos

Este ejercicio puede ayudarte a empezar a usar Machine Learning en Azure. Ya has
podido ejecutar algoritmos de ML y clasificar un conjunto de datos complejo en
cuestión de minutos y sin usar código. Puedes precisar aún más tus experimentos
aumentando el número de iteraciones o prolongando el tiempo de entrenamiento.

Si deseas obtener más información sobre el significado de los gráficos, puedes consultar
este recurso.

Después de estos ejercicios, no dudes en eliminar los recursos de Azure Portal para
asegurarte de que los espacios de trabajo no se sigan facturando a tu suscripción.

Resumen
En este capítulo hemos tratado la creación de modelos semánticos con Azure
Analysis Services. Hemos usado AAS para crear un puente entre el origen de datos y
la visualización de los datos. A continuación, exploramos Power BI Desktop para crear
informes. Power BI te permite crear gráficos enriquecidos y significativos de los que
poder obtener conocimientos empresariales. A continuación, publicamos el informe
para colaborar en él en distintos soportes.
Hemos aprendido que hay muchas herramientas y tecnologías disponibles para
implementar el ML y la IA en Azure. Hemos explorado Machine Learning Services, sus
características y ventajas, y aplicado machine learning en Azure para predecir el fraude
en tarjetas de crédito. En el próximo capítulo hablaremos de las nuevas características
y  funcionalidades incorporadas al almacén de datos moderno.
Introducción a Azure
4
Synapse Analytics
En capítulos anteriores has podido aprender los patrones del almacén de datos
moderno y a implementar tu propio almacén de datos moderno integral mediante
los servicios de Azure. En este capítulo te presentamos una vista previa genérica de
Azure Synapse Analytics, un apasionante conjunto de funcionalidades que se está
incorporando al almacén de datos de Microsoft.

¿Qué es Azure Synapse Analytics?


Azure Synapse es un servicio de análisis ilimitado que combina almacenamiento de
datos de categoría empresarial y análisis de big data. Te proporciona la libertad de
poder realizar consultas de datos adaptadas a las necesidades de tu negocio. Puedes
utilizar recursos aprovisionados o a petición sin servidor, y todo ello a escala. Azure
Synapse combina estas funcionalidades con una experiencia unificada de adquisición,
preparación, administración y servicio de datos para atender las necesidades
inmediatas de business intelligence y machine learning.
134 | Introducción a Azure Synapse Analytics

Azure Synapse es la siguiente evolución de Azure SQL Data Warehouse. Microsoft


ha llevado los almacenes de datos líderes del sector a un nuevo nivel de rendimiento
y funcionalidades. Las empresas pueden seguir ejecutando sus cargas de trabajo del
almacén de datos en producción con Azure Synapse y beneficiarse automáticamente
de las nuevas funciones. Pueden poner sus datos a trabajar de una forma mucho más
rápida, productiva y segura al recabar conocimientos de todos los orígenes de datos,
almacenes de datos y sistemas de análisis de big data.
Con Azure Synapse, profesionales de datos de todo tipo pueden colaborar, administrar
y analizar sus datos más importantes con facilidad, y todo ello desde un mismo servicio.
La integración de Apache Spark con el potente motor SQL de confianza y la posibilidad
de integrar y administrar datos sin necesidad de programar demuestran que Azure
Synapse está pensado para todos los profesionales de datos.
La siguiente figura ofrece información general de los nuevos servicios y características
disponibles en Azure Synapse Analytics:

Figura 4.1: Azure Synapse Analytics


¿Por qué necesitamos Azure Synapse Analytics? | 135

¿Por qué necesitamos Azure Synapse Analytics?


Uno de los desafíos que se plantean a las empresas hoy en día es la necesidad de
administrar dos tipos de sistemas de análisis:
• el almacén de datos, que proporciona conocimientos cruciales sobre el negocio; y
• los data lakes, que proporcionan conocimientos útiles sobre clientes, productos,
empleados y procesos a través de diversas metodologías de análisis.

Ambos sistemas de análisis son cruciales para las empresas y funcionan de manera
independiente uno de otro. Esto puede dar lugar a decisiones no documentadas. Al
mismo tiempo, las empresas necesitan desbloquear conocimientos de todos sus datos
para seguir siendo competitivas y para innovar sus procesos con el fin de obtener
mejores resultados.
Los clientes que deseen crear su propia canalización de datos integral deberán seguir
los pasos que se describen a continuación:
1. Adquirir datos procedentes de distintos orígenes de datos
2. Cargar todos estos orígenes de datos en un data lake para su procesamiento
posterior
3. Limpiar los datos con distintas estructuras y de distintos tipos
4. Preparar, transformar y modelar los datos
5. Servir los datos limpios a miles de usuarios a través de herramientas
y aplicaciones de BI

Hasta ahora, cada uno de estos pasos ha requerido una herramienta diferente, y dada
la amplia oferta de herramientas, servicios y aplicaciones disponibles, elegir la solución
correcta puede ser una tarea abrumadora.
Hay numerosos servicios capaces de adquirir, cargar, preparar y servir datos. También
hay varios servicios basados en el lenguaje de elección del desarrollador que pueden
usarse para limpiar los datos. Algunos desarrolladores prefieren Spark y otros
SQL, mientras que otros prefieren usar entornos sin necesidad de programar para
transformar los datos.
Incluso una vez elegida la colección de herramientas correcta, hay que considerar
la pronunciada curva de aprendizaje hasta familiarizarse con ellas, además de las
dificultades logísticas de mantener una canalización de datos en distintas plataformas
y lenguajes. Con todos estos factores, implementar y mantener una plataforma de
análisis en el cloud puede resultar difícil.
136 | Introducción a Azure Synapse Analytics

Patrón del almacén de datos moderno


Tal como mostramos en el capítulo 2, Azure ofrece uno de los patrones de
almacenamiento de datos moderno mejores y más fáciles de comprender, con
los siguientes servicios:
• Azure Data Factory, que te ayuda a adquirir datos procedentes de orígenes de
datos en Azure Data Lake Storage y orquestar la canalización de datos.
• Azure Databricks y HDInsight, que te proporcionan funciones de Spark para que
puedas usar Python, Scala, .NET, Java o R para preparar y analizar los datos, así
como para crear modelos de machine learning para procesar los datos.
• Azure Synapse Analytics, que se utiliza principalmente para fines de análisis.
• Servicios adicionales altamente optimizados para servir consultas simultáneas a
paneles o aplicaciones de Power BI para visualización.

Este patrón de almacenamiento de datos moderno combina todos estos servicios de


una forma perfectamente integrada para crear la canalización integral.

Desafíos de los clientes


Puede que pienses que el mayor desafío que plantea un almacén de datos eficiente
es aprender a crear la canalización para incorporar los datos u optimizar el almacén
para obtener un mejor rendimiento. Sin embargo, una encuesta a los clientes realizada
por Microsoft reveló que el mayor desafío para los clientes era administrar diferentes
funcionalidades, supervisar cientos de canalizaciones que abarcan varios motores de
computación, proteger distintos recursos (computación, almacenamiento, artefactos)
e implementar código sin cambios importantes. Entre los silos organizativos, los silos
de datos y los silos de herramientas, resulta prácticamente imposible implementar
y mantener una plataforma de análisis en el cloud.
Imagina, por ejemplo, que tu empresa necesita idear un modelo de seguridad único para
proteger todos sus servicios y atender a las directrices internas de cumplimiento más
recientes. En un principio esto podría parecer una tarea sencilla, pero lo cierto es que
es bastante compleja. Debes identificar rápidamente cuál es ese "modelo de seguridad
único" y, a continuación, averiguar cuál es el modelo de implementación de todos estos
servicios. Debes decidir cómo implementar la alta disponibilidad y la recuperación ante
desastres en cada uno de estos servicios. Y, por último, debes tener en cuenta todas
las responsabilidades de administración del ciclo de vida relacionadas, lo que incluye
supervisar estos servicios para asegurarte de que funcionan correctamente. Concentrar
todos estos servicios no es tarea fácil, y en el pasado ha requerido una planificación
compleja.
Azure Synapse Analytics al rescate | 137

Azure Synapse Analytics al rescate


Azure Synapse Analytics resuelve estos problemas. Simplifica todo el patrón de
almacenamiento de datos moderno y permite a los clientes crear soluciones de
análisis integrales con una experiencia unificada.
Azure Synapse Analytics es una evolución de Azure SQL Data Warehouse que ofrece
más funcionalidad a los profesionales de datos, al añadir compatibilidad con las
consultas a petición sin servidor y machine learning. Otras características de Azure
Synapse Analytics son la inclusión de Spark de forma nativa, el acceso a cuadernos de
trabajo colaborativos y la integración de datos en un único servicio. Admite también
distintos lenguajes (como C#, SQL, Scala o Python) en distintos motores.

Algunas de las principales funcionalidades de Azure Synapse Analytics son:


• Análisis SQL con grupos y a petición (sin servidor)
• Spark con compatibilidad completa con C#, SQL, Scala y Python
• Flujo de datos con la experiencia de transformación de big data sin código
• Integración y orquestación de datos para integrar tus datos y aplicar todo el
desarrollo de código
• Azure Synapse Studio para que puedas acceder a todas las funcionalidades
mencionadas dentro de una única interfaz de usuario web unificada

Azure Synapse Studio proporciona una interfaz de usuario unificada para las tareas
de preparación de datos, administración de datos, almacenamiento de datos, análisis
de big data e IA. Ofrece las siguientes características:
• Entornos visuales sin necesidad de programar para administrar canalizaciones
de datos
• Optimización automatizada de consultas
• Funcionalidad para elaborar pruebas de concepto en cuestión de minutos
• Consultas a petición sin servidor
• Posibilidad de acceder de forma segura a los conjuntos de datos y de usar Power BI
para crear paneles en cuestión de minutos, todo ello mediante el mismo servicio
de análisis
Azure Synapse Analytics permite obtener y entregar conocimientos a partir de todos
los datos que residen en el almacén de datos y en sistemas de análisis de big data a una
velocidad sorprendente. Permite a los profesionales de datos usar el conocido lenguaje
SQL para consultar bases de datos relacionales y no relacionales a escala de petabytes.
Características avanzadas como la administración inteligente de las cargas de trabajo,
el aislamiento de cargas de trabajo y la simultaneidad ilimitada contribuyen a optimizar
el rendimiento de todas las consultas en cargas de trabajo decisivas.
138 | Introducción a Azure Synapse Analytics

En el siguiente diagrama se muestra la arquitectura de Azure Synapse Analytics:

Figura 4.2: Arquitectura de Azure Synapse Analytics

Con Azure Synapse Analytics, los clientes pueden desarrollar proyectos de business
intelligence y machine learning con facilidad. Azure Synapse Analytics permite
una profunda integración con Power BI y Azure Machine Learning para ampliar
considerablemente la detección de conocimientos a partir de todos tus datos y
aplicar modelos de machine learning a todas tus aplicaciones inteligentes. El usuario
puede reducir considerablemente el tiempo de desarrollo de los proyectos de BI y de
machine learning con un servicio de análisis ilimitado que permite aplicar inteligencia
de un modo fluido a los datos más importantes —desde Dynamics 365 y Office 365
hasta implementaciones de software como servicio (SaaS) compatibles con Open Data
Initiative— y compartir datos fácilmente con solo unos clics.
Todo esto se proporciona en una experiencia única que incluye editores de consultas
y cuadernos para compartir y usar datos de forma colaborativa, así como recursos
y código para desarrolladores de SQL y Spark.
Básicamente, Azure Synapse Analytics se encarga de todo.
Azure Synapse Analytics al rescate | 139

Profundizar en el uso de Azure Synapse Analytics


Ahora que sabes por qué se inventó Azure Synapse Analytics, puedes examinar sus
servicios en mayor profundidad.
Azure Synapse Analytics es un servicio de análisis de datos integrado y totalmente
administrado que combina almacenamiento de datos, integración de datos y
procesamiento de big data con aceleración del tiempo de obtención de conocimientos,
en un único servicio.
La ventaja de disponer de un único servicio de datos integrado es que, en el caso de
las empresas, acelera la distribución de business intelligence, inteligencia artificial,
machine learning, Internet de las cosas y aplicaciones inteligentes. La siguiente figura
muestra el servicio de datos integrado único disponible con Azure:

Figura 4.3: Análisis y visualización de datos en Azure Synapse Analytics

Para apreciar plenamente las ventajas de Azure Synapse, primero debes echar un
vistazo a sus servicios fundamentales.
140 | Introducción a Azure Synapse Analytics

Espacios de trabajo de Azure Synapse Analytics


Azure Synapse se basa en una unidad denominada "espacio de trabajo". El espacio de
trabajo es el recurso de nivel superior que incluye la solución de análisis en el almacén
de datos. El espacio de trabajo de Azure Synapse admite procesamiento de datos
relacional y de big data. Su entorno colaborativo es el lugar idóneo para que ingenieros
de datos y científicos de datos compartan sus soluciones de análisis y colaboren en
ellas, tal como se muestra en la siguiente figura:

Figura 4.4: Azure Synapse Analytics Studio y espacio de trabajo

Características clave
El espacio de trabajo de Azure Synapse Analytics proporciona las siguientes características:
• Un almacén de datos rápido, seguro y altamente flexible.
• Capacidad para ejecutar consultas T-SQL simultáneas mediante grupos de SQL
en petabytes de datos para prestar servicio a herramientas y aplicaciones de BI.
• SQL On-Demand proporciona consultas SQL sin servidor para facilitar la
exploración y el análisis de datos en Azure Data Lake Storage sin ningún tipo de
configuración o mantenimiento de la infraestructura.
• Responde a todas las necesidades de análisis, desde la ingeniería de datos hasta
la ciencia de datos, haciendo uso de diversos lenguajes, como Python, Scala,
C# y Spark SQL.
• Grupos de Spark, que mitigan la complejidad en la configuración y el mantenimiento
de clústeres y simplifican el desarrollo de aplicaciones de Spark y el uso de cuadernos
de Spark.
Azure Synapse Analytics al rescate | 141

• Ofrece una profunda integración entre Spark y SQL, lo que permite a los ingenieros
de datos preparar datos en Spark, escribir los resultados procesados en un grupo
de SQL y usar cualquier combinación de Spark con SQL para fines de ingeniería
y análisis de datos, con compatibilidad integrada con Azure Machine Learning.
• Capacidad de integración de datos híbridos altamente escalable que acelera la
adquisición y la operativización de los datos mediante canalizaciones de datos
automatizadas.
• Proporciona un servicio integrado sin fricciones, con seguridad, implementación,
supervisión y facturación unificadas.

Azure Synapse Analytics Studio


Azure Synapse Studio incorpora una interfaz web intuitiva que proporciona un espacio
de trabajo y una experiencia de desarrollo integrales.
La siguiente figura muestra un ejemplo de canalización de datos moderna con Azure
Synapse. En este ejemplo, la adquisición empieza desde un origen de almacenamiento
de blobs hasta un destino de Azure Data Lake Storage en el espacio de trabajo de Azure
Synapse Analytics. Con el grupo de Spark, puedes leer varios orígenes de datos desde
Azure Data Lake y SQL Database y realizar cualquier transformación y limpieza de
datos. Por último, puedes escribir los resultados seleccionados en el grupo de SQL para
prestar servicio a las aplicaciones y herramientas de BI.

Figura 4.5: Canalización de datos moderna mediante Azure Synapse Analytics

En las secciones siguientes se destacan las funcionalidades, las características clave, los
detalles de la plataforma y los servicios para el usuario final:
142 | Introducción a Azure Synapse Analytics

Funcionalidades
• Almacén de datos rápido, seguro y altamente flexible, líder del sector en
rendimiento y seguridad
• Capacidad para explorar Azure Data Lake Storage y el almacén de datos mediante
la popular sintaxis T-SQL en consultas SQL de SQL On-Demand (sin servidor)
• Apache Spark integrado con Azure Machine Learning
• Integración de datos híbridos para acelerar la adquisición de datos y la
operativización del proceso de análisis (adquisición, preparación, transformación
y servicio)
• Generación y servicio de informes empresariales con integración de Power BI

Características clave
• Exploración directa de los datos de Azure Data Lake Storage, de un almacén
de datos o de cualquier conexión externa al espacio de trabajo mediante Azure
Synapse Analytics Studio
• Creación y operativización de canalizaciones para la adquisición y orquestación
de datos
• Programación con cuadernos y editores de consultas T-SQL
• Herramienta de transformación de datos sin necesidad de programar para quienes
prefieren no tener que escribir su propio código
• Supervisión, protección y administración de espacios de trabajo sin salir del
entorno
• Experiencia de desarrollo basada en web para todas las soluciones de análisis
• Capacidad para explorar Azure Data Lake Storage, bases de datos y conexiones
externas al espacio de trabajo

Plataforma
• Admite procesos aprovisionados y sin servidor. Ejemplos de procesos aprovisionados
serían los procesos de SQL y de Spark. Estos procesos aprovisionados permiten a
los equipos segmentar sus recursos informáticos, de forma que puedan controlar el
coste y el uso de una forma mejor adaptada a su estructura organizativa. Por otro
lado, los procesos sin servidor permiten a los equipos usar el servicio a petición sin
necesidad de aprovisionar ni administrar ninguna infraestructura subyacente.
• Profunda integración entre los motores Spark y SQL
Azure Synapse Analytics al rescate | 143

Apache Spark
Para los clientes que desean Apache Spark, esta solución dispone de compatibilidad con
productos de Microsoft a través de Azure Databricks y está totalmente administrado
por Azure. Los usuarios tendrán disponible automáticamente la última versión de
Apache Spark, junto con todos los parches de seguridad.
Si usas Spark en Azure Synapse Analytics, este se proporciona como SaaS. Por ejemplo,
puedes usar Spark sin configurar ni administrar tus propios servicios, como una red
virtual. Azure Synapse Analytics se encargará de la infraestructura subyacente. Esto te
permite usar Spark en tu entorno Azure Synapse Analytics con carácter inmediato.

SQL On-Demand
SQL On-Demand proporciona consultas SQL sin servidor. Esto facilita la exploración
y el análisis de datos en Azure Data Lake Storage sin ninguna configuración ni
mantenimiento de infraestructura:

Figura 4.6: Comparación entre distintas infraestructuras


144 | Introducción a Azure Synapse Analytics

Características clave
• Los analistas pueden centrarse en analizar los datos sin preocuparse de
administrar ningún tipo de infraestructura.
• Los clientes pueden beneficiarse de su modelo de precios sencillo y flexible,
ya que solo pagan por aquello que usan.
• Utiliza la conocida sintaxis del lenguaje T-SQL y el mejor optimizador de consultas
SQL del mercado. El optimizador de consultas SQL es el cerebro del motor
de consultas.
• Puedes escalar fácilmente tus recursos de computación y almacenamiento,
de forma independiente, a medida que crecen tus necesidades.
• Consigue una integración sin fisuras con el grupo de SQL Analytics y Spark
mediante sincronización de metadatos y conectores nativos.

Por ejemplo, puedes consultar Azure Data Lake Storage mediante la popular sintaxis
T-SQL siguiendo estos pasos:
1. Selecciona un archivo de Azure Data Lake Storage.
2. Haz clic con el botón derecho y ejecuta la consulta SQL de SQL On-Demand
(sin servidor) usando la sintaxis T-SQL (por ejemplo, GROUP BY, ORDER BY, etc.).

Integración de datos
Azure Synapse Analytics se sirve de la tecnología Azure Data Factory (ADF) para
proporcionar características de integración de datos. Las características clave de ADF
que son esenciales para la canalización del almacén de datos moderno están disponibles
en Azure Synapse Analytics. Todas estas características se distribuyen dentro de un
modelo de seguridad común con control de acceso basado en roles (RBAC) en el espacio
de trabajo de Azure Synapse Analytics.
La siguiente figura muestra un ejemplo de canalización de datos y de las actividades de
ADF que se integran directamente dentro del entorno de Azure Synapse Analytics:
Azure Synapse Analytics al rescate | 145

Figura 4.7: Canalizaciones de datos en Azure Synapse Analytics

Características clave
• Servicios de plataforma integrados para administración, seguridad, supervisión
y administración de metadatos
• Integración nativa entre Spark y SQL Una única línea de código que leer y escribir
con Spark desde/en SQL Analytics
• Capacidad para crear una tabla de Spark y consultarla de forma inmediata con
SQL Analytics sin definir el esquema
• Reconocimiento de modelos de datos comunes
• Entorno "libre de claves", con inicio de sesión único y paso a través de AAD;
no se necesita ninguna clave ni inicio de sesión para interactuar con ADLS/bases
de datos
146 | Introducción a Azure Synapse Analytics

Compatible con varios lenguajes


Azure Synapse Analytics admite varios lenguajes adecuados a las distintas cargas de
trabajo de análisis:
• SQL
• Python
• C#
• Java
• Scala
• R

Próximos cambios
A medida que un producto evoluciona, a veces es necesario reajustarlo actualizando su
nombre. La siguiente tabla indica los cambios y actualizaciones de nombre que se harán
efectivos a partir de ahora.

Figura 4.8: Próximos cambios


Resumen | 147

Resumen
Azure Synapse Analytics es una evolución innovadora de Azure SQL Data Warehouse.
Permite a los profesionales de datos crear soluciones de análisis integrales con una
experiencia unificada.
Azure Synapse aprovecha lo mejor de Azure SQL Data Warehouse y lo moderniza
mediante la incorporación de funcionalidades adicionales para los desarrolladores
SQL: añade consultas a petición sin servidor, incorpora compatibilidad con machine
learning, integra Spark de forma nativa, proporciona cuadernos colaborativos y ofrece
integración de datos en un único servicio.
Los servicios de Azure existentes descritos en el patrón de almacenamiento de datos
moderno (que explicamos en capítulos anteriores) seguirán prosperando. Con sus
nuevas características, Microsoft ofrecerá a los clientes un enfoque simplificado y
optimizado para crear sus soluciones de análisis.
En el próximo capítulo, verás casos de uso reales de cómo todas estas tecnologías se
integran para proporcionar las soluciones completas e integrales de almacén de datos
que los responsables de la toma de decisiones empresariales pueden usar para obtener
conocimientos de utilidad a partir de datos en tiempo real.
Casos de uso
5
empresariales
En los capítulos anteriores, hemos aprendido sobre el análisis a escala de cloud y los
servicios que ofrece Microsoft Azure para permitir que las empresas descubran
información. También hemos conocido las nuevas características y funcionalidades
que se agregaron al almacén de datos moderno. En este capítulo, veremos dos casos
de uso empresariales reales para mostrar soluciones de alto nivel con Microsoft Azure.
El objetivo de estos casos de uso es ilustrar cómo se pueden analizar en Azure los datos
en tiempo real para obtener información significativa y tomar decisiones empresariales.
Los nombres de empresas que se usan aquí son ficticios y, para las demostraciones
de implementación, usaremos conjuntos de datos de ejemplo. Sin embargo, los casos
de uso empresariales, los desafíos y los problemas son reales. Muestran los tipos de
problemas de datos que puedes encontrar en tu vida cotidiana.

El primer caso empresarial se centra en ayudar a una empresa a que obtenga


información procesable a partir de sus datos casi en tiempo real. En el segundo se
habla sobre el uso del análisis de datos en Azure para abordar problemas operativos
y ofrecer mejores servicios a los pasajeros al mejorar la utilización de la infraestructura
del aeropuerto más concurrido de Egipto. Para cada uno de los casos de uso, primero
analizaremos brevemente el problema y los desafíos y, luego, examinaremos un posible
diseño de soluciones y los servicios de Azure que permiten dichas soluciones.
150 | Casos de uso empresariales

Caso de uso 1: información del cliente en tiempo real con Azure


Synapse Analytics
Contoso es una gran empresa minorista multinacional que tiene tiendas en Australia,
Nueva Zelanda y Japón. Esta empresa vende bienes de consumo, artículos electrónicos
y artículos de cuidado personal en sus tiendas físicas y canales digitales online
(aplicaciones móviles y web).
Contoso ha nombrado a una nueva directora ejecutiva apasionada por los datos,
quien ha creado un nuevo equipo de análisis de datos al que ha encargado la tarea de
crear y mantener la información de los clientes casi en tiempo real para impulsar las
decisiones empresariales.

El problema
Como muchas otras organizaciones, Contoso está tratando de reinventarse como
una empresa basada en datos. Son muchos los indicadores que muestran que esta es
la estrategia correcta. Sin embargo, para que Contoso tenga éxito, tiene que resolver
muchos problemas. Algunos de estos problemas son técnicos, mientras que otros son
culturales y organizativos.
La directora general de Contoso quiere que el nuevo equipo de análisis de datos ayude
a la empresa a responder preguntas que guíen las decisiones operativas. Hay muchas
preguntas que el equipo ejecutivo espera responder con datos. Sin embargo, para
articular mejor el alcance de este proyecto, el equipo de datos de Contoso (en consulta
con la directora general) acordó definir la declaración del problema de esta manera:
¿Cómo puede Contoso aumentar los beneficios?
Más concretamente, al equipo de datos de Contoso se le da un desafío de 20 días para
ejecutar un programa piloto de análisis de datos con el fin de modelar formas que
permitan que Contoso aumente su margen de beneficios en un 10 %.
Para empezar, el equipo se centrará en dos áreas clave:
• Comprender los comportamientos de compra de los clientes para predecir las
ventas de productos. Esto incluye optimizar las operaciones logísticas, usar el
espacio en estanterías y disminuir los residuos de productos que han expirado.
• Usar datos de clientes, ventas y marketing para optimizar el gasto de Contoso en
promociones y marketing a fin de llegar a los clientes adecuados con la promoción
correcta.
El problema | 151

Emocionados por llevar a cabo esta tarea, los miembros del equipo de datos de
Contoso comenzaron con un taller para refinar los requisitos y los desafíos técnicos.
Las prácticas de datos actuales de Contoso, como en la mayoría de las empresas, están
orientadas a informar de lo que sucedió en el pasado. Los informes actuales responden
preguntas como "¿Cuántos productos se vendieron?" y "¿Cuáles fueron los ingresos
que generó el producto A?". Sin embargo, esto es muy distinto de lo que Contoso está
intentando lograr, que es descubrir patrones para predecir qué productos debe vender
Contoso y en qué cantidades los venderá, y hacerlo casi en tiempo real. Para que esto
suceda, el equipo de datos de Contoso concluyó que tienen que abordar los siguientes
desafíos.

Captura y procesamiento de datos nuevos


Contoso interactúa con sus clientes a través de varios canales físicos y digitales. Cada
una de estas interacciones genera datos que pueden ser valiosos para Contoso. Piensa
en todas las transacciones en el momento de pagar en la tienda, las respuestas de los
clientes a los distintos anuncios y los ajustes de pasillo en la tienda, así como cualquier
punto de tarjeta de fidelización que podrían haber ganado. Cada interacción con el
cliente genera una variedad de datos que Contoso tiene que capturar.
Además, la tienda online de Contoso tiene rastreadores y balizas para registrar las
actividades de los clientes y sus respuestas a los productos que están en promoción. La
aplicación móvil de Contoso tiene una funcionalidad similar que permite que Contoso
cree una muy buena vista de lo que a los clientes les gusta y no les gusta. Contoso usa
una combinación de Azure Application Insights y Splunk, así como herramientas
internas para registrar los eventos de clic de los usuarios, las navegaciones, el tiempo
que pasan en cada página, los productos que se agregan al carro de la compra y cuántos
pedidos se finalizan. La combinación de estos datos con registros de aplicaciones,
eventos de supervisión de red y lo que Contoso ya sabe sobre sus clientes proporciona
una herramienta eficaz para que Contoso realice una predicción de las tendencias y los
patrones de uso.
Contoso no solo necesita capturar y almacenar todos estos datos a partir de las
interacciones físicas y digitales con los clientes, sino que también necesita limpiar,
validar, preparar y agregar todos estos datos. Esta es una tarea masiva con la que el
equipo no tiene experiencia. El equipo solía procesar datos por lotes mediante la carga
de datos históricos en el almacén de datos para generar informes diarios y semanales.
Esto es bastante difícil para el equipo, porque es una tarea emocionante pero también
abrumadora.
152 | Casos de uso empresariales

Reunión de todos los datos


Por lo general, los datos vienen en distintos formatos y formas. Por ejemplo, las
transacciones de compra son datos tabulares altamente estructurados con los
que es fácil trabajar. Por otro lado, los registros de aplicaciones son archivos
semiestructurados que enumeran millones de eventos y rastrean mensajes de lo que
sucede en los servidores de la aplicación. Contoso debe adquirir ambos tipos de datos,
tanto estructurados como no estructurados.
Para hacer que las cosas sean aún más interesantes, las fuentes de redes sociales no
están estructuradas y están en un lenguaje natural que los clientes usan para escribir
en la web. Estas fuentes pueden ser muy valiosas para Contoso, ya que informan a
la empresa sobre los comentarios reales que proporciona su base de clientes. Sin
embargo, para los profesionales de datos, es difícil capturar y organizar estas fuentes
sueltas de publicaciones de lenguaje natural con el mismo formato y forma que los
datos de transacciones altamente estructurados.
El equipo de datos de Contoso debe enfrentarse no solo la captura de datos en todas
sus formas variables (estructurados, semiestructurados y no estructurados), sino que
también debe encontrar una manera de limpiar y almacenar todos estos datos en un
solo lugar para que se puedan unir y correlacionar con otras formas de datos de otros
orígenes con el fin de descubrir nuevos conocimientos.
Búsqueda de conocimientos y patrones en los datos
Una vez que todos los datos se capturan, limpian, validan y almacenan, el equipo de
datos de Contoso debe iniciar la difícil tarea de encontrar información y patrones
significativos en los datos. Sin embargo, esto puede ser un problema difícil de resolver.
Cuando hablamos de gigabytes (o potencialmente terabytes) de distintos conjuntos de
datos, ¿cómo se encuentran estos patrones? ¿Por dónde empezar?
Las técnicas tradicionales de informes y estadísticas no se escalarán y no se pueden
utilizar por sí solas para enfrentarse a este desafío. Las formas de programación
convencionales no son muy útiles, ya que los programadores y los propios profesionales
de datos no saben qué es lo que están buscando ni cómo encontrar esa información.

Descubrimiento en tiempo real


Contoso necesita descubrir rápidamente información significativa y hacer cualquier
hallazgo tan pronto como se detecte dicha información. Los datos suelen perder su
valor con el tiempo y algunos pierden su valor directamente después de la adquisición.
Por ejemplo, imagina un escenario en el que Contoso realiza una promoción importante
sobre un producto determinado, por ejemplo, un refresco de la marca ABC. Esta bebida
se vende muy rápido hoy en las tiendas X, Y y Z. No sería muy valioso si Contoso
descubriera esta tendencia mañana porque, para entonces, las tiendas X, Y y Z tendrán
los estantes vacíos y los clientes se sentirán decepcionados por no haber obtenido el
producto deseado, lo que significa que Contoso habrá perdido buenas oportunidades
para vender más.
Lluvia de ideas sobre el diseño | 153

Como resultado, Contoso tiene como objetivo descubrir información y tendencias en


tiempo real o casi en tiempo real. Contoso define la idea de "casi en tiempo real" como
5 o 10 segundos después del tiempo real. Esto proporciona el tiempo suficiente para
que las canalizaciones de datos procesen y analicen los datos activos a medida que se
generan en Contoso.
La directora general de Contoso dejó claro al equipo que la organización necesita
saber casi en tiempo real cómo se están ejecutando las operaciones y cómo se sienten
los clientes con respecto a su marca y servicios. Ella mencionó un escenario en el que
Contoso acababa de decidir dejar de vender el producto A. Después de esta decisión, los
clientes comenzaron a hablar mucho al respecto en las plataformas de redes sociales.
A continuación, la directora general de Contoso planteó la siguiente pregunta: ¿Qué
pasaría si un gran número de clientes de Contoso estuvieran hablando online sobre el
cambio potencial a un competidor de Contoso solo por haber tomado esa decisión? La
respuesta a esa pregunta es una información que es crítica para Contoso y que podría
ser perjudicial para su éxito. El punto de vista de la directora general es que tener la
capacidad de analizar, encontrar y actuar sobre información en tiempo real puede ser
una ventaja competitiva enorme para Contoso.
En resumen, Contoso se enfrenta a los siguientes desafíos:
• Contoso quiere capturar y almacenar grandes conjuntos de datos de distintos
orígenes de datos con un rendimiento potencialmente alto. Estos orígenes de
datos incluyen almacenes de datos transaccionales, sensores del Internet de las
cosas (IoT), tiendas online de Contoso y archivos de registros de aplicación.
• La empresa también quiere combinar datos estructurados, semiestructurados
y no estructurados para crear un conjunto de datos único mediante la unión y la
correlación de datos de varios orígenes.
• Contoso debe controlar los distintos niveles de granularidad y calidad de los
diferentes puntos de datos. El equipo debe limpiar, preparar, transformar y unir
estos conjuntos de datos múltiples.
• Contoso desea extraer conocimientos y patrones significativos a partir de los
datos casi en tiempo real.
• Por último, la empresa quiere escalar este proceso de detección de datos para
satisfacer las demandas del negocio.

Lluvia de ideas sobre el diseño


En las siguientes secciones se intentará articular mejor los requisitos y elaborar una
solución técnica que pudiera satisfacer estos requisitos.
154 | Casos de uso empresariales

Adquisición de datos
La primera tarea para cualquier profesional de datos es buscar datos, recopilarlos,
limpiarlos, validarlos y, a continuación, empezar la emocionante tarea de detección
y exploración de datos. En el escenario actual, debes definir los orígenes de los que
necesitas extraer datos. También debes ver cómo puedes cargar datos de distintos
orígenes para crear un conjunto de datos único que los analistas de datos puedan
explorar y consultar fácilmente. Algunos de los sistemas de origen que necesitas
para este caso de uso incluyen:
• Transacciones de ventas: las transacciones de ventas no solo pueden saber qué
y cuántos productos se vendieron en una tienda determinada, sino que también
pueden indicar qué clientes compraron qué productos. Esto se debe a que
Contoso ya tiene un programa de fidelización donde los clientes escanean su
tarjeta de fidelización como parte del procedimiento de pago. Contoso tiene dos
almacenes de datos diferentes para las transacciones de ventas: un almacén de
datos para las tiendas físicas y otro para las tiendas online de Contoso.
• Datos del cliente: Contoso tiene un sistema de administración de relaciones
con el cliente (CRM) que contiene los datos del cliente. Los datos de los clientes
incluyen (entre otras cosas) nombres, apellidos, direcciones físicas, números de
teléfono, direcciones de correo electrónico e información de grupos de edad.
• Datos del programa de fidelización: los datos del programa de fidelización se
almacenan en un sistema de origen distinto y ayudan a Contoso a vincular los
datos de los clientes con las transacciones de ventas.
• Datos de uso e información de las secuencias de clic de aplicaciones digitales:
esto indica cómo los clientes de Contoso responden al diseño y al contenido de las
aplicaciones de Contoso.
• Sensores y datos de IoT: algunas de las tiendas de Contoso están equipadas con
sensores digitales para comprender los comportamientos de los clientes en las
tiendas. Algunas tiendas tienen sensores de IoT instalados para contar cuántos
clientes pasan por cada pasillo y en qué momento. También hay sensores para
medir la temperatura y la humedad en las tiendas de Contoso. Contoso usa estos
sensores para garantizar que los productos frescos, como la leche, se conserven
en las condiciones adecuadas. Además, Contoso también tiene sensores para
contar los empleados casi en tiempo real. Esto ayuda a Contoso a implementar
más personal durante las horas punta para garantizar un servicio más rápido para
que los clientes no tengan que esperar en colas largas.
Lluvia de ideas sobre el diseño | 155

• Otros conjuntos de datos: para enriquecer los datos de Contoso y darles otra
dimensión, el equipo de datos de Contoso está pensando en extraer otros datos,
como datos meteorológicos, datos de mapas o de sistemas de información
geográfica (GIS), datos de perfiles de ciudades y barrios residenciales y otros
datos similares de conjuntos de datos públicos. Estos conjuntos de datos pueden
enriquecer los datos de Contoso y agregar un mayor contexto a las tendencias
y los patrones en los comportamientos de los clientes y las cifras de ventas. Por
ejemplo, tomemos el clima. Contoso podría encontrar que las ventas de ciertos
productos podrían correlacionarse con ciertas condiciones climáticas, por
ejemplo, el aumento en la venta de helados durante la temporada de verano. Del
mismo modo, un perfil de ciudad con cierto grupo de edad y atributos de ingresos
promedio puede estar fuertemente correlacionado con las cifras de ventas de
determinados productos. Por ejemplo, en los barrios residenciales donde la media
de edad es de 25 años podrían tener mayores ventas de productos de peluquería,
mientras que en las tiendas de los barrios residenciales con una media de edad de
45 años se podría vender una cantidad inferior de los mismos productos.

Almacenamiento de datos
Como se ha mencionado anteriormente, Contoso necesita adquirir datos de diversos
orígenes. Contoso también estima que el tamaño de sus conjuntos de datos actuales
es de más de 400 TB con un crecimiento promedio de 10 a 15 GB por día. El formato
de estos conjuntos de datos también es muy distinto. Algunos de ellos están altamente
estructurados, mientras que otros son totalmente no estructurados. Algo que todos
estos conjuntos de datos distintos tienen en común es que todos están creciendo
rápidamente y llegan a una alta tasa de rendimiento. Para satisfacer las necesidades
de Contoso, necesitamos tener un almacén de datos que:
1. Sea escalable y flexible para crecer junto con las demandas del equipo de datos de
Contoso.
2. Sea una plataforma segura y controlada para garantizar que los recursos y la
propiedad intelectual de Contoso estén bien protegidos.
3. Sea compatible con otros sistemas y herramientas existentes.
4. Tenga un precio razonable.
5. Admita operaciones de alto rendimiento y procesamiento paralelo.
156 | Casos de uso empresariales

Ciencia de datos
Una vez que todos los datos se recopilan y almacenan en un almacén de datos central,
el equipo de datos de Contoso necesitará tener una plataforma para:
• Limpiar, transformar y explorar los conjuntos de datos.
• Colaborar con otras partes interesadas empresariales y técnicas para descubrir
patrones y tendencias.
• Integrarse con marcos de inteligencia artificial y entornos en tiempo de ejecución
para aplicar algoritmos de machine learning en los conjuntos de datos y descubrir
cualquier patrón.
• Entrenar y poner en marcha los nuevos modelos de machine learning que podrían
resultar del trabajo de la integración anterior.
• Permitir que el equipo programe, ejecute y supervise las canalizaciones de datos
para permitir la transformación, limpieza e integración de los datos.

Paneles e informes
El desarrollo de soluciones de análisis de datos se puede ver como una conversación
continua entre los profesionales de datos, las partes interesadas empresariales y los
datos. Requiere un perfeccionamiento continuo y pruebas de hipótesis. Por lo tanto, es
imperativo que el equipo de datos de Contoso desarrolle y mantenga informes y paneles
interactivos para comunicar su trabajo y los resultados de sus procesos de detección de
datos a la empresa.
El primer paso para crear estos informes y paneles es contar con un modelo de datos
coherente y común que facilite un entendimiento común en toda la organización.

La solución
El equipo de datos de Contoso decidió usar Microsoft Azure para implementar la
solución de análisis de Contoso. Entre otras cosas, el equipo de Contoso incluyó la
escalabilidad, el cumplimiento y la disponibilidad regional de Azure en las regiones de
Contoso (Australia y Japón) como los principales factores para tomar esta decisión.
El equipo también articuló las razones por las que cada uno de los servicios de Azure
elegidos es adecuado para su propósito, como veremos en las siguientes secciones.
La solución | 157

Contoso usó los requisitos perfeccionados y las conclusiones de la lluvia de ideas


(de las secciones anteriores) para elaborar un diseño para la arquitectura de la solución.
El equipo de datos de Contoso presentó la siguiente arquitectura (como se muestra en
la figura 5.1):

Figura 5.1: Arquitectura de la solución de Contoso

Flujo de datos
El diseño de la figura 5.1 muestra la arquitectura de la solución y el flujo de datos entre
los componentes individuales. Aquí se explica cada uno de los segmentos de flujo de
trabajo marcados (numerados) en el diagrama anterior:
1. Contoso necesita adquirir muchos conjuntos de datos distintos. Algunos de estos
contienen datos estructurados y otros, datos no estructurados. En el caso de los
datos estructurados, Contoso usará Azure Data Factory para adquirir estos datos
mediante actividades por lotes periódicos (5 minutos) e insertarlos en Azure Data
Lake Storage.
2. Para los datos no estructurados, Contoso va a usar Apache Kafka en un clúster
de Azure HDInsight para capturar estos datos casi en tiempo real e insertarlos
en Azure Data Lake Storage y Databricks (Spark Structured Streaming). Esto
hace que todos los nuevos datos estén disponibles para su procesamiento con
la solución de análisis de Contoso y permite que Contoso desencadene cualquier
acción en los datos casi en tiempo real (5-10 segundos de retraso). Los datos no
estructurados incluyen datos procedentes del análisis de secuencias de clic
(informes sobre el comportamiento de los usuarios en los canales digitales de
Contoso), fuentes de redes sociales (de Twitter, Facebook, etc.), registros
e información de seguimiento de los servidores de Contoso y cualquier dato
procedente de los sensores del IoT.
158 | Casos de uso empresariales

3. Una vez que se adquieren los datos, Azure Data Factory insertará los datos en
Azure Data Lake Storage. Azure Data Factory tiene un conector de datos nativo
para Azure Data Lake Storage Gen2.
4. Los datos que se almacenan en Azure Data Lake Storage se pueden cargar
directamente en Azure Synapse Analytics con PolyBase. PolyBase es una
tecnología que Microsoft desarrolló para unificar las consultas y el trabajo con
datos en servidores SQL (y Synapse Analytics), así como sistemas de archivos
basados en Hadoop (como Azure Data Lake Storage).
5. Los datos de Contoso se alojarán en Azure Data Lake Storage Gen2. Estos datos
provienen de diferentes orígenes, con varios niveles de calidad y diferentes
granularidades. Por lo tanto, el equipo de datos de Contoso tendrá que limpiar,
preparar, validar y enriquecer estos conjuntos de datos. Este trabajo se hará con
Azure Databricks. Azure Databricks puede conectarse directamente a Azure
Data Lake Storage para extraer datos y almacenar los resultados de los datos
procesados.
6. Azure Databricks ofrece la capacidad de procesar flujos de datos mediante
Apache Spark Streaming. El equipo de datos de Contoso lo usará para procesar
los flujos de datos no estructurados que captura Apache Kafka. Además, con la
compatibilidad nativa de Azure HDInsight para Azure Data Lake Storage Gen2,
los datos entrantes provenientes de registros de aplicaciones, redes sociales
y otros datos no estructurados se insertarán de Apache Kafka en Azure Data
Lake Storage Gen2. Otros flujos de datos estructurados se pueden insertar
directamente en Azure Synapse Analytics (consulta el punto 9 a continuación).
7. Mientras el equipo de Contoso limpia y prepara datos en Azure Databricks,
tendrá que extraer algunos datos del almacén de datos para combinar datos
históricos con los datos recién llegados. Una vez que se completa la preparación
de los datos, se insertan en Azure Synapse Analytics donde todos los datos
se combinan, modelan y preparan para su consumo. Además, Azure Synapse
Analytics se puede usar como receptor de salida para Structured Streaming de
Apache Spark. Esto brinda a los analistas de datos y a los usuarios de nivel inferior
de Contoso las herramientas para acceder a los flujos de datos casi en tiempo real
mediante Synapse Analytics. Esto no solo permite que los sistemas de los usuarios
de Contoso ejecuten consultas y respondan preguntas sobre los datos recién
llegados, sino que también combinen estos nuevos datos con los datos históricos
que ya están en Azure Synapse Analytics para llegar a un consenso sobre el
rendimiento empresarial y los comportamientos de los clientes.
8. Power BI se puede usar para ejecutar consultas ad hoc sobre los datos que
se están limpiando y procesando en Azure Databricks. Power BI admite esta
integración de varias maneras, como flujos de datos, Direct Query e importación
de datos.
Servicios de Azure | 159

9. Con las funcionalidades nuevas de Azure Synapse Analytics para controlar


el streaming de datos en directo, podemos insertar datos de streaming
semiestructurados directamente de Apache Kafka (clúster de HDInsight)
a Azure Synapse Analytics.
10. Power BI permite a Contoso no solo publicar informes y paneles para los usuarios
de Contoso, sino que también permite que todos los usuarios sean analistas de
datos para su dominio mediante un enfoque de autoservicio y la exploración de los
modelos de datos publicados. Contoso puede usar modelos de datos compuestos
para conjuntos de datos de gran tamaño, que es una característica de Power
BI Premium.
11. Contoso invirtió en modelos complejos con Microsoft Excel. Algunos de los
analistas de datos de Contoso desearían usar Microsoft Excel para tener acceso
a los datos desde Azure Synapse Analytics. Esto se admite "out of the box" en
Microsoft Excel y Azure Synapse Analytics.
Servicios de Azure
En las secciones siguientes se describirá cada uno de los servicios de Azure que se
muestran en el diseño de la solución de la figura 5.1. Para cada servicio, primero se
explicará por qué se necesita este componente, luego por qué los servicios de Azure
son adecuados para Contoso y, finalmente, se mostrará un breve ejemplo práctico de
la parte principal de la implementación.
Azure Data Factory
Rol en el diseño: Contoso, como la mayoría de las demás empresas, tiene una gran
cantidad de orígenes de datos. Algunos de estos orígenes de datos residen on-premises,
mientras que otros están en el cloud. Como se ha explicado anteriormente, Contoso
debe reunir todos estos datos en un solo lugar para poder combinar, correlacionar,
modelar y transformar estos conjuntos de datos para descubrir tendencias
y conocimientos. Esto requiere crear y administrar muchos conectores de datos
para mover los datos de los sistemas de origen de Contoso al almacén de datos central
(el data lake). Aquí es exactamente donde destaca Azure Data Factory porque es un
servicio administrado que tiene como objetivo simplificar la integración de datos para
usuarios de todos los niveles de aptitud.
¿Por qué usar Azure Data Factory?
1. Azure Data Factory ofrece más de 80 conectores de datos precompilados. Esto
permite a Contoso conectar los sistemas de origen a este nuevo almacén de datos
moderno de manera rápida y sencilla sin coste adicional. Microsoft crea estos
conectores de datos, que ofrecen una integración eficaz y resistente y aprovechan
la red de Microsoft Azure, que proporciona un rendimiento de hasta 1,5 GB/s. Esto
no solo ofrece a Contoso un tiempo de comercialización rápido, sino que también
proporciona una plataforma para orquestar el movimiento de datos con una
sobrecarga mínima.
160 | Casos de uso empresariales

2. Contoso tiene varios servidores SQL existentes. Estos servidores hospedan gran
cantidad de paquetes de SQL Server Integration Services (SSIS) para informes
y paneles existentes. Azure Data Factory ofrece un entorno de ejecución de
integración diseñado para controlar paquetes SSIS. Esto hace que Azure Data
Factory sea una plataforma perfecta para Contoso, ya que permite que Contoso
aproveche sus inversiones existentes en estos paquetes SSIS.
3. Además de todos los conectores de datos precompilados, Azure Data Factory
proporciona una interfaz visual que permite que todos desarrollen canalizaciones
de movimiento de datos completas con poco o nada de código. Además, el editor
visual de Azure Data Factory ofrece la capacidad de integrarse con repositorios
de control de código fuente de Git para mejorar la flexibilidad y la capacidad de
mantenimiento. Esto tiene una buena respuesta en el equipo de Contoso, ya que
mejora su productividad y ritmo de desarrollo, al mismo tiempo que reduce la
sobrecarga. El uso de esta característica permite al equipo de Contoso aprovechar
las funcionalidades eficaces de transformación de datos visuales y la organización
de datos de Azure Data Factory en el portal visual, al tiempo que mantiene
controlada toda la versión de trabajo.
4. Azure Data Factory es una herramienta totalmente administrada que permite
al equipo de Contoso comenzar con una inversión pequeña o sin ninguna
inversión y escalar según sea necesario. Esto también significa que no hay ninguna
infraestructura que administrar y el equipo de Contoso solo paga por lo que usa.
5. Además de otras certificaciones, Azure Data Factory cuenta con las certificaciones
ISO/IEC 27001 y 27018, y está disponible en 25 países o regiones, incluidos
Australia y Japón, que es donde opera Contoso. Esto hace que Azure Data Factory
sea servicio muy atractivo para Contoso, ya que marca todas las casillas de su lista
de comprobación en cuanto a la seguridad y el cumplimiento.
6. Azure Data Factory proporciona las herramientas para crear canalizaciones de
datos que son resistentes frente a la desviación del esquema. Esto significa que
cuando el equipo de Contoso crea canalizaciones para mover datos del origen
A al B, pueden estar seguros de que las canalizaciones seguirán siendo funcionales,
incluso si el esquema de los datos del origen A ha cambiado. Esto mejora
significativamente la fiabilidad y la resistencia de las canalizaciones de datos
de Contoso.
7. Por último, el uso de Azure Data Factory proporciona a Contoso un plano
de control único para administrar todas las actividades de movimiento
y procesamiento de datos.
Servicios de Azure | 161

Implementación de ejemplo
El siguiente es un ejemplo de cómo Contoso configura su instancia de Azure Data
Factory para extraer datos de su base de datos transaccional de ventas (que se
encuentra en un servidor de Azure SQL Server) a Azure Data Lake Storage Gen2:
1. Como se ha explicado en el capítulo 2, Crear tu almacén de datos moderno, Azure
Data Factory proporciona integración nativa con Azure Data Lake Storage Gen2.
Contoso puede conectarse a Azure Data Lake Storage Gen2 al configurar un
servicio vinculado en Azure Data Factory de la siguiente manera:
{
   "name": "ContosoAzureDLStorageLS",
   "properties": {
       "type": "AzureBlobFS",
       "typeProperties": {
           "url": "https://{accountname}.dfs.core.windows.net",
           "accountkey": {
               "type": "SecureString",
               "value": "{accountkey}"
           }
       },
       "connectVia": {
           "referenceName": "{name of Integration Runtime}",
           "type": "IntegrationRuntimeReference"
       }
   }
}
Vale la pena mencionar que este ejemplo contiene marcadores de posición para
los valores de configuración principales, como el nombre de la cuenta de Azure
Storage, accountKey y el nombre del entorno de ejecución de integración.
162 | Casos de uso empresariales

2. Después de crear un servicio vinculado en Azure Data Factory, es necesario tener


un conjunto de datos de Azure para hacer referencia a este servicio vinculado.
Esto se puede hacer de la siguiente manera:
{
   "name": "ContosoAzureDataLakeSalesDataset",
   "properties": {
       "type": "DelimitedText",
       "linkedServiceName": {
           "referenceName": "ContosoAzureDLStorageLS",
           "type": "LinkedServiceReference"
       },
       "schema": [ { optional } ],
       "typeProperties": {
           "location": {
               "type": "AzureBlobFSLocation",
               "fileSystem": "{filesystemname}",
               "folderPath": "contoso/sales"
           },
           "columnDelimiter": ",",
           "quoteChar": "\"",
           "firstRowAsHeader": true,
           "compressionCodec": "gzip"
       }
   }
}
El fragmento de código anterior usa el servicio vinculado de Azure Data Lake
Storage para crear un conjunto de datos. Este conjunto de datos creará archivos
de valores separados por comas (CSV) y los almacena como archivos comprimidos
(gzip).
3. Configurar la base de datos de Azure SQL como un servicio vinculado:
{
   "name": "ContosoSalesAzureSqlDbLS",
   "properties": {
       "type": "AzureSqlDatabase",
       "typeProperties": {
           "connectionString": {
               "type": "SecureString",
Servicios de Azure | 163

               "value": "Server=tcp:{servername}.
database.windows.net,1433;Database={databasename};User
ID={username}@{servername};Password={password};Trusted_
Connection=False;Encrypt=True;Connection Timeout=30"
           }
       },
       "connectVia": {
           "referenceName": "{name of Integration Runtime}",
           "type": "IntegrationRuntimeReference"
       }
   }
}
De nuevo, el fragmento de código anterior tiene marcadores de posición para los
siguientes parámetros: el nombre de Azure SQL Server, el nombre de la base de
datos SQL, el nombre de usuario y la contraseña de SQL Server y el nombre del
entorno de ejecución de integración. Además, el ejemplo es solo para fines de
demostración: las contraseñas siempre deben mantenerse fuera del código
y se deben almacenar en Azure Key Vault para garantizar la seguridad.
4. De manera similar al paso 2, es posible que tengas que configurar un conjunto
de datos en Azure Data Factory para la base de datos de ventas de Contoso. El
siguiente fragmento de código hace uso del servicio vinculado de Azure SQL
Database para crear un conjunto de datos que hace referencia a sales_table en
la base de datos SQL de Contoso:
{
   "name": "ContosoSalesDataset",
   "properties":
   {
       "type": "AzureSqlTable",
       "linkedServiceName": {
           "referenceName": "ContosoSalesAzureSqlDbLS",
           "type": "LinkedServiceReference"
       },
       "schema": [ {optional} ],
       "typeProperties": {
           "tableName": "sales_table"
       }
   }
}
164 | Casos de uso empresariales

5. En el siguiente fragmento de código se configura la actividad de movimiento


de datos de la base de datos SQL de ventas a Azure Data Lake. Esto creará una
actividad en Azure Data Factory y hace referencia a los dos conjuntos de datos
que se crearon en el paso 2 y el paso 4. La actividad establece la base de datos de
ventas de Azure SQL como el origen del movimiento de datos y Azure Data Lake
Storage como el destino de la actividad de movimiento de datos:
{
   "name": "CopyFromAzureSQLSalesDatabaseToAzureDataLake",
   "type": "Copy",
   "inputs": [
       {
           "referenceName": "ContosoSalesDataset",
           "type": "DatasetReference"
       }
   ],
   "outputs": [
       {
           "referenceName": "ContosoAzureDataLakeSalesDataset",
           "type": "DatasetReference"
       }
   ],
   "typeProperties": {
       "source": {
           "type": "AzureSqlSource",
           "sqlReaderQuery": "SELECT * FROM SALES_TABLE"
       },
       "sink": {
           "type": "ParquetSink",
           "storeSettings":{
               "type": "AzureBlobFSWriteSetting",
               "copyBehavior": "PreserveHierarchy"
           }
       }
   }
}
Apache Kafka en Azure HDInsight
Rol en el diseño
Contoso necesita adquirir flujos de datos no estructurados, que podrían provenir de
secuencias de clic de aplicaciones, fuentes de redes sociales y dispositivos de IoT. Esto
requiere un motor resistente y escalable para capturar y procesar estos flujos a medida
que llegan.
Servicios de Azure | 165

Apache Kafka es una plataforma de streaming distribuida que permite la adquisición


de flujos de datos de una variedad de orígenes y ofrece un modelo de publicación/
suscripción para registrar y transferir flujos de datos. Apache Kafka es un proyecto de
código abierto muy popular que se utiliza en la creación de aplicaciones de streaming
en tiempo real, que es la forma en que Contoso tiene como objetivo usarlo. Apache
Kafka se ejecuta como un clúster, lo que significa que Contoso necesita un clúster
de equipos con Apache Kafka instalado para poder usarlo. Este enfoque es costoso,
no escalable y requiere mucho mantenimiento.
Afortunadamente, Microsoft Azure ofrece un clúster de HDInsight administrado para
ejecutar Apache Kafka de una manera fácil y rentable y, al mismo tiempo, aprovechar
los acuerdos de nivel de servicio (SLA) de clase empresarial de Azure.
¿Por qué usar Apache Kafka en Azure HDInsight?
Como se ha mencionado anteriormente, Azure HDInsight permite a Contoso ejecutar
Apache Kafka de manera fácil y rápida sin tener que administrar ningún clúster.
Contoso tuvo en cuenta lo siguiente al tomar la decisión sobre Azure HDInsight para
Apache Kafka:
• Azure HDInsight es muy fácil de configurar y empezar a usar. En términos
generales, los clústeres son difíciles de configurar y administrar. Hacer que
Microsoft Azure administre el clúster elimina el problema y deja que el equipo de
Contoso se centre en resolver problemas empresariales en lugar de preocuparse
por la infraestructura.
• Contoso presta mucha atención a la seguridad y el cumplimiento. Azure HDInsight
ofrece controles de seguridad de nivel empresarial y ha logrado más de 30
certificaciones de cumplimiento.
• Azure HDInsight se basa en tecnologías de código abierto y está optimizado para
Hadoop y Spark. Esto significa que Contoso puede ejecutar otras soluciones de
big data populares en el mismo clúster (además de Apache Kafka). Con ello la
inversión de Contoso vale la pena, ya que el mismo clúster se puede usar para
ejecutar varios marcos de código abierto.
• Además de ser fáciles de configurar y administrar, los clústeres de Azure
HDInsight también son muy rentables porque Contoso puede crear clústeres
a petición y escalar o reducir verticalmente según sea necesario. Esto significa que
Contoso no tiene que preocuparse de administrar o pagar por un clúster inactivo
y solo tiene que pagar por lo que se usa.
• Además, Azure HDInsight se puede usar para analizar y presentar estadísticas
sobre la disponibilidad y utilización de big data. Azure HDInsight permite
a Contoso usar herramientas productivas para Hadoop y Sparks con cualquier
entorno de desarrollo que prefiera.
166 | Casos de uso empresariales

Implementación de ejemplo
Este es un ejemplo de la adquisición de un flujo de datos en Azure HDInsight
(Apache Kafka) y su escritura en un archivo Parquet comprimido.
// Reading a kafka stream to a dataframe
val kafkaStreamDF = spark.readStream.format("kafka")
               .option("kafka.bootstrap.servers", kafkaBrokers)
               .option("subscribe", kafkaTopic)
               .option("startingOffsets", "earliest")
               .load()
// Writing streaming data to a parquet file
kafkaStreamDF.select(from_json(col("value")
           .cast("string"), schema) as "tweet")
           .writeStream
           .format("parquet")
           .option("path","/contoso/socialmedia/twitterfeed")
           .start.awaitTermination(10000)
El fragmento de código anterior lee el flujo de datos de Apache Kafka en un DataFrame
en Scala en función de la configuración del servidor y el tema de Apache Kafka.
A continuación, DataFrame se escribe en un archivo comprimido (Parquet) con la ruta
proporcionada con una terminación automática del trabajo después de 10 000 segundos.
El fragmento de código también supone que las bibliotecas de Spark para Kafka están
instaladas, que se hace referencia a ellas de manera correcta y que coinciden con la
versión de Spark en el clúster de HDInsight.
Azure Data Lake Storage Gen2
Rol en el diseño
Azure Data Lake Storage funciona como almacén de datos central de Contoso.
Esto permite que Contoso reúna grandes cantidades de datos de orígenes
diferentes. Además, el tipo y el formato de los conjuntos de datos de Contoso varían
significativamente (estructurados, semiestructurados y no estructurados), lo que
requiere un almacén de datos más capaz que el simple almacenamiento tabular, que es
donde se necesita Azure Data Lake Storage. Azure Data Lake Storage puede almacenar
datos sin esquemas, como blobs, y puede controlar diferentes formatos (por ejemplo,
archivos de texto, imágenes, vídeos, fuentes de redes sociales, archivos comprimidos,
etc.). La capacidad de controlar formatos de datos sin esquemas facilita a Contoso
la adquisición de datos en su formato sin procesar, lo que es esencial para el análisis
avanzado, ya que el análisis se puede realizar en los datos originales sin ningún sesgo
de ninguna agregación de datos.
Servicios de Azure | 167

Además, el equipo de Contoso necesita almacenamiento flexible para que un entorno


de sandbox explore y transforme los datos. Azure Data Lake Storage también se puede
usar para esto.
¿Por qué usar Azure Data Lake Storage Gen2?
• Contoso usa Azure Active Directory para la administración de acceso. Azure Data
Lake Storage Gen2 ofrece integración nativa y "out of the box" con Azure Active
Directory para administrar el acceso a los datos mediante Azure Active Directory
como mecanismo de control empresarial. Esto reduce la complejidad del diseño
y mejora la seguridad y el cumplimiento.
• Azure Data Lake Storage Gen2 facilita la administración y organización de
los datos mediante directorios y subdirectorios integrados con espacios de
nombres jerárquicos. Esto mejora el rendimiento, ya que reduce la necesidad de
copiar o transformar datos en varias carpetas y, al mismo tiempo, simplifica la
administración de datos.
• Azure Data Lake Storage Gen2 se basa en Azure Blob Storage, que está diseñado
para almacenamiento a bajo coste. Azure Data Lake Storage Gen2 ofrece una
serie de características que agregan valor, como espacios de nombres jerárquicos,
lo que reduce aún más el coste total de propiedad.
• Además de tener un bajo coste, Azure Data Lake Storage no impone límites a la
cantidad de datos que se pueden almacenar. Esto significa que el equipo de
Contoso puede comenzar poco a poco con costes mínimos y escalar a medida
que sea necesario, sin preocuparse por alcanzar ningún límite máximo.
• Azure Data Lake Storage se integra de manera nativa con Azure Synapse Analytics,
Data Factory, Power BI y muchos otros servicios de Microsoft Azure. Esto
constituye un argumento convincente para el equipo de Contoso, que ya usa
Power BI y Data Factory.
• Además de integrarse con Azure Active Directory, Azure Data Lake Storage Gen2
ofrece las características de seguridad que el equipo de seguridad de Contoso
exige. Esto incluye el cifrado de datos (tanto en reposo como en tránsito), el inicio
de sesión único, la autenticación multifactor, el control de acceso detallado para
usuarios y grupos, y el cumplimiento de auditoría total mediante la supervisión
de todos los cambios de acceso y configuración en el data lake.
168 | Casos de uso empresariales

Implementación de ejemplo
Al adquirir datos en Azure Data Lake Storage, se considera un buen procedimiento
usar espacios de nombres y contenedores para organizar los datos en el data lake. Esto
no solo facilita la búsqueda de datos, sino que también ayuda con la administración
del control de acceso. En la figura 5.2 se muestra un ejemplo de una zonificación de
data lake simple, donde el data lake está dividido en cuatro zonas: Zona de destino
(adquisición), Zona de almacenamiento provisional, Zona segura y Sandbox de análisis:
• Zona de destino: aquí es donde aterrizarán todos los datos (excepto los
confidenciales) que llegan al data lake antes de procesarlos, limpiarlos, agregarlos,
etc.
• Zona de almacenamiento provisional: aquí se limpiarán/prepararán los datos
antes de que estén listo para su consumo.
• Sandbox de análisis: esta zona la usan científicos e ingenieros de datos como
sandbox para almacenar los datos mientras los procesan y exploran.
• Zona segura: aquí es donde se almacenan y procesan los datos altamente
confidenciales. Separar la zona segura de las demás zonas puede mejorar la
administración del control de acceso. Esta zona incluye datos confidenciales como
datos de fusiones y adquisiciones, datos financieros y otros datos de clientes
que podrían ser difíciles de enmascarar, como datos de género, edad y etnia del
cliente, si se conocen:

Figura 5.2: Ejemplo de zonificación del almacenamiento de un data lake


Servicios de Azure | 169

Azure Databricks
Rol en el diseño
La innovación requiere una colaboración significativa entre los profesionales de
datos, los desarrolladores y la empresa. También requiere recopilar, limpiar, combinar
y transformar grandes conjuntos de datos. Databricks está diseñado para permitir esta
colaboración y proporcionar una plataforma unificada de análisis de datos. Contoso
usará Azure Databricks como una plataforma unificada para la ciencia de datos y la
ingeniería de datos. Azure Databricks proporciona la potencia de computación para
limpiar y analizar datos y admite varios lenguajes de programación y marcos para
distintas cargas de trabajo.
¿Por qué usar Azure Databricks?
• Azure Databricks ofrece un clúster de Spark totalmente administrado, que es
lo que el equipo de Contoso necesita para la preparación, la transformación
y el análisis de datos. Azure Databricks reduce la complejidad de implementar
y administrar el clúster de Spark, al tiempo que ofrece a Contoso la capacidad de
ponerse en marcha de forma rápida y sencilla.
• Azure Databricks se integra de manera nativa con otros servicios de Azure. Esto
es especialmente importante para la seguridad y el rendimiento. Azure Databricks
se integra con Azure Active Directory, lo que significa que no se deben agregar
ni administrar nuevas cuentas de usuario. De manera similar, Azure Databricks
admite Azure Synapse Analytics como receptor de salida para Spark Structured
Streaming. Esto permite que Contoso inserte datos nuevos en su instancia de
Azure Synapse Analytics casi en tiempo real.
• Azure Databricks proporciona un entorno de colaboración enriquecido donde
varias partes interesadas de Contoso pueden trabajar en el mismo cuaderno al
mismo tiempo. Esto mejora significativamente la productividad y fomenta una
mayor innovación al reunir el conocimiento de todos los miembros del equipo.
• Azure Databricks permite el escalado automático del clúster y la terminación
automática. Esto significa que Contoso solo tendrá que pagar el clúster cuando
esté en uso. Esto reduce significativamente los costes al garantizar que los nodos
del clúster solo se ejecutan cuando es necesario que se ejecuten, al mismo tiempo
que se proporciona una mayor flexibilidad al permitir que el clúster se escale de
manera automática.
• La diversidad es buena para la innovación, por lo que Azure Databricks admite
varios marcos y lenguajes de programación. Los científicos de datos y los
ingenieros de datos de Contoso pueden usar R, Python, SQL, Scala, Java y C#
para escribir código en Azure Databricks. Esto es especialmente importante
para Contoso, donde ha sido difícil reclutar y retener talento en esta área.
170 | Casos de uso empresariales

Implementación de ejemplo
El siguiente es un breve ejemplo de código de Python que extrae datos del data lake
a un DataFrame:
configs = {"fs.azure.account.auth.type": "OAuth",
      "fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.
oauth2.ClientCredsTokenProvider",
      "fs.azure.account.oauth2.client.id": "{appId}",
      "fs.azure.account.oauth2.client.secret": "{password}",
      "fs.azure.account.oauth2.client.endpoint": "https://login.
microsoftonline.com/{tenant}/oauth2/token",
      "fs.azure.createRemoteFileSystemDuringInitialization": "true"}

dbutils.fs.mount(
source = "abfss://{file-system-name}@{storage-account-name}.dfs.core.windows.
net/folder1",
mount_point = "/mnt/contoso/sales",
extra_configs = configs)

salesDF = spark.read.format('csv').options(
   header='true', inferschema='true').load("/mnt/contoso/sales/*.csv")
En este fragmento de código se supone que tenemos una entidad de servicio
configurada con el nivel de acceso correcto en Azure Active Directory. También
tiene marcadores de posición para el appId de la entidad de servicio, la contraseña
de la entidad de servicio, el inquilino de Azure AD, el nombre de la cuenta de Azure
Storage y el nombre del sistema de archivos de Azure Data Lake. Además, el código
monta el sistema de archivos de Azure Data Lake Storage en /mnt/contoso/sales
y, a continuación, lee todos los archivos que tienen la extensión de archivo .csv en
un Spark DataFrame.
Azure Synapse Analytics
Rol en el diseño
Contoso necesita una única fuente de verdad para todos sus datos. Estos datos deben
limpiarse, validarse, transformarse y agregarse antes que cualquier otra cosa. Una vez
hecho esto, estos datos recién disponibles deben combinarse con conjuntos de datos
históricos para que Contoso pueda diseñar una imagen completa del rendimiento y las
operaciones empresariales.
Servicios de Azure | 171

Azure Synapse Analytics desempeña el rol de ser la única fuente de verdad. Permite que
Contoso cree un modelo multidimensional de los datos y garantiza un formato de datos
bien estructurados que está optimizado para consultar conjuntos de datos masivos.
Además, Contoso también necesita una plataforma donde los datos bien seleccionados
estén listos para su consumo en un nivel de rendimiento predecible. Azure Synapse
Analytics rellena este rol porque separa la limpieza y validación de datos del servicio
de datos real.
¿Por qué usar Azure Synapse Analytics?
• Azure Synapse Analytics es un servicio totalmente administrado y se escala de
manera dinámica. Esto lo hace muy atractivo para Contoso, porque significa
menos infraestructura que administrar, menos sobrecarga y un servicio escalable
que puede crecer con el negocio.
• Azure Synapse Analytics es 14 veces más rápido que otros proveedores de cloud
según un informe de referencia independiente de GigaOm. Azure SQL proporciona
un rendimiento ultrarrápido para grandes volúmenes de datos. Además, Azure
Synapse Analytics logra esto a través de su funcionalidad de procesamiento
paralelo masivo.
• Azure Synapse Analytics es mucho más barato que otros productos de cloud.
Según el estudio de GigaOm, Azure Synapse Analytics es aproximadamente un
94 % más barato que otros proveedores de cloud.
• Azure Synapse Analytics tiene integración "out of the box" con Structured
Streaming de Apache Spark. Esto permite que Contoso cree informes y paneles
para la información del cliente casi en tiempo real mediante la combinación de
nuevos datos de streaming con datos históricos.
• El equipo de seguridad de Contoso tiene un requisito claro que estipula la
necesidad de proteger sus activos de datos. El equipo de seguridad de Contoso
ha exigido que el almacén de datos no sea accesible públicamente en la web. Esto
lo admite de manera nativa Azure Synapse Analytics a través de la integración de
Azure Virtual Network, donde Azure Synapse Analytics se implementa como parte
de la red Contoso (una red privada virtual).
• A Contoso también le gustaron las demás características de seguridad de
Azure Synapse Analytics. Entre ellas se incluyen la integración con Azure
Active Directory, la auditoría de actividades, la seguridad nativa basada en filas
y columnas, la integración de ExpressRoute y las funcionalidades de detección
de amenazas y cifrado de datos "out of the box".
• Algunas partes de Contoso usan otras herramientas de BI como Power BI, Tableau
y Qlik, y querían asegurarse de que el nuevo almacén de datos admitiera esta
integración. Azure Synapse Analytics es compatible con muchas herramientas de
BI, incluidas las herramientas de BI existentes de Contoso.
172 | Casos de uso empresariales

• Azure Synapse Analytics también puede activar Apache Spark a petición. Esto
puede resultar muy útil para el equipo de datos de Contoso, ya que permite usar
las mismas herramientas de código abierto para trabajar con sus datos dentro de
Azure Synapse Analytics. Esto facilita obtener una mejor productividad, ya que
los clústeres de Spark admiten varios lenguajes y marcos "out of the box" (Python,
R, Scala, etc.). Por lo tanto, los miembros del equipo de Contoso pueden ser
productivos y estar satisfechos con las herramientas con las que se sienten más
cómodos.
• Desarrollar, implementar y administrar un almacén de datos puede ser un
ejercicio muy complejo. Azure Synapse Analytics destaca en esta área, ya que se
basa en la gran experiencia de Microsoft como empresa de desarrollo. Parte de la
razón por la cual Contoso está tan interesado en Azure Synapse Analytics es su
administración optimizada de la carga de trabajo y la excelente productividad del
desarrollador. Azure Synapse Analytics es el único almacén de datos en el cloud
que ofrece compatibilidad nativa con SSMS y SSDT, incluidos los proyectos de
Visual Studio para la administración de código y esquemas, que son fundamentales
para garantizar un ciclo de vida de desarrollo optimizado y reducir el coste total
de propiedad.
Implementación de ejemplo
Azure Synapse Analytics se puede usar como receptor de salida para Spark Structured
Streaming en Azure Databricks. Esto ofrece la posibilidad de incorporar datos de
streaming en vivo a Azure Synapse Analytics de manera rápida y sencilla. Este es un
breve ejemplo de los principales pasos involucrados:
1. En el siguiente fragmento de código se crea una tabla denominada TweetsStream
en Azure Synapse Analytics para recibir el flujo. Esta tabla tiene dos columnas
simples, una para la marca de tiempo y otra para el valor que se recibe del flujo
de datos. En el ejemplo siguiente se asigna ROUND_ROBIN como la política de
distribución para esta tabla. Elegir una política de distribución puede tener
un impacto importante en el rendimiento. Por lo general, elige tablas HASH-
DISTRIBUTED para mejorar el rendimiento de las consultas en tablas de hechos
de gran tamaño y ROUND_ROBIN para mejorar la velocidad de carga:
CREATE TABLE [dbo].[TweetsStream]
(
  [timestamp] DATETIME NULL,
  [Value] BIGINT NULL
)
WITH
(
  DISTRIBUTION = ROUND_ROBIN,
  CLUSTERED INDEX ([timestamp])
)
Servicios de Azure | 173

2. En el siguiente paso se configura el script de Python en Azure Databricks.


El siguiente fragmento de código usa marcadores de posición para los detalles
de conexión de Azure Synapse Analytics. El código establece una conexión con
Azure Synapse Analytics mediante Java Database Connectivity (JDBC). También
configura una cuenta de Azure Blob Storage para usarla para el almacenamiento
temporal:
# Setup the connection to the Azure SQL DW
dwDatabase = {databaseName}
dwServer = {servername}
dwUser = {sqlUser}
dwPass = {password}
dwJdbcPort =  "1433"
dwJdbcExtraOptions =
"encrypt=true;trustServerCertificate=true;loginTimeout=30;"
sqlDwUrl = "jdbc:sqlserver://" + dwServer + ".database.windows.net:" +
dwJdbcPort + ";database=" + dwDatabase + ";user=" + dwUser+";password=" +
dwPass + ";"+dwJdbcExtraOptions

# Setup Blob Storage for temporary storage of the data stream


stAccount = {StorageAccount}
container = {container}
blobAccessKey =  {accessKey}
spark.conf.set("fs.azure.account.key."+blobStorage , blobAccessKey)
El siguiente fragmento de código de Python lee el flujo de datos de Spark.
El código establece el número de filas que se leerán por segundo en 4000 filas
por segundo y el número de particiones en 4:
df = spark.readStream \
  .format("rate") \
  .option("rowsPerSecond", "4000") \
  .option("numPartitions", "4") \
  .load()
174 | Casos de uso empresariales

3. Después escribe continuamente los datos de flujo en la tabla del almacén de datos:
  df.writeStream \
   .format("com.databricks.spark.sqldw") \
   .option("url", sqlDwUrl) \
   .option("tempDir", "wasbs://"+container+"@"+stAccount+"/tmpdir/twts") \
   .option("forwardSparkAzureStorageCredentials", "true") \
   .option("dbTable", "TweetsStream")  \
   .trigger(processingTime="5 seconds") \
   .start()
El fragmento de código anterior guardará el flujo de datos en el contenedor de
Azure Storage designado temporalmente y, luego, PolyBase recogerá los datos
del contenedor temporal en la tabla de Azure Synapse Analytics de destino
(TweetsStream). El código está configurado para activarse cada 5 segundos.

Power BI
Rol en el diseño
El equipo de Contoso debe visualizar y comunicar sus hallazgos, así como algunos de los
datos sin procesar a la empresa. Esto es fundamental para garantizar la participación
de las partes interesadas del negocio y para obtener comentarios de manera rápida
y sencilla. Contoso también necesita una plataforma que permita a los usuarios usar
informes y paneles de autoservicio y que los usuarios de Contoso exploren los datos por
sí mismos.
Power BI completa este rol al permitir que Contoso visualice datos con una variedad
de objetos visuales y formas, y también al permitir que los usuarios empresariales y no
técnicos atiendan de manera automática cualquier necesidad de informes o datos.
¿Por qué recurrir a Power BI?
Power BI es una oferta de software como servicio (SaaS) de business intelligence que
permite que Contoso transforme sus datos en paneles y objetos visuales interactivos
de manera rápida y sencilla. Contoso elige Power BI no solo por sus funcionalidades
de visualización, sino también para mejorar la colaboración y el autoservicio de datos
e informes, características principales del servicio Power BI. El equipo de datos de
Contoso resumió su justificación de por qué Power BI es adecuado para este propósito,
como se indica a continuación:
Servicios de Azure | 175

• Power BI es una oferta de SaaS totalmente administrada, lo que significa menos


infraestructura para que el equipo de Contoso la administre.
• Power BI ha simplificado la visualización y los informes de datos y puede permitir
que cualquier usuario de Contoso sea un analista de datos. La experiencia del
usuario en Power BI es una de las principales ventajas de la plataforma y permite
que los usuarios exploren los datos y los paneles interactivos por sí mismos.
Contoso espera que esto reduzca la sobrecarga y las solicitudes de datos para su
equipo de datos, así como que mejore la colaboración y la participación de los
usuarios empresariales.
• Power BI proporciona una aplicación de escritorio que los usuarios de Contoso
pueden usar para explorar datos, limpiar datos y crear objetos visuales. Esto
es muy atractivo para Contoso, ya que el uso de la aplicación de escritorio de
Power BI es gratis y no requiere una licencia comercial. Además, la experiencia
del usuario en la aplicación Power BI Desktop y el servicio basado en el cloud
Power BI es muy similar, lo que significa menos formación y una transferencia
de conocimiento más fácil.
• Power BI tiene una integración nativa con Azure Active Directory, que permite
a los usuarios de Contoso usar sus identidades existentes. Esto simplifica las
implementaciones y mejora la gobernanza y la seguridad. Además, Power BI ha
pasado por muchas certificaciones de cumplimiento y está disponible en muchas
regiones de todo el mundo, también en Australia, que es donde se encuentra
Contoso.
• Contoso tiene una marca y unas pautas promocionales muy bien definidas. Esto
significa que todas las visualizaciones y paneles deben cumplir con los estilos de
color, las prácticas recomendadas, etc. de Contoso. Contoso cree que esto mejora
la marca y la comprensión de la información porque los informes son coherentes
y familiares para el usuario. Power BI admite este requisito al ofrecer una serie
de características, como temas personalizables, diseños personalizables y otros
elementos visuales personalizados.
• Power BI ofrece una integración "out of the box" con Azure. Esto permite
a Contoso comenzar con cualquier preparación y transformación de datos
localmente y escalar a Azure cuando sea necesario. Además, Power BI cuenta con
integración nativa con los servicios de IA de Azure. Esto permite que Contoso
infunda capacidades de machine learning e IA para ofrecer valor de manera más
rápida y fácil, todo desde Power BI.
176 | Casos de uso empresariales

• El modelo compuesto de Power BI permite a Contoso contar con informes


enriquecidos que obtienen datos de varios orígenes. Los modelos compuestos
permiten que Contoso incluya sin problemas conexiones de datos de más de una
conexión de datos DirectQuery o Import en cualquier combinación. Esto simplifica
las conexiones de datos de los informes a los orígenes de datos y ayuda a Contoso
a generar modelos de datos complejos combinando múltiples sistemas de origen y
a unir tablas de diferentes conjuntos de datos. Además, el uso de la función Modo
de almacenamiento de los modelos compuestos en Power BI Premium puede ser
útil para mejorar el rendimiento y reducir la carga de back-end. Esto se debe a que
Power BI le da al autor de un informe la capacidad de especificar qué elementos
visuales requieren (o no) orígenes de datos de back-end. A continuación, Power
BI almacena en caché (almacena) los elementos visuales que no requieren
actualizaciones continuas de los orígenes de datos de back-end, lo que a su vez
mejora el rendimiento y reduce la carga en los sistemas de back-end.

Implementación de ejemplo
Aquí se muestra un ejemplo de los paneles de Contoso. Los siguientes informes
tienen como objetivo comunicar el rendimiento de Contoso en términos de ventas de
productos en sus respectivas categorías, el stock actual de los productos más vendidos,
las cifras de ventas por año y la distribución regional de los clientes de Contoso. El
informe se creó utilizando datos de muestra proporcionados por Microsoft:

Figura 5:3: Un ejemplo de los paneles de rendimiento empresarial de Contoso


Servicios de Azure | 177

Servicios de soporte de Azure


Además de todos los servicios de Azure que hemos mencionado, Contoso necesita
otros servicios para admitir y habilitar esta arquitectura de la solución. Estos servicios
aparecen en la sección Servicios de soporte de la solución que se mostró en la figura
5.1. En esta sección, se describen brevemente cada uno de estos servicios de Azure.
Automatización de Azure
Contoso tiene varios servidores de bases de datos, equipos de prueba y otros servidores
auxiliares. Contoso puede usar Azure Automation para automatizar la configuración y la
instalación de actualizaciones en estos equipos. Azure Automation permite que Contoso
tenga una manera coherente de administrar estos servidores y garantiza la seguridad
y el cumplimiento mediante runbooks sin servidor. Esto simplifica las operaciones y la
sobrecarga de administración y devuelve al equipo de Contoso el tiempo que necesita
para centrarse en el problema más importante, que consiste en descubrir información
que agregue valor empresarial.

Azure Key Vault


Cada organización tiene muchas claves de cifrado, contraseñas, certificados, cadenas
de conexión y otros datos confidenciales que deben estar bien protegidos. Contoso
comprende la necesidad de proteger esta información confidencial y administrarla
de forma segura y bien organizada. Azure Key Vault está diseñado para resolver
exactamente este problema al proteger todos estos datos confidenciales en un lugar
central donde el acceso se puede administrar de manera segura y se pueden organizar
las claves. Azure Key Vault no solo mejora los controles de seguridad, sino que también
simplifica las tareas operativas, como la rotación de certificados y claves.

Además, Contoso quiere usar Azure Key Vault para quitar la necesidad de que personas
y aplicaciones tengan acceso directo a las claves. Contoso puede usar Managed
Service Identity de Azure para que los usuarios y las aplicaciones puedan usar claves
y contraseñas sin tener que mantener ninguna copia local en sus equipos. Esto
mejora la postura de seguridad general de Contoso y, al mismo tiempo, optimiza la
administración de secretos.
Azure DevOps
Azure DevOps brinda a Contoso las herramientas, los marcos y los servicios que se
usan para ejecutar una práctica ágil a fin de entregar su solución. Azure DevOps es un
servicio totalmente administrado que permite al equipo de Contoso:
• Planificar, realizar un seguimiento, analizar y supervisar los elementos de trabajo
con Azure Boards. Contoso ya usa prácticas ágiles, donde actualmente se usan
muros físicos para realizar un seguimiento de los elementos de trabajo, pero
Contoso se da cuenta de que los muros físicos no se pueden escalar para equipos
más grandes y están limitados en su funcionalidad. Por ejemplo, Contoso puede
usar Azure Boards para vincular defectos y elementos de trabajo con cambios de
código para supervisar y mejorar la calidad del código.
178 | Casos de uso empresariales

• Crear, probar e implementar continuamente cambios de código mediante Azure


Pipelines. Azure Pipelines facilita prácticas ágiles, como la integración continua
y la entrega continua, lo que puede mejorar significativamente la calidad y el ritmo
de la entrega. Azure Pipelines también permite a Contoso automatizar los pasos
de implementación necesarios para insertar cambios en el código. Esto reduce la
sobrecarga y mejora la confianza en las nuevas implementaciones.
• Contoso necesita un sistema de control de código fuente para hospedar su
código y scripts. Contoso quiere usar Azure Repos para esto, ya que proporciona
soporte de nivel empresarial, un número ilimitado de repositorios y un entorno
de colaboración para que el equipo de desarrollo analice y revise los cambios de
código antes de combinarlos.
• Azure Test Plans puede ayudar a Contoso en la validación y comprobación de
cualquier cambio de código y datos para brindar a Contoso una mayor confianza
en los cambios antes de combinarlos. Contoso puede usar Azure Test Plans para
realizar pruebas manuales y exploratorias; además, como Azure Test Plans forma
parte de Azure DevOps, Contoso puede tener una excelente trazabilidad integral
para historias, características y defectos.
Azure Active Directory
Contoso usa Microsoft Office 365 para la colaboración en la oficina, lo que significa que
Contoso ya usa Azure Active Directory. Contoso no desea tener varios servidores de
identidades que administrar y entiende que la administración de nombres de usuario
y contraseñas es una tarea masiva que es mejor dejar a un equipo bien provisto, como
el equipo de Active Directory. Azure Active Directory tiene integración con muchos
de los servicios que Contoso espera usar, como SQL Server, Azure Synapse Analytics,
Azure Data Lake Storage y Power BI. Esto hace que Contoso elija Azure Active Directory
para habilitar el inicio de sesión sencillo y sin problemas en todos estos servicios y,
al mismo tiempo, mejorar los controles de seguridad sobre los datos y las aplicaciones
de Contoso.

Contoso también puede beneficiarse de la completa protección de identidad de


Azure Active Directory, que incluye la detección de amenazas y respuesta ante ellas.
En general, Contoso puede reducir notablemente la sobrecarga y mejorar la seguridad
con Azure Active Directory.

Azure Monitor
Contoso reconoce que la disponibilidad y el rendimiento de su plataforma de datos
es de suma importancia para ganar la confianza de todas las partes interesadas. Para
lograrlo, Contoso no solo necesita recopilar y almacenar telemetría de todas las áreas
de la solución, sino también analizar y actuar sobre cualquier dato. Esto requiere un
servicio dedicado, ya que implementarlo es un desafío importante y eso es exactamente
para lo que Azure Monitor está diseñado.
Conocimientos y acciones | 179

Azure Monitor es un servicio totalmente administrado que permite a Contoso recopilar,


analizar y controlar datos de todos los componentes de la plataforma de datos de forma
fácil y rápida (incluidos los servicios de Azure, las máquinas virtuales, el rendimiento
de la red y otros orígenes). Azure Monitor ofrece dos tipos fundamentales de datos,
que son los registros y las métricas. Contoso puede usar métricas para obtener
información sobre el estado de sus servicios en un momento determinado, mientras
que los registros ayudan al equipo de Contoso a analizar y visualizar los mensajes de
seguimiento de los componentes de la solución individuales. Azure Monitor también
ofrece un gran número de gráficos y visualizaciones que Contoso puede usar para
visualizar el estado del sistema de un vistazo. Por último, Contoso puede usar Azure
Monitor para desencadenar acciones como alertas cuando se cumplen determinadas
condiciones (por ejemplo, cuando el número de errores supera un determinado umbral,
se puede notificar al equipo de Contoso por correo electrónico o SMS).
Conocimientos y acciones
Con Microsoft Azure, el equipo de datos de Contoso pudo diseñar, compilar
e implementar la solución de manera rápida y sencilla. En dos semanas, el equipo
encontró una serie de conocimientos clave que pueden ayudar a Contoso a aumentar
el margen de beneficio. Tres de estas ideas se muestran a continuación.
Reducción de residuos en un 18 %
Descripción: con el modelado inicial, el equipo de datos de Contoso pudo reducir
los residuos en un 18 %. Actualmente, la organización pierde cerca de 46 millones de
dólares al año debido al exceso de productos con vida útil corta. Por ejemplo, productos
como el pan y la leche. El equipo combinó los datos históricos de ventas con otros
orígenes, como los datos meteorológicos y los calendarios escolares, lo que permitió al
equipo predecir la demanda de estos productos con mayor precisión y dio lugar a una
reducción significativa de los residuos.
Valor empresarial estimado: 8,28 millones de dólares al año.
Orígenes de datos clave: transacciones de ventas (tienda física y online), datos
de tiendas (ubicaciones de las tiendas y existencias a lo largo del tiempo), datos
meteorológicos, datos de perfiles de barrios residenciales, calendarios escolares
y calendario de días festivos.
Acciones: las partes interesadas empresariales de Contoso quedaron muy
impresionadas y quisieron implementarla rápidamente. Con Azure Synapse Analytics
y Power BI, el equipo de datos de Contoso pudo implementar la solución para que la
usaran rápidamente los responsables de las tiendas. El resultado es que los responsables
de las tiendas de Contoso ahora tienen un panel interactivo que puede predecir las
ventas con precisión y dar recomendaciones sobre la cantidad de existencias que debe
haber para cada producto.
180 | Casos de uso empresariales

Canalización de datos: aquí está la canalización de datos simplificada para esta


iniciativa:

Figura 5.4: Canalización de datos para la iniciativa 1 (reducción de residuos)


Las tendencias de las redes sociales impulsan el crecimiento de las ventas
en un 14 %
Descripción: el equipo de datos de Contoso desarrolló una hipótesis con respecto a que
las tendencias de las redes sociales pueden aumentar las ventas. El equipo realizó la
detección de datos inicial para descubrir que ese patrón existe en realidad. Curiosamente,
el equipo descubrió que sincronizar las actividades de marketing de Contoso con
tendencias de redes sociales puede ayudar a Contoso a mejorar las ventas en un 14 %.

Un claro ejemplo de esto fue lo que el equipo encontró en los datos de la temporada
de verano de Australia de 2017. En enero de 2017, hubo una fuerte tendencia en las
redes sociales relacionada con la alimentación saludable. Esto no lo organizó Contoso.
Hubo más de 4,5 millones de australianos que tuitearon, marcaron como favoritas,
compartieron o comentaron publicaciones en Twitter y Facebook con el hashtag
#BeHealthy. Coincidentemente, Contoso tuvo una campaña de marketing relacionada
con productos de ensalada de frutas. El equipo descubrió que esta campaña de marketing
fue excepcionalmente exitosa y aumentó las ventas en más de un 25 %, lo que es mucho
más que el aumento promedio esperado del 5 % al 10 %.

Valor empresarial estimado: 15,4 de millones de dólares al año (en función de un aumento
del 14 % de los productos indicados).

Orígenes de datos clave: fuentes de redes sociales (Twitter, Facebook e Instagram),


transacciones de ventas (tienda física y online), datos de tiendas (ubicaciones de las
tiendas y existencias a lo largo del tiempo) y datos de la campaña de marketing.
Acciones:después de analizar los resultados con el equipo de marketing de Contoso, se
acordó que Contoso podría reproducir el éxito de su campaña de promoción de enero de
2017 al supervisar y alinear sus promociones con las tendencias de las redes sociales. El
equipo de datos de Contoso implementó la canalización de datos, tal como se muestra en
la siguiente captura de pantalla, y la implementó como un panel interactivo y en tiempo
real para informar tanto al equipo de marketing de Contoso como a los responsables de
tiendas.
Conclusión | 181

Canalización de datos: aquí está la canalización de datos simplificada para esta


iniciativa:

Figura 5.5: Canalización de datos para la iniciativa 2 (aumento de las ventas)

Conclusión
Ya hemos visto cómo Contoso (o cualquier otra organización) puede aprovechar
Microsoft Azure para descubrir conocimientos sobre los clientes y agregar valor
casi en tiempo real. Microsoft Azure ofrece una amplia variedad de servicios para
la administración y el análisis de datos y tiene como objetivo optimizar el proceso
de desarrollo y, al mismo tiempo, elevar el nivel de calidad y rendimiento.
Además, Microsoft Azure ofrece muchos servicios de datos y análisis como ofertas
totalmente administradas, lo que significa menos sobrecarga para Contoso (y para
cualquier otra organización). La otra ventaja de usar Azure sin servidor es que las
organizaciones y los equipos pueden empezar de manera pequeña sin grandes
inversiones y escalar verticalmente a medida que crece la demanda. Este es un gran
enfoque empresarial, ya que reduce los riesgos de la inversión anticipada, al tiempo que
mitiga la carga de la aprobación burocrática de grandes gastos al inicio de un proyecto
de datos.
Por último, Microsoft Azure proporciona una gran cantidad de documentación
y materiales de aprendizaje online y tiene como objetivo romper la barrera de entrada
al ofrecer crédito gratuito que puede usar cualquier equipo o individuo para empezar
a aprender y crear con Azure hoy mismo.
182 | Casos de uso empresariales

Caso de uso 2: uso de análisis avanzado en Azure para crear un


aeropuerto inteligente
Najad es una ciudad grande en la parte norte de Egipto. El principal aeropuerto de la
ciudad, el Aeropuerto Internacional de Najad (NIA) recibe a 25 millones de pasajeros
al año, lo que equivale a 70 000 pasajeros diarios. Es el aeropuerto más concurrido de
Egipto y gestiona un promedio de 200 000 vuelos cada año.
La administración del aeropuerto NIA espera adoptar análisis de datos en Azure para
mejorar la planificación de la capacidad y la calidad del servicio. El objetivo es usar los
datos para abordar los problemas operativos que actualmente obstaculizan la capacidad
del aeropuerto NIA para utilizar plenamente su infraestructura y recursos. A su vez,
esto mejorará la satisfacción del cliente y permitirá al aeropuerto NIA escalar su
operación atendiendo a más pasajeros y aviones.
En las siguientes secciones se definirán los problemas a los que se enfrenta el
aeropuerto NIA y veremos una lluvia de ideas de diseño. Por último, crearemos una
posible arquitectura de solución en Microsoft Azure que puede resolver este problema
y explicaremos por qué Azure es la plataforma perfecta para este tipo de soluciones.

El problema
Para definir correctamente el problema de negocio, primero debemos tener en cuenta
los desafíos desde la perspectiva empresarial. Luego, observaremos los problemas
técnicos que obstaculizan la capacidad de avanzar del aeropuerto.

Desafíos empresariales
Como se ha mencionado, el aeropuerto NIA recibe a decenas de millones de pasajeros
cada año. Se prevé que el volumen de estos pasajeros aumente en aproximadamente
un 20 % en los próximos 3 a 5 años. El año pasado, el aeropuerto sufrió una pérdida
de más de 370 millones de dólares debido a ineficiencias operativas. Esto incluyó los
costes por retrasos de los vuelos debido a la congestión y las largas colas, la pérdida
de oportunidades de venta al por menor debido a la mala experiencia de los pasajeros,
la mala planificación de los niveles de personal y la infrautilización de los activos del
aeropuerto.
La directora de informática de NIA, Zara Hassan, es relativamente nueva (solo ha
trabajado en el aeropuerto NIA durante 6 meses) y tiene experiencia en datos y business
intelligence. Zara tiene la visión de convertir esta ineficiencia masiva del aeropuerto
NIA en una oportunidad de negocio. Presentó un argumento comercial a la junta del
aeropuerto para realizar pequeñas inversiones incrementales en análisis avanzados con
el fin de reducir los costes operativos generales del aeropuerto, al mismo tiempo que
mejorar la experiencia del cliente.
El problema | 183

Como visionaria, Zara entiende que para que el aeropuerto tenga éxito, tiene que pasar
de observar informes históricos a predecir el futuro. Ella quiere que su equipo ayude
a la dirección del aeropuerto a predecir los retrasos de los vuelos y a mitigar tales
sucesos. Cree que si la administración del aeropuerto tiene acceso a las herramientas
adecuadas, entonces es posible mejorar la planificación de la capacidad, la asignación
de los recursos y la seguridad.
El enfoque propuesto es utilizar datos e inteligencia artificial para modelar pasajeros,
vuelos, equipaje, activos y otros conjuntos de datos para poder predecir con confianza
el volumen de pasajeros y el movimiento de la multitud, lo que a su vez permitirá que el
aeropuerto mejore sus operaciones y reduzca los costes.
Los desafíos empresariales a los que se enfrenta el equipo de análisis de datos del
aeropuerto NIA se pueden resumir de la siguiente manera:
• El primer gran desafío para la administración del aeropuerto es mejorar la
planificación de la capacidad. Actualmente, el equipo de liderazgo del aeropuerto
toma estas decisiones en función de suposiciones y experiencias anteriores, lo que
no refleja necesariamente la realidad. Hasta ahora, el aeropuerto NIA no ha tenido
un enfoque coherente basado en datos para predecir el número de pasajeros
que pueden esperar en un día determinado. La precisión en la predicción de
la cantidad de pasajeros esperados es fundamental para la planificación de la
capacidad, como la administración de los niveles de personal y la compra de
equipos, así como la planificación de mejoras de infraestructura. Además, el
aeropuerto NIA no tiene implementada una solución para predecir las aerolíneas
que podrían retrasarse o la cantidad de personal de seguridad que el aeropuerto
podría necesitar en un día determinado para atender a los pasajeros. Esto conduce
a hacinamiento, colas largas y una utilización ineficiente de la infraestructura.
Se estimó que la mala planificación de la capacidad había costado al aeropuerto
cerca de 160 millones de dólares el año pasado. A esto le agregamos activos
nuevos, como vehículos y carros que el aeropuerto tuvo que comprar debido
a la necesidad percibida, mientras que en realidad solo necesitaban mejorar la
utilización de los activos existentes.
• La asignación de recursos es otra de las principales preocupaciones de la
administración del aeropuerto NIA. Los pasajeros tienen que esperar en
el aeropuerto en largas colas, ya sea en la aduana o en los mostradores de
facturación de las aerolíneas. La mayoría de estas largas esperas se debe a la
mala asignación del personal de NIA en distintas áreas del aeropuerto. La
administración del aeropuerto NIA quiere mejorar la asignación de los recursos,
lo que luego mejoraría la satisfacción de los clientes.
• Las tiendas minoristas y libres de impuestos en el aeropuerto conforman una
parte importante de los ingresos del aeropuerto. NIA tiene una serie de grandes
vallas publicitarias, donde se usa la información de los clientes para proporcionar
algunas promociones ocasionales. La administración del aeropuerto NIA desea
mejorar la participación de los clientes y, a la larga, las oportunidades de negocio
en estas tiendas minoristas del aeropuerto.
184 | Casos de uso empresariales

• Una gran parte del servicio de atención al cliente es proporcionar a los clientes
la información que necesitan en el momento en que la necesitan. Viajar a través
de un aeropuerto puede ser una experiencia muy agotadora y también puede
ser estresante cuando los pasajeros llegan tarde o se les retrasa o cancela un
vuelo. Por lo tanto, el aeropuerto NIA necesita actualizar el estado del vuelo o los
retrasos casi en tiempo real. Esto requiere que la administración del aeropuerto
NIA idee formas creativas e innovadoras de poner la información pertinente
a disposición de los clientes cuando la necesiten. Esto reducirá la confusión
y el estrés de los clientes y mejorará la atención al cliente en términos generales.
• NIA necesita una revisión de la infraestructura a largo plazo. Esto resolvería el
problema de la congestión, que ha causado accidentes menores en el pasado y ha
costado dinero al aeropuerto, a la vez que afecta negativamente a la experiencia
del cliente. Sin embargo, el aeropuerto NIA está buscando mejorar el flujo de
pasajeros y disminuir la congestión usando adecuadamente los recursos como
una solución a corto plazo para el futuro cercano. La congestión dificulta el flujo
de pasajeros y crea riesgos de seguridad cuando demasiadas personas se ven
obligadas a pasar por pequeños pasillos o pasarelas, especialmente cuando hay
personas mayores, bebés y pasajeros con discapacidades. Esto crea incidentes de
seguridad y cada una de estas alertas e incidentes de seguridad significa un coste
monetario para el aeropuerto, pone en riesgo la vida de los pasajeros y afecta
negativamente a la experiencia del cliente. El aeropuerto quiere mejorar el flujo de
pasajeros para reducir la congestión y mejorar la seguridad.

Ahora que sabemos cuáles los principales puntos débiles que el lado empresarial de NIA
espera abordar, tendremos que considerar los desafíos técnicos para que así podamos
empezar a diseñar una solución.

Desafíos técnicos
No hay una fuente de verdad única: un problema importante que la directora de
informática del aeropuerto NIA intenta solucionar es que el aeropuerto no tiene
actualmente una fuente de verdad única en términos de los orígenes de datos. Hoy
en día, el aeropuerto se basa en informes de una serie de sistemas internos antiguos,
así como informes de socios. Estos informes suelen abarcar aspectos operativos del
día anterior y de la semana anterior y tienen cifras contradictorias. Por ejemplo, los
datos de vuelo actualmente están en manos de las compañías aéreas individuales. El
aeropuerto NIA cuenta con más de 35 compañías aéreas, cada una de las cuales tiene
sus propios sistemas y usa distintas terminologías. Esto hace que sea extremadamente
difícil para la administración de NIA obtener informes creíbles a tiempo y mucho menos
tener operaciones basadas en datos.
El problema | 185

Latencia en la obtención de datos e informes: como el aeropuerto NIA no tiene


control sobre los datos de vuelos y cargamentos, confía en los asociados para generar,
agregar y enviar informes operativos. Estos informes generalmente se retrasan por días
o semanas. Esto reduce significativamente la capacidad de la organización para actuar
según cualquier información proveniente de estos informes y obliga al aeropuerto
a ser siempre reactivo en sus operaciones en lugar de planificar con anticipación. Por
ejemplo, si se presenta un informe a la dirección del aeropuerto y muestra que hubo
largas colas que causaron retrasos en los vuelos ayer, la dirección del aeropuerto
no puede cambiar la situación ya que ocurrió en el pasado. El acceso oportuno
a estos datos es fundamental para el aeropuerto NIA y para casi todas las demás
organizaciones.
Disponibilidad y acceso a los datos: la innovación requiere explorar las posibilidades
y experimentar con las opciones. En términos de los datos, esto requiere que el
aeropuerto NIA explore, enriquezca y correlacione continuamente los datos de vuelos
y pasajeros con orígenes de datos externos. Lamentablemente, el aeropuerto no puede
hacer nada de esto hoy en día porque los datos se encuentran en muchos sistemas
aislados que el aeropuerto no controla.
Escalabilidad: NIA tiene actualmente una instancia de SQL Data Warehouse hospedada
en su centro de datos virtual. El equipo de administración ha sido reacio a invertir en
este almacén de datos porque no contiene todos los datos. Esto hace que el almacén de
datos actual quede obsoleto, porque no ayuda a la empresa a encontrar la información
que el aeropuerto necesita. Además, la instancia actual de SQL Data Warehouse no
tiene la capacidad de adquirir ni almacenar todos los datos que NIA puede recopilar.
Seguridad: NIA tiene políticas claras y estrictas para proteger sus datos y todos los
datos de sus clientes. El aeropuerto está obligado a obtener las certificaciones ISO/
IEC 27001 e ISO/IEC 27018 para garantizar que las medidas de seguridad se apliquen
correctamente para proteger el aeropuerto, sus proveedores, sus clientes y todas
las partes interesadas. El aeropuerto NIA debe garantizar todos estos requisitos de
seguridad en cualquier solución potencial.
Capacidad de servicio de datos: para que los datos sean útiles, se deben proporcionar
a los usuarios correctos en el momento indicado. El aeropuerto NIA actualmente
entrega avisos y alarmas a los pasajeros mediante anuncios de audio, así como algunos
monitores grandes colocados en algunos puntos de todo el aeropuerto. Esto es muy
poco eficiente, porque genera ruido y no tiene en cuenta el contexto de quién es el
usuario o lo que el usuario quiere saber. El aeropuerto NIA ahora entiende que necesita
aumentar su apuesta no solo en la mejora de los datos y la eficacia de los informes, sino
también en la forma en que estos informes se entregan a los usuarios.
186 | Casos de uso empresariales

Según estos requisitos, el equipo de business intelligence del aeropuerto NIA junto con
la directora de informática acuerdan definir la declaración del problema de la siguiente
manera:
El aeropuerto NIA pierde más de 350 millones de dólares al año debido a las
ineficiencias operativas, entre las que se incluyen largas colas, niveles de personal
deficientes y subutilización de los activos del aeropuerto. El equipo de business
intelligence del aeropuerto NIA trabajará para ofrecer herramientas de análisis de
datos (paneles, informes y aplicaciones) que ayuden a la empresa a optimizar las
operaciones y eliminar las ineficiencias.

Lluvia de ideas sobre el diseño


Después de definir el problema y articular los desafíos empresariales y técnicos, las
siguientes secciones te ayudarán a llevar a cabo una lluvia de ideas para encontrar un
diseño de solución para el aeropuerto NIA.

Orígenes de datos
Los datos están en el centro de cualquier solución de análisis. Por lo tanto, debes
comenzar pensando en los diferentes tipos de datos que NIA necesitaría. Luego, debes
pensar en un diseño para reunir estos datos. NIA debe recopilar datos de los siguientes
orígenes:
• Datos aduaneros: los datos aduaneros contienen información sobre los pasajeros
y sus declaraciones cuando entran o salen del país. Actualmente, los datos
aduaneros están en manos de sistemas externos. Sin embargo, el aeropuerto
puede extraer estos datos e integrarlos en sus sistemas. El mecanismo actual
de integración con el sistema de datos aduaneros utiliza un volcado de archivos
programado en un servidor de archivos. NIA puede utilizarlo para extraer datos
aduaneros a su nueva plataforma.
• Datos de líneas aéreas/vuelos: actualmente, los sistemas individuales de las líneas
aéreas mantienen los datos de los pasajeros, los viajes, los horarios de facturación
y otros detalles relacionados. Aunque son los sistemas de las líneas aéreas los
que mantienen estos datos, el aeropuerto puede integrarse con estos sistemas
mediante API de integración. La implementación específica de esta integración
variará en función de las líneas aéreas individuales, pero el aeropuerto necesita
obtener estos datos casi en tiempo real.
• Datos de sistemas de aparcamiento: el aeropuerto tiene sensores en todos los
aparcamientos que cuentan los vehículos que entran y salen. Los sistemas de
aparcamiento también tienen una indicación en cualquier punto de cuántas plazas
están disponibles y dónde. Estos datos deberán adquirirse con otros orígenes.
Lluvia de ideas sobre el diseño | 187

• IoT y flujos de vídeo: NIA tiene varias cámaras de supervisión de tráfico instaladas.
Estas cámaras envían streaming de vídeo en vivo y la sala de control las utiliza
para dirigir recursos y adaptar los procedimientos operativos para hacer frente
al tráfico. El aeropuerto también tiene instalados sensores del IoT cerca de las
puertas para indicar el estado de cada puerta. También hay sensores destinados
a supervisar la distribución de las personas en el aeropuerto. Los datos de todos
estos orígenes (IoT y cámaras) se pueden transmitir para el análisis en tiempo real
para proporcionar a la administración de NIA información procesable a medida
que surgen problemas de tráfico.
• Datos de los sistemas de equipaje: el aeropuerto tiene un sistema interno que se
utiliza para administrar todos los datos de equipaje. Esto incluye qué equipaje ha
llegado, en qué vuelo y dónde está ahora. El aeropuerto también sirve a compañías
de logística y recibe múltiples vuelos de carga todos los días. Es importante
recopilar y analizar todos los datos relevantes para servir a estas empresas de
logística para la gestión de flete.
• Fuentes de redes sociales: para proporcionar un buen servicio al cliente, es
esencial que NIA analice las opiniones y los comentarios de los pasajeros, ya que se
espera que los pasajeros utilicen las plataformas de redes sociales para compartir
sus experiencias. Esto ayuda a NIA a mejorar sus servicios y abordar cualquier
problema relacionado de inmediato.
• Otros orígenes de datos: como se ha debatido en el caso de uso 1, es muy común
en el análisis de datos enriquecer los conjuntos de datos existentes con otros
orígenes de datos externos para proporcionar más contexto a cualquier tendencia
o patrón que se encuentre. Esto es especialmente cierto para las operaciones del
aeropuerto donde las cosas pueden verse muy afectadas por los datos climáticos,
las temporadas de vacaciones y otros factores similares. NIA tendrá que adquirir
muchos de estos orígenes de datos externos para complementar sus propios datos
operativos.

Almacenamiento de datos
El aeropuerto estima que sus datos actuales son cercanos a 310 TB, lo que no incluye
todos los datos de los socios que deben recopilarse y almacenarse. Además, el
aeropuerto tiene como objetivo extraer el streaming de la cámara y de las fuentes de
redes sociales. Esto podría agregar 15 GB adicionales de datos por día según cifras
históricas. Esto requiere un servicio de almacenamiento de datos altamente escalable
que pueda adaptarse con flexibilidad a los volúmenes que aumentan rápidamente.
Para cumplir con este requisito, tiene sentido usar un servicio basado en el cloud como
Azure Data Lake Storage para garantizar la escalabilidad flexible y la capacidad de
almacenar datos en varios formatos.
188 | Casos de uso empresariales

Adquisición de datos
Para garantizar que los datos se ponen a disposición del personal del aeropuerto
y de los clientes de manera oportuna, los datos deben adquirirse de orígenes de datos
internos y externos de forma rápida y eficiente. En función de los orígenes de datos
que se han analizado, la solución debe atender a varias formas de adquisición de datos.
Esto incluye cargar volcados de archivos, procesar flujos de datos en tiempo real desde
las redes sociales y cámaras de supervisión, y extraer datos llamando a API externas.
El equipo de datos de NIA puede crear su propia solución de integración y adquisición,
que sería muy costosa y requeriría mucho tiempo de desarrollo, o utilizar una
herramienta de adquisición y orquestación de datos basada en el cloud, como Azure
Data Factory (ADF). ADF optimiza el proceso de adquisición de datos al ofrecer más
de 80 conectores de datos precompilados, que pueden usarse para integrarse con una
variedad de sistemas de origen, como bases de datos SQL, almacenamiento de blobs
y archivos planos.

Seguridad y control de acceso


La solución debe proporcionar los controles de seguridad correctos a la administración
de NIA para que los datos se puedan proteger. Es comprensible que el aeropuerto
tenga una larga lista de partes interesadas que necesitan tener acceso a los datos,
incluidos el personal del aeropuerto, los contratistas de seguridad, la tripulación de la
línea aérea, los pasajeros y los socios. Por lo tanto, la solución debe permitir que NIA
brinde seguridad en el nivel de fila para garantizar que los usuarios solo tengan acceso
a sus datos. Esto requiere un sistema de gestión de control de acceso detallado que
esté integrado en la plataforma elegida para que el equipo de business intelligence de
NIA no tenga que pasar demasiado tiempo preocupándose por la seguridad. El foco del
equipo de business intelligence de NIA debe estar en encontrar información que pueda
ser de utilidad a la administración del aeropuerto.

Descubrir patrones y conocimientos


Una parte clave de la estrategia de Zara es capacitar al negocio para tomar decisiones
de manera inteligente. Se supone que esta inteligencia se adquiere explorando
y descubriendo tendencias y patrones en los datos. Aquí, el mayor desafío es dónde
y cómo construir estos modelos de machine learning. El diseño de estos modelos
requiere trabajar con muchos conjuntos de datos grandes y un grupo flexible de
recursos informáticos. El equipo reconoce el desafío que se avecina y quiere usar Azure
Databricks, que representa la vanguardia en las plataformas de análisis. El equipo quedó
impresionado con la escalabilidad, la seguridad y el amplio soporte de herramientas
y marcos en Azure Databricks.
La solución | 189

La solución
La directora de informática de NIA, con la ayuda del equipo de business intelligence,
acordó utilizar Microsoft Azure como proveedor de cloud para crear la nueva solución.
Resumieron su razonamiento de la siguiente manera.
¿Por qué elegir Azure para NIA?
• NIA ya usa tecnologías de Microsoft como Windows 10, Office 365 y otras
herramientas. Azure tiene mejor integración nativa con todos estos servicios
que cualquier otro proveedor de cloud. Por lo tanto, tiene sentido usar Azure.
Además, NIA desea aprovechar Open Data Initiative (ODI), que permite a las
organizaciones ofrecer conocimientos empresariales excepcionales combinando
datos de comportamiento, transaccionales, financieros y operativos en un solo
almacén de datos. La iniciativa simplifica la creación de modelos de datos comunes
en toda la organización y fue desarrollada conjuntamente por Adobe, Microsoft
y SAP.
• El uso de Azure significa que NIA puede seguir usando el mismo servidor de
identidades centralizado, que se administra con Azure Active Directory para
Office 365. Esto significa una mejor seguridad para NIA y menos gastos generales
al crear y administrar nuevas cuentas de usuario.
• Azure tiene más centros de datos regionales que otros proveedores de cloud
principales. Esto significa que Azure puede proporcionar una mayor resistencia
y disponibilidad del servicio a NIA. Además, Azure es el único proveedor de
cloud que tiene un centro de datos regional en África, que es donde se encuentra
NIA. Esto hace que Azure sea la opción perfecta, ya que cumple con todos los
requisitos.
• El equipo de business intelligence de NIA descubrió que el uso de Azure es
más rentable que usar otros proveedores de cloud. Synapse Analytics de Azure
(anteriormente conocido como SQL Data Warehouse) es 14 veces más barato que
los servicios de AWS o Google, como se ha explicado en el caso de uso 1. Además,
Azure ofrece la capacidad de usar instancias reservadas para máquinas virtuales
e instancias de computación, lo que puede ofrecer descuentos aún mayores.
También, mediante el acuerdo empresarial existente de NIA con Microsoft,
NIA puede obtener descuentos aún mejores en todos los precios minoristas de
servicios de Azure. Esto hace que sea muy difícil justificar la elección de cualquier
otro proveedor de cloud.
• NIA también tuvo en cuenta el historial de Microsoft en tecnologías para
desarrolladores y experiencia de desarrollador como una gran ventaja para Azure.
Como empresa de desarrollo de software, Microsoft ofrece la mejor experiencia
de desarrollador utilizando su gran cantidad de propiedad intelectual en este
campo. Esto significa que NIA puede tener una buena experiencia de desarrollo
e implementación al usar Azure.
190 | Casos de uso empresariales

• Azure ha logrado más de 30 certificaciones de cumplimiento, entre las que se


incluyen ISO/IEC 27001 e ISO/IEC 27018, también requeridas por NIA. Agrega
a eso el hecho de que el modelo de negocio de Azure no se basa en el uso
o la venta de datos de clientes, que es parte del modelo de negocio de otros
proveedores de cloud. Esto brinda mayores garantías a NIA y su junta de que sus
datos y los de sus clientes están bien protegidos.
• NIA también espera usar Azure Stack, que proporciona al aeropuerto la capacidad
de alojar aplicaciones y servicios on-premises y en el cloud sin problemas
utilizando la misma infraestructura base, que funciona con Azure y Azure Stack.
• Finalmente, NIA quiere tener la capacidad de elegir una combinación de
herramientas PaaS, SaaS y de código abierto. Azure permite que NIA haga
exactamente eso al ofrecer excelentes servicios de PaaS y SaaS como Azure Data
Lake, Azure Data Factory y otros, al mismo tiempo que admite la integración
nativa con servicios de código abierto como Databricks y Kafka.

Arquitectura de la solución
Ahora que el equipo de BI ha refinado los requisitos y se ha elegido una plataforma en el
cloud, es hora de idear un diseño seguro y escalable. El equipo de business intelligence
de NIA utilizó la siguiente arquitectura de la solución:

Figura 5.6: Arquitectura de la solución para NIA


La solución | 191

El diseño de la figura 5.6 muestra la arquitectura de la solución y el flujo de datos entre


los componentes individuales. A continuación, se explica cada uno de los segmentos de
flujo de trabajo marcados (numerados) en el diagrama anterior:
1. Los datos estructurados como Datos de líneas aéreas, Datos aduaneros y Datos
de equipaje se adquieren mediante Azure Data Factory. Esto incluye otros
orígenes de datos, como los datos de los sistemas de aparcamiento y los datos
meteorológicos. Azure Data Factory brinda a NIA la capacidad de configurar un
entorno de ejecución de integración que se puede usar como puerta de enlace
para conectarse a los orígenes de datos on-premises de NIA desde Azure.
2. Todos los datos no estructurados, entre los que se incluyen datos de sensores
del IoT, streaming de vídeo de tráfico y fuentes de redes sociales se adquirirán
mediante Apache Kafka en un clúster de Azure HDInsight. El uso de Apache
Kafka en Azure HDInsight permite que NIA filtre y transforme los flujos de datos
entrantes a medida que llegan antes de la adquisición.
3. Azure Data Factory inserta los datos estructurados adquiridos en Azure Data
Lake Storage Gen2 para el almacenamiento.
4. Azure Databricks se utiliza como la plataforma unificada de análisis de datos para
permitir que los científicos e ingenieros de datos de NIA trabajen en la limpieza, la
transformación y el descubrimiento de datos. Azure Databricks lee los conjuntos
de datos adquiridos de Azure Data Lake Storage y también usa Data Lake Storage
para almacenar los resultados y los datos seleccionados.
5. El flujo de datos entrantes (de las redes sociales y sensores del IoT) se envía de
Kafka al streaming estructurado de Apache en Azure Databricks. Esto permite que
el equipo de business intelligence almacene los datos entrantes en Azure Data
Lake Storage.
6. Azure Machine Learning Services se usa para administrar los modelos de
machine learning, conjuntos de datos, experimentos e imágenes de modelos
nuevos. Azure Machine Learning Services tiene integración nativa con Azure
Databricks.
7. Los datos limpios que están listos para el consumo se envían de Azure Databricks
a Azure Cosmos DB. Esto incluye los datos de vuelo más recientes y los datos
de equipaje para que los pasajeros y el personal del aeropuerto dispongan de los
datos para su consumo.
8. Power BI también está configurado para leer conjuntos de datos más extensos
directamente desde Azure Databricks. Los ejemplos de los datos que se enviarán
mediante este mecanismo incluyen los resultados de descodificar el flujo de vídeo
de tráfico para crear mapas de calor de multitudes.
192 | Casos de uso empresariales

9. Azure Machine Learning Services se usa para entrenar y construir modelos


de machine learning. Los modelos resultantes se almacenan como imágenes
de Docker en Azure Container Registry. Las imágenes de Docker se usan
generalmente como una forma de empaquetar modelos de machine learning con
todas sus dependencias (bibliotecas, código fuente y archivos de configuración)
como un único paquete desplegable. Esto mejora el ciclo de vida del desarrollo
y reduce los errores de implementación.
10. Azure Kubernetes Service está configurado con la implementación para tomar las
nuevas imágenes del modelo de machine learning de Azure Container Registry
y ejecutar estos modelos como pods de Kubernetes. Esto hace que los modelos
de machine learning estén disponibles para generar predicciones realizando
llamadas HTTP sencillas. Algunos ejemplos de los modelos de machine learning
son un motor de recomendación para las asignaciones de puertas y un modelo
de machine learning de previsión de la demanda de aparcamiento.
11. El equipo de business intelligence de NIA puede implementar los nuevos modelos
de machine learning a través de aplicaciones web, que se pueden alojar en Azure
Kubernetes Service. Estas aplicaciones web pueden interactuar con Azure
Cosmos DB para guardar datos de inferencia de machine learning (como las
acciones que se recomiendan al personal del aeropuerto), así como para servir
datos seleccionados, como el horario de los vuelos y los datos de equipaje.
Algunos ejemplos de estas aplicaciones web son Passengers Hub y Airport Brain.
Passengers Hub está diseñada para ser el único portal central que sirve los datos
de todos los pasajeros, lo que incluye información como detalles de vuelos,
números de puertas, mostradores de facturación y recomendaciones para el
pasajero. Los pasajeros pueden ver toda esta información en su dispositivo móvil
descargando la aplicación móvil del aeropuerto.
12. Airport Brain es el nombre que se da al nuevo portal central para el personal de
administración del aeropuerto. El objetivo es proporcionar a la administración de
NIA las herramientas para permitir operaciones eficientes. El portal utiliza datos
para proporcionar recomendaciones sobre las asignaciones de puertas, los niveles
de personal y la distribución de los activos aeroportuarios.
13. Tanto Passengers Hub como Airport Brain utilizan los datos seleccionados
que están almacenados en Azure Cosmos DB. Azure Cosmos DB también se usa
para almacenar tipos de datos específicos de la aplicación, como las sesiones
y las alertas de los usuarios. Todo esto está habilitado por el motor de consultas
ultrarrápido de Azure Cosmos DB y una alta capacidad de respuesta.
Servicios de Azure | 193

14. Tanto Passengers Hub como Airport Brain requieren visualización de datos.
Power BI se utiliza para crear estos informes y luego usa la función de incrustación
de páginas web de Power BI para presentar estos informes de Power BI en
las nuevas aplicaciones web. Los datos seleccionados incluyen información
relacionada con los pasajeros, como los detalles del vuelo, cualquier retraso
previsto e información sobre su equipaje.
15. El panel de Power BI sirve datos de Azure Cosmos DB, que incluye datos
relacionados con los pasajeros, como se detalla en el punto 13.

Servicios de Azure
Como en el caso de uso 1, en las secciones siguientes se describen cada uno de los
servicios de Azure que se muestran en la figura 5.6. Primero se explicará por qué cada
servicio es necesario, por qué es adecuado para NIA y, a continuación, se mostrará un
breve ejemplo práctico de la parte central de su implementación. Para evitar repetirnos,
se omiten los servicios de Azure cubiertos en el caso de uso 1 a menos que NIA tenga
requisitos específicos para ese servicio.

Azure Databricks
Rol en el diseño
Azure Databricks es la plataforma unificada para limpiar, transformar, fusionar
y explorar datos. Azure Databricks es necesario para proporcionar la potencia de
cálculo necesaria para procesar datos y fomentar una mayor colaboración entre las
muchas partes interesadas.
¿Por qué usar Azure Databricks?
Además de todas las ventajas de Azure Databricks que se trataron en el caso de uso
1, Azure Databricks admite varios lenguajes, marcos de machine learning (como
TensorFlow y PyTorch), y se integra con muchas herramientas de código abierto.
El equipo de business intelligence de NIA necesita una plataforma que pueda manejar
tanto la ingeniería de datos como las cargas de trabajo de ciencia de datos. Azure
Databricks está diseñado para cumplir este propósito al permitir a los ingenieros de
datos limpiar, fusionar, transformar y ajustar datos, al mismo tiempo que capacitar a los
científicos de datos para usar cualquiera de los marcos de machine learning populares,
como TensorFlow o PyTorch.
194 | Casos de uso empresariales

Implementación de ejemplo
El siguiente fragmento de código configura una conexión a Azure Cosmos DB desde
Azure Databricks mediante el conector Azure Cosmos DB. El siguiente código de
Python tiene un marcador de posición para la clave maestra de la instancia de
Azure Cosmos DB y da por hecho que NIA tiene una instancia de Azure Cosmos DB
denominada NIAAnalytics, que tiene una colección que se llama flights_data. El código
guarda un DataFrame (Spark DataFrame) flights en Azure Cosmos DB:
# Config to connect to Cosmos db
config = {
    "Endpoint": "https://NIAairport.documents.azure.com:443/",
    "Masterkey": "{masterKey}",
    "Database": "NIAAnalytics",
    "Collection": "flights_data",
    "Upsert": "true"

# Writing flights data from DataFrame to Azure Cosmos db


flightsDf.write.format("com.microsoft.azure.cosmosdb.spark").options(**config).
save()

Azure Cosmos DB
Rol en el diseño
Azure Cosmos DB tiene dos objetivos principales: almacena todos los datos de
aplicación para aplicaciones como Passengers Hub y Airport Brain, y también se utiliza
para servir datos seleccionados que están listos para el consumo por parte del personal
del aeropuerto y las partes interesadas externas (como pasajeros).
Servicios de Azure | 195

¿Por qué Azure Cosmos DB?


Hay muchas opciones para almacenar los datos seleccionados de NIA y los datos de
las aplicaciones. Sin embargo, el equipo de business intelligence de NIA decidió elegir
Azure Cosmos DB por los siguientes motivos:
• Azure Cosmos DB proporciona una distribución global llave en mano "out of
the box" que es excelente para garantizar la disponibilidad y la resistencia de la
plataforma de NIA. Es comprensible que NIA no pueda permitirse el tiempo de
inactividad porque sirve a millones de pasajeros durante todo el año. Por lo tanto,
su nueva plataforma debe tener una alta disponibilidad que pueda ser impulsada
por Azure Cosmos DB.
• La plataforma de NIA debe proporcionar datos casi en tiempo real. Por lo tanto,
es importante reducir la latencia. Azure Cosmos DB permite que NIA tenga una
latencia de milisegundos de un solo dígito. Esto también se complementa con el
impresionante SLA de Azure Cosmos DB del 99,999 %.
• Como se ha mencionado anteriormente, NIA estima que sus datos actuales son de
más de 310 TB, con una tasa de crecimiento de 15 GB al día. Esto aún no incluye
los datos procedentes de socios de líneas aéreas y orígenes de datos externos,
como el clima y el tráfico. Por este motivo, el equipo eligió Azure Cosmos DB,
por su escalabilidad flexible e ilimitada. Azure Cosmos DB proporciona a NIA
la escalabilidad que necesita con la opción de pagar solo por lo que se usa en
términos de almacenamiento y rendimiento.
• Actualmente, el aeropuerto tiene varios sistemas internos para mantener sus datos
actuales, incluidos los servidores SQL y los servidores MongoDB. El equipo desea
tener una mayor compatibilidad con todos estos sistemas de origen existentes
y permitir que las aplicaciones existentes funcionen con la nueva base de datos
sin tener que realizar ningún cambio. Azure Cosmos DB es la elección perfecta
para este requisito, porque proporciona un motor de varios modelos con un punto
de conexión de API compatible con el protocolo de transferencia. Esto significa
que las aplicaciones de NIA pueden conectarse a la misma instancia de Azure
Cosmos DB mediante varios controladores, como MongoDB, SQL y Gremlin. Esto
simplifica el esfuerzo de desarrollo e implementación porque usa las mismas API
de controladores y también reduce el coste total de propiedad debido al margen
para la transferencia de conocimiento y la reducción de la necesidad de volver
a realizar el trabajo.
• Otra característica de Azure Cosmos DB que atrajo al equipo de business
intelligence de NIA fue la capacidad de realizar análisis operativos e IA en
tiempo real en Cosmos DB. Azure Cosmos DB tiene una integración "out of the
box" con Apache Spark y permite ejecutar Jupyter Notebooks para trabajar con
datos en Cosmos DB directamente sin más integración o trabajo de desarrollo
personalizado.
196 | Casos de uso empresariales

• Comercialmente, Azure Cosmos DB es una opción rentable porque ofrece al


equipo de business intelligence la flexibilidad y el control necesarios. Lo bonito
de usar Azure Cosmos DB es su capacidad de ofrecer una funcionalidad a escala
planetaria con la capacidad de controlar el modelo de costes basado en el
almacenamiento y el rendimiento necesarios. Esto significa que cuando se ejecuta
una actualización en un registro en Azure Cosmos DB, todos los usuarios del
mundo pueden ver esta actualización en cuestión de milisegundos.
• Finalmente, Azure Cosmos DB es un servicio totalmente administrado, lo que
significa que el equipo de NIA solo tendrá que preocuparse por los datos que
almacena en Cosmos DB sin preocuparse por la infraestructura. Además, esto
permite al equipo empezar de manera rápida y económica, y escalar a medida que
comienzan a incorporar más conjuntos de datos y demostrar más valor comercial.

Implementación de ejemplo
Una de las cosas buenas de Azure Cosmos DB es su compatibilidad con muchos
modelos y controladores de consulta. Los siguientes fragmentos de código muestran
cómo se puede consultar Cosmos DB utilizando SQL o MongoDB. Los dos ejemplos
están escritos en C#:
1. El primer fragmento de código consulta los registros de la tabla de pasajeros
y busca pasajeros que se llamen Bob. Luego, itera a través de todos los resultados
devueltos e imprime el nombre del pasajero en la consola:
var sqlQuery = "SELECT * FROM P WHERE P.FirstName = 'Bob'";
Console.WriteLine("Running query: {0}\n", sqlQueryText);
var queryDefinition = new QueryDefinition(sqlQueryText);
var queryResultSetIterator = this.container
                        .GetItemQueryIterator<Passenger>(queryDefinition);

List<Passenger> passengers = new List<Passenger>();


while (queryResultSetIterator.HasMoreResults)
{
    var currentResultSet = await queryResultSetIterator.ReadNextAsync();
    foreach (Passenger p in currentResultSet)
    {
        passengers.Add(p);
        Console.WriteLine("\tRead {0}\n", p);
    }
}
Servicios de Azure | 197

2. El segundo fragmento de código realiza una consulta similar, pero utiliza la API de
MongoDB. Primero crea MongoClientSettings y luego MongoClient, que se usa para
obtener una referencia a Azure Cosmos DB. El código supone que los ajustes ya se
han configurado en este punto. El código crea una referencia a Azure Cosmos DB
de NIA (NIAAnalytics) y consulta passengerCollection:
var settings = new MongoClientSettings();
MongoClient client = new MongoClient(settings);

var dbName = "NIAAnalytics";


var collectionName = "Passengers";

var database = client.GetDatabase(dbName);


var passengerCollection = database.
GetCollection<Passenger>(collectionName);

passengers = passengerCollection.Find(new BsonDocument()).ToList();

Azure Machine Learning Services


Rol en el diseño
El equipo de business intelligence de NIA utiliza Azure Machine Learning Services
para poner en práctica sus modelos de machine learning. Para optimizar la asignación
de recursos, el equipo debe diseñar una serie de modelos de machine learning para
predecir el número de pasajeros y crear una recomendación para la asignación de
puertas. Azure Machine Learning Services brinda al equipo de business intelligence una
forma coherente y reproducible de generar modelos de machine learning, al tiempo que
realiza un seguimiento de todos los experimentos de machine learning, conjuntos de
datos y entornos de capacitación de machine learning al mismo tiempo. Esto es crítico
para cualquier implementación de modelo de machine learning donde la capacidad de
explicación es un requisito básico por parte de los clientes y las partes interesadas.
198 | Casos de uso empresariales

¿Por qué usar Azure Machine Learning Services?


• Azure Machine Learning Services permite a NIA agilizar y acelerar todo el
ciclo de vida del machine learning, desde la limpieza de datos y la ingeniería
de características hasta la creación y la validación de modelos. Azure Machine
Learning Services facilita la automatización de muchas partes de la canalización.
Esto, a su vez, reduce los gastos generales, mejora la calidad y permite al equipo
de NIA innovar con más rapidez.
• La creación de versiones y el mantenimiento de múltiples instantáneas de
conjuntos de datos es una práctica común al crear y experimentar con modelos
de machine learning. Puede ser un proceso muy tedioso y confuso el hecho de
mantener múltiples versiones de los mismos conjuntos de datos. Azure Machine
Learning Services ofrece un conjunto completo de características que tienen
como objetivo ayudar a clientes como NIA a afrontar este desafío. Los conjuntos
de datos de Azure Machine Learning permiten a NIA rastrear, versionar y validar
conjuntos de datos con facilidad, como se puede ver en la sección Implementación
de ejemplo.
• Parte del desafío para cualquier equipo de análisis avanzado es encontrar el
algoritmo adecuado para crear un modelo de machine learning. El equipo de
business intelligence de NIA no solo necesita elegir el algoritmo correcto, sino
que también debe ajustar los hiperparámetros. Azure Machine Learning Services
automatiza todo este proceso para que cualquier analista de datos pueda ser un
científico de datos. Azure AutoML permite al equipo de business intelligence de
NIA automatizar el proceso de creación de modelos de machine learning de forma
rápida, fácil y económica.
• La compatibilidad también es otra gran ventaja de Azure Machine Learning
Services. Azure Machine Learning Services se integra muy bien con herramientas
de código abierto como Databricks. También permite que NIA use cualquier
marco de machine learning (como TensorFlow y PyTorch), al mismo tiempo que
aprovecha al máximo Azure Machine Learning Services.
• Azure proporciona a organizaciones como NIA las innovaciones más recientes en
datos e IA. Uno de estos avances es el concepto de abstraer la informática de los
datos reales y su canalización. Esto permite al equipo de business intelligence de
NIA escribir su código una vez y ejecutarlo en cualquier proceso. Esto incluye el
código de transformación de datos y el código del modelo de machine learning.
El equipo de NIA puede construir su modelo de machine learning, ejecutarlo
localmente en sus equipos de desarrollo y, cuando esté listo, mover ese código
para que se ejecute en el cloud. Esto proporciona a los desarrolladores y a las
organizaciones una gran flexibilidad en términos de desarrollo y costes operativos.
NIA solo puede pagar el proceso que necesita y solo ejecuta el entrenamiento
de los modelos de machine learning en el cloud cuando se necesitan grandes
recursos informáticos.
Servicios de Azure | 199

• La directora de informática de NIA cree firmemente en DevOps y los beneficios


que aporta a una organización. La compatibilidad con los procesos DevOps fue un
factor importante en el momento de tomar la decisión de elegir Azure Machine
Learning Services. Azure Machine Learning Services tiene una integración nativa
con Azure DevOps, que le permite a NIA crear e implementar modelos de machine
learning con facilidad.
• La seguridad, la reproducibilidad y la gobernanza son preocupaciones importantes
para cualquier equipo de análisis avanzado. Microsoft Azure aborda todo esto de
manera elegante a través de la integración nativa con otros servicios de Azure,
todos ellos probados en la práctica para las empresas. Azure Machine Learning
Services ofrece una integración "out of the box" con Azure AD y Azure Monitor.
Además, al usar las plantillas de Azure Resource Manager y Azure Blueprints,
organizaciones como NIA pueden hacer cumplir los estándares y la gobernanza
adecuados.

Implementación de ejemplo
Azure Machine Learning Services facilita la versión, el seguimiento y el trabajo con
múltiples versiones de un conjunto de datos para fines de machine learning. El siguiente
fragmento de código primero crea un almacén de datos para indicarle a Azure Machine
Learning Services dónde debe almacenar los datos:
# creating a ref to Azure ML Service Workspace
import azureml.core
from azureml.core import Workspace, Datastore
ws = Workspace.from_config()

# Registering Azure Blob container as the datastore


datastore = Datastore.register_azure_blob_container(workspace=ws, datastore_
name='NIA_airport_datastore',
container_name='NIA_Analytics',
account_name={storageAccount},
account_key={storageAccountKey},
create_if_not_exists=True)

# get named datastore (if exist)


datastore = Datastore.get(ws, datastore_name='NIA_airport_datastore')
200 | Casos de uso empresariales

El fragmento de código anterior escrito en Python primero crea un espacio de trabajo


de Azure Machine Learning Services a partir de un archivo de configuración existente.
A continuación, el código crea un almacén de datos al registrar un contenedor de Azure
Blob como el almacén de datos. El ejemplo nombra el almacén de datos NIA_airport_
datastore y tiene marcadores de posición para el nombre y la clave de la cuenta de
Azure Storage. Finalmente, el ejemplo crea una referencia a un almacén de datos que ya
existe usando su nombre.
El siguiente fragmento de código registra un nuevo conjunto de datos y proporciona un
nombre, una descripción y una etiqueta para que sea más fácil encontrar este conjunto
de datos en el futuro:
passengers_ds = passengers_ds.register(workspace =ws,name='passengers_
dataset',description = 'passengers personal data and address',tags =
{'year': '2019'})

El siguiente fragmento de código recupera un conjunto de datos existente por nombre


y/o ID de versión. Esto es muy útil cuando tenemos varias versiones del mismo
conjunto de datos:
#get Passengers dataset by name
passengers_ds = ws.datasets['passengers_dataset']

# get specific version of the passengers dataset


passengers_ds = ws.datasets['passengers_dataset']
passengers_ds_v3 = passengers_ds.get_definition(version_id = 3)

Azure Container Registry


Rol en el diseño
Azure Machine Learning Services permite al equipo de business intelligence de NIA
crear sus modelos de machine learning como contenedores estándar que se pueden
ejecutar en cualquier motor de contenedores, como Docker y Kubernetes. El equipo usa
Azure Container Registry para alojar y compartir de forma segura estos contenedores
Docker, que contienen sus modelos de machine learning.
Servicios de Azure | 201

¿Por qué usar Azure Container Registry?


• Azure Container Registry permite que NIA almacene imágenes para todo tipo de
contenedores. Azure Container Registry abstrae el hosting de las imágenes de la
implementación de estas imágenes a los diferentes objetivos de implementación,
como Docker Swarm y Kubernetes. Esto permite que NIA use un registro de
contenedor (ACR) para alojar imágenes para todos los tipos de contenedores.
• Azure Container Registry se basa en las funcionalidades de los registros de
contenedores estándar. Por ejemplo, Azure Container Registry se integra
con Azure AD para mejorar la seguridad. Además, Azure Container Registry
proporciona una forma sencilla de integrarse con acciones de contenedor
mediante desencadenadores. Por ejemplo, NIA puede configurar un webhook
para activar los Servicios de Azure DevOps cuando se agrega una nueva imagen
a Azure Container Registry.
• Azure Container Registry es totalmente compatible con Docker Registry v2
estándar. Esto significa que el equipo de NIA puede usar las mismas herramientas
de interfaz de línea de comandos (CLI) de Docker de código abierto para
interactuar con ambos registros (Azure Container Registry y Docker Registry v2).
• Azure Container Registry admite la replicación de varias regiones. Esto atrae a NIA
porque es útil para dos cosas. En primer lugar, reduce la latencia de red y el coste
al mantener el registro del contenedor cerca de los objetivos de implementación.
En segundo lugar, mejora la continuidad del negocio y la recuperación ante
desastres, ya que el mismo registro de contenedor se replica en varias regiones.
202 | Casos de uso empresariales

Implementación de ejemplo
El siguiente código forma parte de la plantilla de Azure Resource Manager (ARM) que
NIA usa para crear la instancia de Azure Container Registry. Crea una instancia de
Azure Container Registry (nivel estándar) en el centro de datos del norte de Sudáfrica
de Azure. La plantilla también permite que la cuenta de usuario administrador
administre el registro. La plantilla ARM tiene dos parámetros: un parámetro para el
nombre del registro y otro parámetro para la versión de la API de ARM:
{
    "resources": [
        {
            "name": "[parameters('registryName')]",
            "type": "Microsoft.ContainerRegistry/registries",
            "location": "South Africa North",
            "apiVersion": "[parameters('registryApiVersion')]",
            "sku": {
                "name": "Standard"
            },
            "properties": {
                "adminUserEnabled": "True"
            }
        }
    ]
}

Azure Kubernetes Service (AKS)


Rol en el diseño
Azure Kubernetes Service (AKS) se usa para servir modelos de machine learning como
API consumibles. Un ejemplo de estos modelos de machine learning es un modelo que
predice el movimiento de multitudes a través del aeropuerto. El equipo entrena estos
modelos utilizando datos históricos en Azure Databricks. Luego, con Azure Machine
Learning Services, el modelo se inserta como una imagen de Docker. AKS ejecuta estos
modelos y otras aplicaciones, como Passenger Hub. Además, AKS ayuda a administrar
el descubrimiento de servicios de estas aplicaciones, proporciona mecanismos de
autoescalado y facilita políticas de recuperación automática para tratar errores y fallos.
Servicios de Azure | 203

¿Por qué usar AKS?


• Administrar un clúster de equipos es una tarea difícil, y es aún más difícil
administrar y configurar un clúster de Kubernetes. Esto se debe a que Kubernetes
tiene muchas partes móviles y requiere mucha configuración. AKS simplifica
este proceso al ofrecer un clúster administrado. Esto significa que Microsoft
Azure administra los nodos maestros y el equipo de NIA solo debe configurar
y usar los nodos esclavos para implementar sus cargas de trabajo. Esto reduce
significativamente los gastos generales de NIA.
• Al usar conceptos como nodo virtual y virtual kubelet, AKS permite a NIA
proporcionar capacidad adicional de forma flexible en cualquier momento. Para
NIA, esto es importante porque es muy difícil predecir la carga y la capacidad
necesarias y, por lo tanto, es importante tener este aprovisionamiento flexible
cuando sea necesario.
• El soporte y la integración nativa con AKS en Azure DevOps son otras de las
ventajas de AKS. Esto simplifica la configuración y la automatización de las
implementaciones de las cargas de trabajo de NIA en AKS. AKS también tiene
integración nativa con servicios como Azure Monitor y Azure Key Vault.
• El equipo de NIA puede mejorar y acelerar la experiencia de desarrollo integral
mediante la compatibilidad de Visual Studio Code con AKS.
• Además de la integración nativa con otros servicios de Azure, AKS se integra muy
bien con Azure Active Directory. Esto significa que NIA puede mejorar la seguridad
aprovechando esta integración. Además, NIA puede usar Azure Policy para aplicar
la gobernanza en toda la organización.
• Azure proporciona un gran soporte con herramientas de código abierto como
Kubernetes, no solo en el cloud, sino también en el perímetro. El equipo de NIA
entiende que hay escenarios en los que insertar la computación en el perímetro
podría ser la mejor opción. Un ejemplo de ello es su plan para insertar modelos
de machine learning cerca de las cámaras de supervisión de tráfico para iniciar
alertas cuando se produce un evento de seguridad. Microsoft Azure tiene una
buena compatibilidad para ejecutar Kubernetes en Azure IoT Edge para estos
escenarios. Por lo tanto, el uso de AKS será una buena opción para los planes
futuros para insertar modelos de machine learning en el perímetro mediante
Kubernetes con Azure IoT Edge.
204 | Casos de uso empresariales

Implementación de ejemplo
El siguiente fragmento de código forma parte de la canalización de Azure DevOps
Services de NIA que implementa la nueva aplicación web Airport Brain. El código
aprovecha el soporte de Azure DevOps para Kubernetes mediante el uso del
tipo de tarea KubernetesManifest. La tarea implementa la imagen de Docker
en nia/aiportbrain:lastest en el AKS preconfigurado mediante NIAairport_
AksServcieConnection. El siguiente código tiene un marcador de posición para
imagePullSecret, que se usa como mecanismo de autenticación para extraer imágenes
de Azure Container Registry al destino de implementación (AKS):
steps:
- task: "KubernetesManifest@0"
  displayName: "Deploy AirportBrain to K8s"
  inputs:
    action: deploy
    kubernetesServiceConnection: "NIAairport_AksServiceConnection"
    namespace: "airportbrain"
    manifests: "manifests/deployment.yml"
    containers: 'nia/airportBrain:latest'
    imagePullSecrets: |
      $(imagePullSecret)

Power BI
Rol en el diseño
Parte de la estrategia de Zara para los informes de NIA es tener Power BI como
herramienta de visualización en NIA. Power BI se puede utilizar para generar informes
y paneles, y para fines de autoservicio. El equipo de BI espera aprovechar también la
capacidad de Power BI para integrarse en otras aplicaciones web para reutilizar las
visualizaciones de Power BI dentro de otras aplicaciones nuevas, como Passenger Hub.
Servicios de Azure | 205

¿Por qué recurrir a Power BI?


Además de todas las ventajas de Power BI que se mencionaron en el caso de uso 1,
los informes y paneles de Power BI pueden integrarse en otras aplicaciones web. El
equipo de business intelligence de NIA quiere aprovechar la simplicidad y el poder de
las imágenes de Power BI para diseñar los paneles para las aplicaciones Passenger Hub
y Airport Brain. Para hacer esto, el equipo puede aprovechar la función de integración
web del servicio Power BI. Con esta función, el equipo de business intelligence de NIA
puede crear y enviar informes de forma rápida y sencilla, al mismo tiempo que los sirve
de forma segura a través de las nuevas aplicaciones web de NIA.
Implementación de ejemplo
En Power BI, puedes integrar cualquier informe de Power BI en cualquier página web.
En el menú File (Archivo), selecciona la opción Web Publish (Publicación web). Esto crea
un cuadro de diálogo que te permite generar un código de inserción:

Figura 5.7: Creación de un código de inserción


206 | Casos de uso empresariales

Al hacer clic en el botón Create embed code (Crear código de inserción), se generará
un código iFrame que se puede usar en cualquier página web HTML. El siguiente cuadro
de diálogo permite que los miembros del equipo de NIA configuren las propiedades del
código iFrame, como la anchura y la altura. Luego, al usar el código iFrame, el informe se
puede insertar en cualquier aplicación web:

Figura 5.8: Configuración de las propiedades de iFrame

Servicios de soporte
NIA quiere garantizar que la nueva solución sea segura y escalable y tenga un buen nivel
de supervisión y soporte. Azure tiene muchos servicios que permiten a organizaciones
como NIA proteger, escalar y supervisar sus soluciones. Esto incluye todos los servicios
que se enumeran en el caso de uso 1, como Azure DevOps, Azure Key Vault y Azure
Monitor.
Conocimientos y acciones | 207

Conocimientos y acciones
Azure ayudó a NIA a obtener conocimientos significativos después del análisis
y a implementar las medidas necesarias como se describe en las siguientes secciones.

Reducción de los retrasos de los vuelos en un 17 % mediante análisis


predictivos
Descripción: al realizar la detección y la exploración de datos iniciales, el equipo de
business intelligence de NIA descubrió que la asignación ineficiente de las puertas era
uno de los factores que más contribuía a que los vuelos se retrasaran. Los retrasos
en los vuelos tienen un efecto de bola de nieve, porque un retraso en un vuelo puede
afectar el próximo vuelo y el siguiente. También existe la experiencia negativa del
pasajero que produce. Actualmente, la asignación de puertas en NIA se basa en la
capacidad de su zona de espera y la capacidad máxima de los aviones. Esto supone
que todos los vuelos están llenos, lo cual no es necesariamente cierto.
La combinación de datos meteorológicos, datos de tráfico de la ciudad, datos históricos
de retrasos de vuelos y otros orígenes permitieron al equipo de business intelligence
diseñar un mejor motor de recomendación para la asignación de puertas. El nuevo
motor de recomendaciones, que se creó utilizando el machine learning, analiza los
datos contextuales (clima y tráfico) y los datos históricos para estimar el número de
pasajeros en un vuelo determinado y asignar una puerta en consecuencia. Durante el
modelado y la validación iniciales, el equipo descubrió que la implementación de dicho
motor de recomendaciones en la aplicación Airport Brain puede reducir los retrasos en
los vuelos en un 17 %.
Valor empresarial estimado: 14,7 millones de dólares al año
Orígenes de datos clave: datos de vuelos de las líneas aéreas, datos del aeropuerto
(diseño y puertas), datos del clima, datos del tráfico de la ciudad, calendarios escolares
y calendario de días festivos.
Acciones: el equipo de business intelligence de NIA implementó la solución utilizando
la arquitectura que se muestra en la figura 5.6. Como resultado de esta solución, la
administración del aeropuerto ahora tiene una nueva herramienta como parte del
nuevo portal (Airport Brain) para proporcionar recomendaciones en tiempo real para
asignar puertas. Esto mejora la eficiencia y reduce la sobrecarga operativa al excluir las
ideas preconcebidas en la planificación e introducir decisiones operativas que se basan
en hechos y ciencia.
208 | Casos de uso empresariales

Canalización de datos: la canalización de datos simplificada para esta iniciativa se


muestra en la figura 5.9:

Figura 5.9: Canalización de datos para la iniciativa 1

Reducción de la congestión y mejora del comercio minorista mediante la


visualización inteligente
Descripción: otro descubrimiento alentador que encontró el equipo de business
intelligence de NIA fue la correlación entre el tiempo de llegada de los pasajeros en
coche y las largas colas. El equipo descubrió que cuando muchos pasajeros llegan al
aeropuerto más de cuatro horas antes de la hora de salida de su vuelo, las largas colas y
el hacinamiento se convertían en un problema. Esto puede atribuirse al hecho de que el
equipo de administración del aeropuerto no esperaba/planificaba que estos pasajeros
estuvieran allí en este momento, lo que causaba largas colas y congestión. Otra
explicación que tuvo uno de los directores generales del aeropuerto fue el hecho de
que estos pasajeros que llegaban temprano iban directamente a la puerta y no a otras
instalaciones del aeropuerto.
Por lo tanto, el equipo decidió abordar este problema dirigiendo a estos pasajeros que
llegan temprano a otras instalaciones del aeropuerto, como el área de compras libre de
impuestos, el cine y las áreas de descanso. Según las pruebas iniciales, el equipo estima
que esto puede aumentar las oportunidades de venta minorista en un 11 % y, al mismo
tiempo, reducir el hacinamiento en las puertas del aeropuerto en aproximadamente un
15 %.
Valor empresarial estimado: 9,3 millones de dólares al año
Orígenes de datos clave: datos de vuelos de las líneas aéreas, datos del aeropuerto
(diseño y puertas), datos del clima, información de pasajeros, datos del comercio
minorista del aeropuerto y calendario de días festivos.
Conclusión | 209

Acciones: en base a estos hallazgos, el equipo creó nuevos paneles en la aplicación


Passenger Hub. Cuando los pasajeros llegan temprano y escanean su ID, la aplicación
Passenger Hub les muestra los detalles de su vuelo y les guía a las áreas de descanso,
las tiendas libres de impuestos y el cine del aeropuerto. El equipo también usó datos de
supervisión de tráfico en tiempo real para crear grandes letreros que se usarán en las
grandes pantallas de todo el aeropuerto para que los usuarios puedan verlos sin siquiera
tener que escanear.
Canalización de datos: la canalización de datos simplificada para esta iniciativa es la que
se muestra en la figura 5.10:

Figura 5.10: Canalización de datos para la iniciativa 2

Conclusión
Los aeropuertos tienen operaciones y procedimientos complejos, y funcionan las
24 horas del día. Por lo tanto, el hecho de realizar incluso pequeñas mejoras puede
proporcionar grandes ahorros al aeropuerto y puede mejorar la seguridad y la
satisfacción del cliente.
En las páginas anteriores, hemos visto un ejemplo práctico de un gran aeropuerto.
Aunque los nombres son ficticios, muchos de los números que se han debatido se basan
en un caso de uso real en el que estuvo involucrado el autor. Has visto cómo se pueden
usar análisis avanzados para mejorar la eficiencia y ahorrar millones de dólares a una
organización. Los datos se pueden usar no solo para ayudar a los aeropuertos a ahorrar
en sus costes operativos, sino también para crear una ventaja competitiva.
También has observado cómo se puede implementar una solución basada en datos con
Azure y por qué Azure es la plataforma perfecta para ejecutar tales cargas de trabajo.
Azure es asequible, seguro y brinda a las organizaciones la capacidad de ser ágiles
y escalables.
Conclusión
6
A lo largo de este libro, has estudiado distintas tecnologías que ofrece Azure para el
análisis en el cloud. Este recorrido te ha ayudado a explorar el conjunto completo de
servicios de Azure para adquirir, almacenar y analizar datos procedentes de diversos
orígenes de datos, como tablas de base de datos, archivos, streaming y otros tipos de
datos.
En este último capítulo nos centraremos en el ciclo de vida del almacén de datos
moderno, para reunir todos estos servicios y conceptos de Azure y resaltar cada una
de sus ventajas. También explicaremos cómo organizaciones de todo el mundo adoptan
algunos de estos servicios.

Ciclo de vida del almacén de datos moderno de Azure


El ciclo de vida del almacén de datos moderno te proporciona una base sólida para todo
tipo de análisis empresariales. Este ciclo de vida te permite realizar cualquier análisis
(desde consultas SQL hasta machine learning avanzado), sin tener que comprometer
la fidelidad de los datos o sobreaprovisionar recursos informáticos que, de otro modo,
podrían estar infrautilizados.
212 | Conclusión

El ciclo de vida del almacén de datos moderno consta de cinco pasos:


1. Adquisición de datos
2. Almacenamiento de datos
3. Preparación y entrenamiento de datos
4. Modelado y servicio de resultados
5. Visualización
Mientras la diversidad de datos sigue aumentando (en términos de estructura y
complejidad) y el tipo de análisis deseados evoluciona, los científicos e ingenieros de
datos precisan capacidades que puedan hacer frente a estas necesidades cambiantes.
Aquí es donde entra en juego el ciclo de vida del almacén de datos moderno de Azure.
Azure cuenta con la tecnología necesaria para hacer frente a tus necesidades, tanto
si trabajas con datos tabulares estructurados como con big data complejos y no
estructurados procedentes de dispositivos, servicios y aplicaciones.
Para reunir todos los servicios y conceptos de Azure, en este capítulo volveremos a
repasar cada uno de los cinco procesos del ciclo de vida del almacén de datos moderno.

Adquisición de datos
Antes has aprendido que la implementación de una solución de almacenamiento de
datos moderno comienza con la adquisición de los datos en Azure. Primero debes
conectar conjuntos de datos dispares de diversos orígenes y adquirirlos en Azure. Los
datos pueden proceder de tablas RDBMS que contienen información de clientes, como
nombres, direcciones, números de teléfono y datos de tarjetas de crédito. También
puede tratarse de datos semiestructurados, procedentes de plataformas de redes
sociales (como mensajes de Twitter), o no estructurados, procedentes de sensores del
IoT. Los datos pueden originarse en un centro de datos on-premises, en servicios en el
cloud o en ambos.

Azure te permite adquirir datos mediante servicios sólidos de adquisición por lotes o en
tiempo real para que puedas capturar los eventos a medida que se generan a partir de
tus servicios y dispositivos. En esta sección analizaremos las herramientas y servicios
que se usan en este paso.

Azure Data Factory


Azure Data Factory es el servicio principal para la adquisición de datos por lotes.
Se trata de un servicio de adquisición, orquestación y programación totalmente
administrado que permite la integración de datos a escala. Azure Data Factory te
ayuda a crear canalizaciones de datos integrales capaces de adquirir datos de distintos
orígenes, procesar y transformar dichos conjuntos de datos, programar y desencadenar
canalizaciones controladas por eventos y proporcionar visualización de datos.
Ciclo de vida del almacén de datos moderno de Azure | 213

La ventaja de Azure Data Factory es que proporciona conectores "out-of-the-box" para


conectarse a todo, desde otros clouds (como Amazon S3) hasta aplicaciones SaaS (como
Salesforce o Google AdWords) y conectividad híbrida (como SQL, MongoDB u Oracle)
que residen en tus centros de datos on-premises. Actualmente, Azure Data Factory se
integra con más de 80 conectores creados de forma nativa y exentos de mantenimiento
sin ningún coste adicional.
Por ejemplo, LUMEDX (una organización con sede en California), proporciona a
los cardiólogos sistemas de información cardiovascular para la atención médica
del paciente. Usa Azure Data Factory para adquirir datos estructurados y no
estructurados de diversos orígenes y para procesar dichos datos para obtener
información e implementar canalizaciones de datos a gran velocidad. Esto permite a las
organizaciones sanitarias ofrecer puntualmente mejores soluciones a sus pacientes.
Servicio de importación/exportación de Azure
Si tienes grandes volúmenes de datos que deseas adquirir en Azure, puedes plantearte
usar el servicio de importación/exportación de Azure. El servicio de importación/
exportación usa la herramienta de línea de comandos WAImportExport que usa
BitLocker para cifrar los datos en la unidad de disco duro que pretendas enviar a un
centro de datos de Azure. Las organizaciones pueden beneficiarse del servicio de
importación/exportación de Azure en los siguientes casos:
• Migración rápida y rentable de grandes cantidades de datos a Azure
• Recuperación de grandes cantidades de datos desde el cloud y entrega a una
ubicación on-premises
• Copia de seguridad de datos on-premises y su almacenamiento en el cloud

Azure Data Migration Service


Si tienes datos estructurados, Azure Data Migration Service te permite adquirirlos
mediante la migración de bases de datos estructuradas on-premises a Azure, todo ello
manteniendo las mismas estructuras relacionales que usan las aplicaciones actuales. La
ventaja que ofrece este enfoque es que te permite minimizar los cambios a la estructura
de datos existente al migrar los datos a Azure.
Azure Event Hubs
Azure Event Hubs ofrece streaming de big data y adquisición de eventos en tiempo
real con capacidades de escalado dinámico. La ventaja de Azure Event Hubs es su
capacidad para gestionar millones de eventos por segundo, lo que permite la telemetría
a gran escala y la adquisición de eventos con almacenamiento en búfer duradero y baja
latencia desde millones de dispositivos y eventos.
214 | Conclusión

Por ejemplo, Pizza Express, una empresa con sede en el Reino Unido, usa Azure Event
Hubs con Azure Data Factory para realizar un seguimiento de la actividad de los clientes
mediante la adquisición de datos de diversos orígenes y en distintos formatos. Esto les
ayuda a comprender las preferencias de los clientes y a elaborar diversas estrategias de
retención de clientes.

Azure IoT Hub


Azure IoT Hub es un servicio de datos de telemetría de dispositivo a cloud que te
permite realizar un seguimiento y comprender el estado de tus dispositivos y activos.
Se trata de un servicio administrado y seguro que se usa para la comunicación
bidireccional entre dispositivos IoT y Azure.

Por ejemplo, Bridgestone (uno de los principales fabricantes de neumáticos del


mundo), desarrolló una solución denominada Tirematics mediante los servicios de
Azure. Tirematics envía a Azure datos de sensores de los neumáticos, lo que ayuda a
los ingenieros a detectar indicios tempranos de problemas en los neumáticos, como
anomalías de temperatura y presión. La solución Tirematics usa Azure IoT Hub,
que recibe datos de sensores de los neumáticos y los almacena en el data lake. A
continuación se usa Stream Analytics para analizar estos datos y detectar anomalías.
Azure CLI
La interfaz de línea de comandos de Azure (CLI) es un entorno de línea de comandos
multiplataforma que permite administrar recursos de Azure. La ventaja de Azure CLI
reside en que te permite escribir scripts para dirigir y adquirir varios formatos de datos
en Azure mediante programación.
Azure SDK
Otra forma de adquirir los datos en Azure es usando el kit de desarrollo de software
de Azure (SDK). La ventaja de Azure SDK es que permite a los desarrolladores escribir
aplicaciones personalizadas para adquirir datos de diversos formatos en Azure.

Todas estas herramientas y servicios te ayudan a adquirir tus datos. A continuación,


debes decidir cómo deseas almacenar los datos adquiridos.

Almacenamiento de datos
El almacenamiento de los datos adquiridos es el segundo paso del ciclo de vida del
almacén de datos moderno. En la siguiente sección analizaremos las herramientas y
servicios que se usan en este paso.

Azure Blob Storage


Azure Blob Storage puede almacenar conjuntos de datos masivos (incluidos vídeos,
imágenes, etc.), con independencia de su estructura, y mantenerlos listos para su
análisis. La ventaja de Azure Blob Storage es que es fácil de aprovisionar y puede
gestionar los datos disponibles en diversos formatos y estructuras.
Ciclo de vida del almacén de datos moderno de Azure | 215

Azure Data Lake Storage Gen2


Hemos visto que Azure Data Lake Storage Gen2 es una plataforma de almacenamiento
rentable y optimizada para el análisis. Se basa en Azure Blob Storage y es totalmente
independiente de los motores de proceso. Esto proporciona una plataforma que
permite acumular y organizar cualquier tipo de datos que vaya a usarse para alimentar
los motores de análisis. La ventaja de usar Azure Data Lake Storage Gen2 reside en que,
puesto que el almacenamiento está separado del proceso, el proceso se puede adaptar
de forma independiente para minimizar los costes.
Piraeus Bank (una de las principales entidades financieras de Grecia) usa Microsoft
Azure para obtener conocimientos que le permitan entender el rendimiento de sus
clientes y su uso, así como crear nuevos KPI de administración con los datos extraídos
de Azure Data Lake y Azure Data Factory.
Azure SQL Database
Puedes usar Azure SQL Database con datos operativos y transaccionales de forma
estructurada o relacional. Azure SQL Database funciona como Microsoft SQL Server
on-premises, pero como un servicio de Azure. La ventaja de Azure SQL Database es
que no tienes que preocuparte de administrar ni escalar la infraestructura de host.
Si lo prefieres, también puedes hospedar en Azure las aplicaciones de base de datos
existentes en máquinas virtuales basadas en Windows o Linux.
El proyecto Barcelona Smart City recopila y analiza diversos datos de varios sistemas
y fuentes públicas, como señales GPS, archivos de registro de software y redes sociales.
Esto les permite obtener información sobre la eficacia de la administración pública
y proporcionar mejores servicios a los ciudadanos, mejorando la colaboración entre
la administración, los ciudadanos y las empresas. Usan Azure SQL Database para
almacenar una variedad de datos, como resultados electorales, instalaciones públicas,
datos demográficos, calendarios de la ciudad, perfiles de contratistas, etc. Además,
usan estos datos para crear un panel que proporciona a los ciudadanos información
de alrededor de 120 KPI prácticamente en tiempo real. Estos KPI proporcionan
información sobre varios puntos (como el uso de bicicletas públicas, información
económica, información demográfica, rutas de autobús usadas por los ciudadanos, etc.).
Azure Synapse Analytics
Para los datos analíticos que se han acumulado a lo largo de los años, Azure Synapse
Analytics proporciona un servicio flexible a escala de petabytes que te permite escalar
los datos de forma dinámica, ya sea on-premises o en Azure. Funciona a la perfección
con Azure Data Factory, Azure Machine Learning, HDInsight y Power BI. A través de
su arquitectura de procesamiento paralela y distribuida, Azure Synapse Analytics
ofrece una inmensa potencia de computación. El carácter escalable de Azure Synapse
Analytics le permite hacer frente a las necesidades de las cargas de trabajo más
complejas.
216 | Conclusión

Komatsu es una de las principales empresas de maquinaria de construcción del mundo.


Ha desarrollado una plataforma de fábrica inteligente conocida como KOM-MICS
para visualizar y optimizar las condiciones de funcionamiento de la planta mediante
la recopilación de datos a través de herramientas y robots. Komatsu usa Azure desde
enero de 2017 para recopilar y almacenar los datos generados por KOM-MICS. Además,
usa Azure SQL Database para administrar los datos maestros recopilados por cada
sistema KOM-MICS y, a continuación, agrega todos estos datos mediante Azure
Synapse Analytics. Estos datos luego se visualizan mediante Power BI.
Azure Cosmos DB
Tal como mencionamos en el capítulo 5, Casos de uso empresariales, Azure Cosmos DB
proporciona un servicio DB NoSQL llave en mano de distribución global cuyo uso puede
considerarse a la hora de tratar con datos independientes del esquema. Te permite
usar tablas de clave/valor, gráficos y datos de documentos junto con varios niveles
de coherencia para satisfacer los requisitos de tus aplicaciones. Proporciona latencia
mínima, alta disponibilidad y escalabilidad ilimitada. La replicación de datos a escala
global permite a los usuarios estar lo más cerca posible de los datos para obtener una
velocidad de acceso a los datos óptima en todo el mundo. La base de Azure Cosmos DB
es el concepto de modelos de coherencia; puedes seleccionar hasta cinco modelos de
coherencia para la aplicación —y, de este modo, garantizar la coherencia de los datos y
un rendimiento fiable— como se indica a continuación:
• Elevada coherencia
• Límite de antigüedad
• Sesión
• Prefijo coherente
• Coherencia entre eventos

Azure Cosmos DB indexa automáticamente todos los datos, con independencia del
modelo que elijas. Puedes escalar el almacenamiento y el rendimiento de forma
global en regiones de Azure de forma independiente y flexible. Esto proporciona un
rendimiento previsible, coherencia y una alta disponibilidad. Es la solución idónea para
escenarios en los que se trabaja con aplicaciones cruciales distribuidas globalmente, así
como aplicaciones de comercio electrónico minorista, IoT, móviles y de juego.
Archive 360 es una organización que ayuda a sus clientes a migrar y administrar
grandes cantidades de datos de sistemas on-premises heredados en el cloud. Usa
Cosmos DB para tratar distintos tipos de datos y ayudar a los clientes a organizar,
clasificar y administrar sus datos.
Ciclo de vida del almacén de datos moderno de Azure | 217

Preparación y entrenamiento de datos


Después de adquirir y almacenar los datos, necesitas un método para transformar los
datos de modo que se ajusten a la finalidad que deseas. Aquí es donde entran en juego
los motores de proceso escalables.

Puedes preparar y entrenar tus datos y almacenes de datos para extraer conocimientos,
y crear modelos predictivos y prescriptivos en los datos mediante machine learning y
técnicas de aprendizaje profundo.

La siguiente sección te servirá como un breve repaso de los servicios que hemos visto
en este libro.
Azure Databricks
Azure Databricks, un servicio de clúster de análisis basado en Apache Spark, ofrece
lo mejor de Spark con cuadernos colaborativos y características empresariales. Esta
potente herramienta puede realizar transformaciones complejas a escala. Se integra con
Azure Active Directory y conectores nativos para incorporar otros servicios de datos de
Azure. A continuación se muestran algunos ejemplos de conectores de datos de Azure
Databricks:
• Azure SQL Database
• Azure Synapse Analytics
• Azure HDInsight (HDFS)
• Base de datos de SQL Server
• Base de datos de SQL Server Analysis Services
• Base de datos MySQL
• Base de datos de Oracle
• Base de datos de Access
• Excel
• Texto/CSV
• XML
• JSON
• Carpeta de archivos
• Bases de datos de PostgreSQL
• Base de datos de Sybase
• Base de datos de Tera
218 | Conclusión

Para una canalización de big data, puedes adquirir los datos (estructurados o no
estructurados) en Azure a través de Azure Data Factory por lotes, o transmitidos
prácticamente en tiempo real mediante IoT Hub, Event Hub o Kafta. Para el
almacenamiento persistente a largo plazo, puedes almacenar los datos en Azure Data
Lake Storage o Azure Blob Storage. A continuación, Azure Databricks lee los datos y
genera conocimientos innovadores mediante Spark. La ventaja de Azure Databricks
es que es una excelente plataforma para producir modelos predictivos con ciencia de
datos.
Zeiss, un fabricante líder de sistemas ópticos de alta gama, tenía problemas para
escalar su infraestructura para analizar volúmenes masivos de datos no estructurados.
Azure Databricks les proporcionó una plataforma de análisis unificada que resolvía sus
problemas de escalabilidad y les ofrecía un servicio unificado, de alta escalabilidad y
totalmente administrado. Azure Databricks permitió a Zeiss combinar datos por lotes
con datos de IoT no estructurados y simplificar el proceso de ingeniería de datos.
Azure Stream Analytics
Azure Stream Analytics usa un potente motor de procesamiento de eventos que analiza
patrones y relaciones a partir de los datos en tiempo real capturados de dispositivos,
sensores y otros orígenes. Junto con Azure Event Hubs, Azure Stream Analytics te
permite adquirir millones de eventos y detectar anomalías, alimentar paneles, buscar
patrones o automatizar tareas controladas por eventos mediante un lenguaje similar a
SQL en tiempo real.
Volviendo a un ejemplo anterior, Piraeus Bank (la entidad financiera griega) puede
supervisar la experiencia del usuario y el recorrido del cliente online con Azure Stream
Analytics y Power BI.
Azure Cognitive Services
Azure Cognitive Services permite a los desarrolladores agregar fácilmente
características cognitivas a sus aplicaciones a través de un conjunto de servicios de
IA precompilados de alto nivel para visionado, habla, texto, lenguaje, conocimiento y
búsquedas. La ventaja de usar Azure Cognitive Services es que podemos incorporar el
reconocimiento de imágenes y las traducciones de texto como parte del proceso de
análisis de datos.
Por ejemplo, IndiaLends (un mercado de préstamos digitales), utiliza algoritmos de
análisis para conectar a los principales bancos de la India con millones de prestatarios.
IndiaLends usa Azure Cognitive Services para tareas como procesamiento de texto,
procesamiento de imágenes y análisis de opiniones para una mejor resolución de las
consultas de los clientes.
Ciclo de vida del almacén de datos moderno de Azure | 219

Azure Machine Learning


En cuanto a análisis avanzados, Azure Machine Learning y Microsoft Machine Learning
Server te proporcionan la infraestructura y las herramientas necesarias para analizar
datos, crear modelos de datos de alta calidad, y entrenar y orquestar el machine
learning a medida que creas aplicaciones y servicios inteligentes. La ventaja de usar
Azure Machine Learning es que ofrece a las empresas la inteligencia predictiva que
necesitan para seguir siendo competitivas.
British Petroleum usa algoritmos de IA y Microsoft Machine Learning para predecir la
cantidad de hidrocarburos que se puede extraer de posibles yacimientos de petróleo
y gas natural. Esta previsión inicialmente requería el análisis manual de casi 200
propiedades diferentes del yacimiento. Un proceso de tres etapas consistente en elegir
las variables correctas, crear el algoritmo y mejorar el rendimiento del modelo mediante
el ajuste de los parámetros del modelo, ayuda a BP a simplificar el proceso y a crear un
modelo que tenga en cuenta todos los escenarios posibles.

Modelado y servicio de resultados


Tras el paso de preparación y formación, has analizado y extraído conocimientos a
partir de tus datos. El siguiente paso consiste en servir los datos enriquecidos a los
usuarios.
El mejor destino para todos estos datos analizados es Azure Synapse Analytics. Azure
Synapse Analytics te permite combinar tendencias históricas con nuevos conocimientos
en una única versión de datos para tu organización. También es extensible y flexible
gracias a su capacidad para conectarse de manera fluida a herramientas y servicios de
análisis, así como para integrarse con herramientas de business intelligence.

Visualización y más
Azure Analysis Services y Power BI proporcionan opciones eficaces para buscar y
compartir conocimientos obtenidos a partir de los datos. Mientras que Azure Synapse
Analytics es el motor que impulsa estos conocimientos, Power BI es una herramienta de
visualización que permite a los usuarios analizar los datos por sí mismos.

Además, también puedes completar datos a partir de tus conocimientos en almacenes


de datos operativos como Azure SQL Database y Azure Cosmos DB para mejorar las
experiencias personalizadas en tu web y tus aplicaciones.

Incluso puedes insertar datos directamente en tus aplicaciones con herramientas de


plataforma de Azure para desarrolladores, incluidos Visual Studio, Azure Machine
Learning Studio o aplicaciones y servicios personalizados sin servidor mediante Azure
Functions.

Para proteger el acceso a los datos, puedes asegurarte de que Azure Active Directory
autentique a los usuarios, de forma que solo los grupos de usuarios previstos puedan
consumir los datos según tus especificaciones.
220 | Conclusión

Resumen
A lo largo de este libro, hemos visto las diferentes etapas que intervienen en la
realización de análisis de datos en el cloud. Los ejemplos de implementaciones y casos
de uso muestran cómo organizaciones reales han usado las tecnologías de Azure en
distintos sectores para sacar el máximo partido a sus datos, lo que te da una idea de
cómo puedes aprovechar esta potente tecnología para ayudar a tu negocio.
El modelo en el cloud de almacenamiento de datos moderno no solo es flexible y
escalable, sino que también resulta rentable gracias a sus propiedades flexibles únicas.
Las cargas de trabajo de análisis son uno de los contextos en los que la flexibilidad se
manifiesta especialmente.
Ahora que has llegado al final de este libro, posees suficientes conocimientos sobre el
almacén de datos moderno y sobre los servicios y herramientas necesarios para crear tu
propia solución de análisis de datos completa. Lo mejor es que empieces poco a poco,
integrando algunas de las tecnologías presentadas en este libro en tu flujo de trabajo
existente, y que luego agregues más capacidades gradualmente en el futuro, a medida
que tus necesidades evolucionen.
Obtén más información acerca del ciclo de vida del almacén de datos moderno.
Crea tu suscripción gratuita a Azure.
Te deseamos mucha suerte en tu experiencia con el almacén de datos moderno y el
análisis en el cloud.

También podría gustarte