En este escenario de ejemplo se muestra cómo usar la amplia familia de Azure Data Services para crear una plataforma de datos moderna capaz de hacer frente a los desafíos de datos más habituales de una organización.
La solución que se describe en este artículo combina una variedad de servicios de Azure que ingieren, almacenan, procesan, enriquecen y sirven datos e información de diferentes orígenes (estructurados, semiestructurados, no estructurados y de streaming).
Casos de uso pertinentes
Este enfoque también se puede utilizar para:
- Establecer un centro de datos de toda la empresa, que conste de un almacenamiento de datos para los datos estructurados, y un lago de datos para los semiestructurados y no estructurados. Este centro de datos se convierte en el único origen de los datos de informes.
- Integrar orígenes de datos relacionales con otros conjuntos de datos no estructurados, mediante el uso de tecnologías de procesamiento de macrodatos.
- Usar el modelado semántico y potentes herramientas de visualización para simplificar el análisis de los datos.
- Compartir conjuntos de datos dentro de la organización o con asociados externos de confianza.
Architecture
Nota
- Los servicios que se incluyen en esta arquitectura son solo un subconjunto de una familia mucho más amplia de servicios de Azure. Se pueden conseguir resultados similares con otros servicios o características que no se abordan en este diseño.
- Los requisitos empresariales específicos para el caso de uso de análisis también pueden necesitar el uso de diferentes servicios o características que no se tienen en cuenta en este diseño.
Casos de uso de análisis
Los distintos orígenes de datos del lado izquierdo del diagrama ilustran los casos de uso de análisis que aborda la arquitectura. Los datos fluyen por la solución de manera ascendente como sigue:
Azure Data Services, HTAP nativo en la nube con Cosmos DB
Azure Synapse Link para Azure Cosmos DB le permite ejecutar análisis casi en tiempo real sobre datos operativos en Azure Cosmos DB, mediante los dos motores de análisis disponibles en el área de trabajo de Azure Synapse: grupos de SQL sin servidor y grupos de Spark.
Mediante una consulta de SQL sin servidor o un cuaderno de grupos de Spark, puede acceder al almacén analítico de Cosmos DB y, a continuación, combinar conjuntos de datos de los datos operativos casi en tiempo real con datos del lago de datos o del almacenamiento de datos.
Los conjuntos de datos resultantes de las consultas de SQL sin servidor se pueden conservar en el lago de datos. Si usa cuadernos de Spark, los conjuntos de datos resultantes se pueden conservar en el lago de datos o en el almacenamiento de datos (grupo de SQL).
Cargue los datos pertinentes desde el grupo de SQL de Azure Synapse o el lago de datos en conjuntos de datos de Power BI para la visualización de los datos. Los modelos de Power BI implementan un modelo semántico para simplificar el análisis de los datos y relaciones empresariales.
Los analistas de negocios usan los informes y paneles de Power BI para analizar los datos y obtener conclusiones de interés empresarial.
Los datos también se pueden compartir de forma segura con otras unidades de negocio o asociados externos de confianza mediante Azure Data Share.
Bases de datos relacionales
Use canalizaciones de Azure Synapse para extraer datos de una amplia variedad de bases de datos, tanto en el entorno local como en la nube. Las canalizaciones se pueden desencadenar en función de una programación predefinida, en respuesta a un evento, o se las puede llamar explícitamente mediante las API REST.
Desde la canalización de Azure Synapse, use una actividad Copiar datos para almacenar provisionalmente los datos copiados de las bases de datos relacionales en la zona sin procesar del lago de datos de Azure Data Lake Store Gen2. Puede guardar los datos en formato de texto delimitado o comprimirlos como archivos Parquet.
Use flujos de datos, consultas de SQL sin servidor o cuadernos de Spark para validar, transformar y mover los conjuntos de datos a la zona mantenida del lago de datos.
- Como parte de las transformaciones de datos, puede invocar modelos de Machine Learning desde los grupos de SQL mediante T-SQL estándar o cuadernos de Spark. Estos modelos de ML se pueden usar para enriquecer los conjuntos de datos y generar más información empresarial. Estos modelos de Machine Learning se pueden consumir desde Azure Cognitive Services o modelos de ML personalizados de Azure ML.
Puede servir el conjunto de datos final directamente desde la zona mantenida del lago de datos o puede usar la actividad Copiar datos para ingerir el conjunto de datos final en las tablas del grupo de SQL mediante el comando COPY para una ingesta rápida.
Cargue los datos pertinentes desde el grupo de SQL de Azure Synapse o el lago de datos en conjuntos de datos de Power BI para la visualización de los datos. Los modelos de Power BI implementan un modelo semántico para simplificar el análisis de los datos y relaciones empresariales.
Los analistas de negocios usan los informes y paneles de Power BI para analizar los datos y obtener conclusiones de interés empresarial.
Los datos también se pueden compartir de forma segura con otras unidades de negocio o asociados externos de confianza mediante Azure Data Share.
Orígenes de datos semiestructurados
Use canalizaciones de Azure Synapse para extraer datos de una amplia variedad de orígenes de datos semiestructurados, tanto en el entorno local como en la nube. Por ejemplo:
- Ingiera datos de orígenes basados en archivos que contienen archivos CSV o JSON.
- Conéctese a bases de datos no SQL, como Cosmos DB o Mongo DB.
- Llame a las API REST que las aplicaciones SaaS proporcionan y que funcionarán como origen de datos de la canalización.
Desde la canalización de Azure Synapse, use una actividad Copiar datos para almacenar provisionalmente los datos copiados de los orígenes de datos semiestructurados en la zona sin procesar del lago de datos de Azure Data Lake Store Gen2. Debe guardar los datos conservando el formato original tal como se adquirió desde los orígenes de datos.
Use flujos de datos, consultas de SQL sin servidor o cuadernos de Spark para validar, transformar y mover los conjuntos de datos a la zona mantenida del lago de datos. Las consultas de SQL sin servidor exponen archivos CSV, Parquet o JSON subyacentes como tablas externas para que se puedan consultar mediante T-SQL.
- Como parte de las transformaciones de datos, puede invocar modelos de Machine Learning desde los grupos de SQL mediante T-SQL estándar o cuadernos de Spark. Estos modelos de ML se pueden usar para enriquecer los conjuntos de datos y generar más información empresarial. Estos modelos de Machine Learning se pueden consumir desde Azure Cognitive Services o modelos de ML personalizados de Azure ML.
Puede servir el conjunto de datos final directamente desde la zona mantenida del lago de datos o puede usar la actividad Copiar datos para ingerir el conjunto de datos final en las tablas del grupo de SQL mediante el comando COPY para una ingesta rápida.
Cargue los datos pertinentes desde el grupo de SQL de Azure Synapse o el lago de datos en conjuntos de datos de Power BI para la visualización de los datos. Los modelos de Power BI implementan un modelo semántico para simplificar el análisis de los datos y relaciones empresariales.
Los analistas de negocios usan los informes y paneles de Power BI para analizar los datos y obtener conclusiones de interés empresarial.
Los datos también se pueden compartir de forma segura con otras unidades de negocio o asociados externos de confianza mediante Azure Data Share.
Orígenes de datos no estructurados
Use canalizaciones de Azure Synapse para extraer datos de una amplia variedad de orígenes de datos no estructurados, tanto en el entorno local como en la nube. Por ejemplo:
- Ingiera vídeos, imágenes, audios o texto sin formato desde orígenes basados en archivos que contienen los archivos de origen.
- Llame a las API REST que las aplicaciones SaaS proporcionan y que funcionarán como origen de datos de la canalización.
Desde la canalización de Azure Synapse, use una actividad Copiar datos para almacenar provisionalmente los datos copiados de los orígenes de datos no estructurados en la zona sin procesar del lago de datos de Azure Data Lake Store Gen2. Debe guardar los datos conservando el formato original tal como se adquirió desde los orígenes de datos.
Use cuadernos de Spark para validar, transformar, enriquecer y mover los conjuntos de datos hacia la zona mantenida del lago de datos.
- Como parte de las transformaciones de datos, puede invocar modelos de Machine Learning desde los grupos de SQL mediante T-SQL estándar o cuadernos de Spark. Estos modelos de ML se pueden usar para enriquecer los conjuntos de datos y generar más información empresarial. Estos modelos de Machine Learning se pueden consumir desde Azure Cognitive Services o modelos de ML personalizados de Azure ML.
Puede servir el conjunto de datos final directamente desde la zona mantenida del lago de datos o puede usar la actividad Copiar datos para ingerir el conjunto de datos final en las tablas de almacenamiento de datos mediante el comando COPY para una ingesta rápida.
Cargue los datos pertinentes desde el grupo de SQL de Azure Synapse o el lago de datos en conjuntos de datos de Power BI para la visualización de los datos. Los modelos de Power BI implementan un modelo semántico para simplificar el análisis de los datos y relaciones empresariales.
Los analistas de negocios usan los informes y paneles de Power BI para analizar los datos y obtener conclusiones de interés empresarial.
Los datos también se pueden compartir de forma segura con otras unidades de negocio o asociados externos de confianza mediante Azure Data Share.
Streaming
Use Azure Event Hubs o Azure IoT Hubs para ingerir flujos de datos generados por aplicaciones cliente o dispositivos IoT. A continuación, Event Hubs o IoT Hub ingerirán y almacenarán los datos de streaming conservando la secuencia de los eventos recibidos. Después, los consumidores pueden conectarse a los puntos de conexión de Event Hubs o IoT Hub y recuperar los mensajes para su procesamiento.
Configure Event Hubs Capture o puntos de conexión de almacenamiento IoT Hub para guardar una copia de los eventos en la zona sin procesar del lago de datos de Azure Data Lake Store Gen2. Esta característica implementa la "ruta de acceso inactiva" del patrón de arquitectura lambda, y le permite realizar análisis históricos y de tendencias en los datos de flujo guardados en el lago de datos mediante consultas de SQL sin servidor o cuadernos de Spark siguiendo el patrón para los orígenes de datos semiestructurados descrito anteriormente.
Use un trabajo de Stream Analytics para implementar la "ruta de acceso activa" del patrón de arquitectura lambda y obtener conclusiones de los datos de flujo en tránsito. Defina al menos una entrada para el flujo de datos procedente de Event Hubs o IoT Hub, una consulta para procesar el flujo de datos de entrada y una salida de Power BI a donde se enviarán los resultados de la consulta.
- Como parte del procesamiento de datos con Stream Analytics, puede invocar modelos de Machine Learning para enriquecer los conjuntos de datos de flujo e impulsar decisiones empresariales basadas en las predicciones generadas. Estos modelos de Machine Learning se pueden consumir desde Azure Cognitive Services o desde modelos de ML personalizados en Azure Machine Learning.
A continuación, los analistas de negocios usarán conjuntos de datos en tiempo real y funcionalidades de paneles de Power BI para visualizar la cambiante información que genera la consulta de Stream Analytics.
Detección y gobernanza
La gobernanza de datos es un desafío común en entornos empresariales grandes. Por un lado, los analistas de negocios deben ser capaces de detectar y comprender los recursos de datos que pueden ayudarles a resolver problemas empresariales. Por otro lado, los directores de datos quieren información sobre la privacidad y la seguridad de los datos empresariales.
Azure Purview
Use Azure Purview para la detección de datos y la información de gobernanza sobre los recursos de datos, la clasificación de datos y la confidencialidad, de modo que abarque todo el panorama de datos de la organización.
Azure Purview puede ayudarle a mantener un glosario empresarial con la terminología empresarial específica necesaria para que los usuarios comprendan la semántica de lo que significan los conjuntos de datos, y cómo estos están diseñados para usarse en toda la organización.
Puede registrar todos los orígenes de datos y configurar exámenes periódicos para catalogar y actualizar automáticamente los metadatos pertinentes sobre los recursos de datos de la organización. Azure Purview también puede agregar automáticamente información de linaje de datos basada en la información de canalizaciones de Azure Data Factory o de Azure Synapse.
Las etiquetas de clasificación de datos y confidencialidad de datos se pueden agregar automáticamente a los recursos de datos en función de las reglas preconfiguradas o personalizadas aplicadas durante los exámenes periódicos.
Los profesionales de gobernanza de datos pueden usar los informes y la información que genera Azure Purview para mantener el control sobre todo el panorama de datos, y para proteger la organización frente a cualquier problema de seguridad y privacidad.
Servicios de plataforma
Para mejorar la calidad de las soluciones de Azure, siga las recomendaciones e instrucciones definidas en los cinco pilares de excelencia de la arquitectura del Marco de buena arquitectura de Azure: optimización de costos, excelencia operativa, eficiencia del rendimiento, confiabilidad y seguridad.
Siguiendo estas recomendaciones, los servicios a continuación deben considerarse como parte del diseño:
- Azure Active Directory: servicios de identidad, inicio de sesión único y autenticación multifactor entre cargas de trabajo de Azure.
- Azure Cost Management: gobernanza financiera sobre las cargas de trabajo de Azure.
- Azure Key Vault: administración segura de credenciales y certificados. Por ejemplo, canalizaciones de Azure Synapse, grupos de Spark de Azure Synapse y Azure ML pueden recuperar credenciales y certificados de Azure Key Vault que se usan para acceder de forma segura a los almacenes de datos.
- Azure Monitor: recopile, analice y actúe sobre la información de telemetría de los recursos de Azure para identificar de forma proactiva los problemas, y maximizar el rendimiento y la confiabilidad.
- Azure Security Center: refuerce y supervise la posición de seguridad de las cargas de trabajo de Azure.
- Azure DevOps y GitHub: implemente prácticas de DevOps para aplicar la automatización y el cumplimiento en las canalizaciones de implementación y desarrollo de cargas de trabajo para Azure Synapse y Azure ML.
- Azure Policy: implemente normas organizacionales y gobernanza para la coherencia de los recursos, el cumplimiento normativo, la seguridad, el costo y la administración.
Componentes de la arquitectura
Se han utilizado los siguientes servicios de Azure en la arquitectura:
- Azure Synapse Analytics
- Azure Data Lake Gen2
- Azure Cosmos DB
- Azure Cognitive Services
- Azure Machine Learning
- Azure Event Hubs
- Azure IoT Hub
- Azure Stream Analytics
- Azure Purview
- Azure Data Share
- Microsoft Power BI
- Azure Active Directory
- Azure Cost Management
- Azure Key Vault
- Azure Monitor
- Azure Security Center
- Azure DevOps
- Azure Policy
- GitHub
Alternativas
En la arquitectura anterior, las canalizaciones de Azure Synapse son responsables de la orquestación de las canalizaciones de datos. Las canalizaciones de Azure Data Factory también proporcionan las mismas funcionalidades que se describen en este artículo.
Azure Databricks también se puede usar como motor de proceso para procesar datos estructurados y no estructurados directamente en el lago de datos.
En la arquitectura anterior, Azure Stream Analytics es el servicio responsable de procesar los datos de streaming. Los grupos de Spark de Azure Synapse y Azure Databricks también se pueden usar para realizar la misma función mediante la ejecución de cuadernos.
Los clústeres de Kafka en Azure HDInsight también se pueden usar para ingerir datos de streaming, y proporcionar el nivel correcto de rendimiento y escalabilidad que requieren las grandes cargas de trabajo de streaming.
También puede usar Azure Functions para invocar Azure Cognitive Services o modelos de ML personalizados de Azure Machine Learning desde una canalización de Azure Synapse.
Para comparar con otras alternativas, consulte:
- Elección de una tecnología de orquestación de canalizaciones de datos en Azure
- Selección de una tecnología de procesamiento por lotes en Azure
- Elección de un almacén de datos analíticos en Azure
- Elección de una tecnología de análisis de datos en Azure
- Selección de una tecnología de procesamiento de flujos
Consideraciones
Se eligieron las tecnologías de esta arquitectura porque cada una de ellas proporciona la funcionalidad necesaria para hacer frente a los más comunes desafíos de datos de una organización. Estos servicios cumplen los requisitos de escalabilidad y disponibilidad, a la vez que ayudan a controlar los costos. Los servicios que se incluyen en esta arquitectura son solo un subconjunto de una familia mucho más amplia de servicios de Azure. Se pueden conseguir resultados similares con otros servicios o características que no se incluyen en este diseño.
Los requisitos empresariales específicos para los casos de uso de análisis también pueden necesitar el uso de diferentes servicios o características que no se tienen en cuenta en este diseño.
También se puede implementar una arquitectura similar para entornos de preproducción, donde puede desarrollar y probar las cargas de trabajo. Tenga en cuenta los requisitos específicos de las cargas de trabajo y las funcionalidades de cada servicio para un entorno de preproducción rentable.
Precios
En general, use la calculadora de precios de Azure para calcular los costos. El plan de tarifa individual ideal y el costo total de cada servicio incluido en la arquitectura depende de la cantidad de datos que se van a procesar y almacenar, y del nivel de rendimiento aceptable esperado. Use la guía siguiente para más información sobre cómo se calcula el precio de cada servicio:
La arquitectura sin servidor de Azure Synapse Analytics le permite escalar los niveles de proceso y almacenamiento por separado. Los recursos de proceso se cobran según el uso, y puede escalar o pausar estos recursos a petición. Los recursos de almacenamiento se facturan por terabyte, por lo que los costos aumentan con la ingesta de datos.
Azure Data Lake Gen2 se cobra en función de la cantidad de datos almacenados y en función del número de transacciones para leer y escribir datos.
Azure Event Hubs y Azure IoT Hubs se cobran en función de la cantidad de recursos de proceso necesarios para procesar los flujos de mensajes.
Los cargos de Azure Machine Learning proceden de la cantidad de recursos de proceso que se usan para entrenar e implementar los modelos de Machine Learning.
Cognitive Services se cobra en función del número de llamadas que haga a las API de servicio.
Azure Purview tiene un precio basado en el número de recursos de datos del catálogo y en la cantidad de potencia de proceso necesaria para examinarlos.
Azure Stream Analytics se cobra en función de la cantidad de potencia de proceso necesaria para procesar las consultas de flujo.
Power BI tiene opciones de producto diferentes para distintos requisitos. Power BI Embedded proporciona una opción basada en Azure para insertar la funcionalidad de Power BI en las aplicaciones. En el precio de ejemplo anterior se incluye una instancia de Power BI Embedded.
Azure Cosmos DB tiene un precio basado en la cantidad de recursos de almacenamiento y proceso que requieren las bases de datos.
Pasos siguientes
En la Guía de arquitectura de datos de Azure encontrará información estructural completa sobre las canalizaciones de datos, el almacenamiento de datos, el procesamiento analítico en línea (OLAP) y los macrodatos.
Examine las rutas de aprendizaje para los ingenieros de datos en Microsoft Learn para obtener más contenido de aprendizaje y laboratorios sobre los servicios involucrados en esta arquitectura de referencia.
