Personalización mediante Cosmos DB

API Apps
Container Instances
Cosmos DB

Idea de solución

Si le gustaría que expandamos 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íquese a través de los Comentarios de GitHub.

Genere recomendaciones personalizadas para clientes en tiempo real, con una configuración de coherencia de baja latencia y ajustable para obtener información inmediata.

Arquitectura

Diagrama de la arquitectura Descargue un SVG de esta arquitectura.

Flujo de datos

  1. El comprador o usuario inicia sesión en una aplicación de comercio electrónico con sus propias credenciales.
  2. El comprador o usuario hace el pedido, y este se dirige a Azure API Apps.
  3. Los datos se almacenan en Cosmos DB (pedido del cliente).
  4. La fuente de cambios se habilita en Cosmos DB y procesa todos los cambios de los eventos disponibles.
  5. Con Apache Spark en Azure Databricks, los datos se entrenan y almacenan en Cosmos DB (vectores de producto + usuario).
  6. La interfaz de usuario del almacén de comercio electrónico capturará la recomendación más reciente mediante Azure Container Service (API de recomendación).

Componentes

Esta arquitectura incluye los siguientes componentes:

  • La aplicación web de Azure forma parte de Azure App Service. Se trata de un servicio basado en HTTP para hospedar aplicaciones web, API REST y back-ends para dispositivos móviles. Puede desarrollarlo en su lenguaje preferido, ya sea. NET, .NET Core, Java, Ruby, Node.js, PHP o Python. Las aplicaciones se ejecutan y escalan fácilmente en los entornos Windows y Linux.

  • Azure Cosmos DB es una base de datos de varios modelos que puede proporcionar datos de manera elástica a gran escala. Azure Cosmos DB se diseñó para aplicaciones que se distribuyen globalmente en un modelo de varias escrituras.

  • La fuente de cambios ofrece un registro persistente de cambios en un contenedor en el orden en que se producen.

  • Azure Container Instances ejecuta contenedores a petición en un entorno de Microsoft Azure sin servidor. Azure Container Instances es un método de baja fricción para ejecutar contenedores que no requiere ningún host de Docker completo ni ninguna instalación de Kubernetes.

  • Azure Kubernetes Service automatiza la implementación, el escalado y la administración de aplicaciones en contenedores, como el modelo de recomendación.

  • Azure Databricks es una plataforma de análisis de datos optimizada para la plataforma de servicios en la nube de Microsoft Azure. Azure Databricks ofrece dos entornos para desarrollar aplicaciones con un uso intensivo de datos: Azure Databricks SQL Analytics y Azure Databricks Workspace.

Consideraciones

API Management, delante del servicio de contenedor, proporciona una serie de ventajas, como la limitación de velocidad, el control de versiones de API y directivas. Para obtener más información, consulte Azure API Management.

Escalabilidad

En Azure Cosmos DB, puede configurar el rendimiento aprovisionado estándar (manual) o de escalado automático en las bases de datos y los contenedores. El rendimiento aprovisionado de escalado automático de Azure Cosmos DB permite escalar el rendimiento (RU/s) de la base de datos o el contenedor de forma automática e instantánea. El rendimiento se escala en función del uso, sin afectar a la disponibilidad, la latencia ni el rendimiento de la carga de trabajo.

Además, Azure Synapse proporciona funcionalidades de Apache Spark nativas y se puede considerar una opción alternativa para el desarrollo y el entrenamiento de un modelo de recomendación.

Escale el clúster de AKS para satisfacer sus necesidades de rendimiento. Procure escalar verticalmente el número de pods para utilizar plenamente el clúster y escalar la nodos del clúster para satisfacer la demanda del servicio.

Pasos siguientes