Aplicaciones inteligentes mediante Azure Database for PostgreSQL

Azure App Service
Servicios de Azure AI
Azure Database for PostgreSQL
Azure Machine Learning
Power BI

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

En este artículo se presenta una solución para automatizar el análisis y la visualización de datos mediante inteligencia artificial (IA). Los componentes principales de la solución son Azure Functions, Azure Cognitive Services y Azure Database for PostgreSQL.

Architecture

Diagram that shows the dataflow of an intelligent application using Azure Database for PostgreSQL.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

  1. Una actividad de Azure Function permite desencadenar una aplicación de Azure Functions en la canalización de Azure Data Factory. Crea una conexión de servicio vinculado y usa el servicio vinculado con una actividad para especificar la función de Azure que quiere ejecutar.
  2. Los datos proceden de varios orígenes, como Azure Storage y Azure Event Hubs para datos de gran volumen. Cuando la canalización recibe nuevos datos, desencadena la aplicación de Azure Functions.
  3. La aplicación de Azure Functions llama a la API de Cognitive Services para analizar los datos.
  4. La API de Cognitive Services devuelve los resultados del análisis en formato JSON a la aplicación de Azure Functions.
  5. La aplicación de Azure Functions almacena los datos y los resultados de la API de Cognitive Services en Azure Database for PostgreSQL.
  6. Azure Machine Learning usa algoritmos de aprendizaje automático personalizados para proporcionar más conclusiones sobre los datos.
    • Si está encarando el paso de aprendizaje automático con una perspectiva sin código, puede implementar operaciones adicionales de análisis de texto en los datos, como el hash de características, Word2Vector y la extracción de n-gramas.
    • Si prefiere un enfoque de código primero, puede ejecutar un modelo de procesamiento de lenguaje natural (NLP) de código abierto como un experimento en el estudio de Machine Learning.
  7. El conector de PostgreSQL para Power BI permite explorar información interpretable por el usuario en Power BI o una aplicación web personalizada.

Componentes

  • Azure App Service proporciona una plataforma totalmente administrada para compilar, implementar y escalar rápidamente aplicaciones web y API.
  • Functions es una plataforma de proceso sin servidor basada en eventos. Para obtener información sobre cómo usar una actividad para ejecutar una función como parte de una canalización de Data Factory, consulte Actividad de las funciones de Azure en Azure Data Factory.
  • Event Hubs es una plataforma de streaming de macrodatos totalmente administrada.
  • Cognitive Services proporciona un conjunto de servicios y API de inteligencia artificial que puede usar para crear inteligencia cognitiva en aplicaciones.
  • Azure Database for PostgreSQL es un servicio de base de datos relacional totalmente administrado. Proporciona alta disponibilidad, escalado elástico, aplicación de revisiones y otras funcionalidades de administración para PostgreSQL.
  • Azure Machine Learning es un servicio en la nube que puede usar para entrenar, implementar y automatizar modelos de aprendizaje automático. El estudio admite enfoques de código primero y sin código.
  • Power BI es una colección de servicios de software y aplicaciones que muestran información de análisis y le ayudan a obtener información de los datos.

Detalles del escenario

La canalización automatizada usa los siguientes servicios para analizar los datos:

  • Cognitive Services usa inteligencia artificial para responder a preguntas, analizar opiniones y traducir texto.
  • Azure Machine Learning proporciona herramientas de aprendizaje automático para el análisis predictivo.

Para almacenar datos y resultados, la solución usa Azure Database for PostgreSQL. La base de datos PostgreSQL admite datos no estructurados, consultas paralelas y particiones declarativas. Esta compatibilidad hace que Azure Database for PostgreSQL sea una opción eficaz para tareas de inteligencia artificial y aprendizaje automático con un uso intensivo de datos.

La solución automatiza la entrega del análisis de datos. Un conector vincula Azure Database for MySQL con herramientas de visualización como Power BI.

La arquitectura usa una aplicación de Azure Functions para ingerir datos de varios orígenes de datos. Es una solución sin servidor que ofrece las siguientes ventajas:

  • Mantenimiento de la infraestructura: Azure Functions es un servicio administrado que permite a los desarrolladores centrarse en un trabajo innovador que ofrece valor a la empresa.
  • Escalabilidad: Azure Functions proporciona recursos de proceso a petición, por lo que las instancias de función se escalan según sea necesario. A medida que disminuyan las solicitudes, todos los recursos e instancias de la aplicación se descartarán automáticamente.

Posibles casos de uso

Azure Database for PostgreSQL es una solución basada en la nube. Como resultado, esta solución no se recomienda para aplicaciones móviles. Es más adecuada para el análisis de nivel inferior en los siguientes sectores y otros:

  • Transporte: predicción de mantenimiento
  • Finanzas: evaluación de riesgos y detección de fraudes
  • Comercio electrónico: predicción de abandono de clientes y motores de recomendación
  • Telecomunicaciones: optimización del rendimiento
  • Servicios públicos: prevención de interrupciones

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

  • Para la mayoría de las características, la API de Azure Cognitive Service para lenguaje tiene un tamaño máximo de 5120 caracteres para un único documento. Para todas las características, el tamaño máximo de la solicitud es de 1 MB. Para obtener más información sobre los límites de datos y velocidad, consulte Límites de servicio para Azure Cognitive Service para lenguaje.

  • En Azure Database for PostgreSQL, el volumen de entrada y la velocidad determinan la selección del servicio y el modo de implementación. Hay dos servicios disponibles:

    • Azure Database for PostgreSQL
    • Azure Cosmos DB for PostgreSQL, que anteriormente se conocía como modo Hiperescala (Citus)

    Si examina grandes cargas de trabajo de opiniones y reseñas de clientes, use Azure Cosmos DB for PostgreSQL. En Azure Database for PostgreSQL, hay dos modos disponibles: servidor único y servidor flexible. Para comprender cuándo usar cada modo de implementación, consulte ¿Qué es Azure Database for PostgreSQL?.

  • Las versiones anteriores de esta solución usaban la API Text Analytics de Cognitive Services. Azure Cognitive Service para lenguaje ahora unifica tres servicios de lenguaje individuales en Cognitive Services: Text Analytics, QnA Maker y Language Understanding (LUIS). Puede migrar fácilmente desde la API de Text Analytics a la API de Cognitive Service para lenguaje. Para obtener las instrucciones, consulte Migración a la versión más reciente de Azure Cognitive Service para lenguaje.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

De manera automática, todos los datos de Azure Database for PostgreSQL se cifran y se crean copias de seguridad de estos. Puede configurar Microsoft Defender for Cloud para mitigar aún más las amenazas. Para obtener más información, consulte Habilitación de Microsoft Defender para bases de datos relacionales de código abierto y respuesta a alertas.

DevOps

Puede configurar Acciones de GitHub para conectarse a la base de datos de Azure Database for PostgreSQL con su cadena de conexión y configurando un flujo de trabajo. Para obtener más información, consulte Inicio rápido: Uso de Acciones de GitHub para conectarse a Azure PostgreSQL.

También puede automatizar el ciclo de vida del aprendizaje automático mediante Azure Pipelines. Para obtener información sobre cómo implementar un flujo de trabajo de MLOps y crear una canalización de CI/CD para el proyecto, consulte el repositorio de GitHub MLOps con Azure ML.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Cognitive Service para lenguaje ofrece varios planes de tarifa. El número de registros de texto que procesa afecta al costo. Para obtener más información, consulte Precios de Cognitive Service para lenguaje.

Pasos siguientes