Personnalisation avec Cosmos DB

API Apps
Container Instances
Cosmos DB

Idée de solution

Si vous souhaitez nous voir développer cet article avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, faites-le nous savoir avec les Commentaires de GitHub.

Générez des recommandations personnalisées pour les clients en temps réel en utilisant des paramètres de cohérence à faible latence et réglables qui vous permettront d’obtenir des insights immédiats.

Architecture

Diagramme d’architecture Télécharger une SVG de cette architecture.

Flux de données

  1. Le client/l’utilisateur se connecte à l’application de e-commerce à l’aide de ses propres informations d’identification.
  2. Le client/l’utilisateur passe commande et celle-ci parvient à Azure API Apps.
  3. Les données sont stockées dans Cosmos DB (commande client).
  4. Le flux de modification est activé sur Cosmos DB et traite toutes les modifications correspondant aux événements disponibles.
  5. À l’aide d’Apache Spark sur Azure Data Bricks, les données sont formées et stockées dans Cosmos DB (vecteurs d’utilisateurs et produits)
  6. La dernière recommandation est extraite par l’interface utilisateur du magasin de e-commerce à l’aide d’Azure Container Service (API de suggestion).

Components

Cette architecture inclut les composants suivants :

  • Azure Web App fait partie d’Azure App Service. Il s’agit d’un service HTTP pour l’hébergement d’applications web, d’API REST et de back-ends mobiles. Vous pouvez développer dans votre langage préféré, par exemple .NET, .NET Core, Java, Ruby, Node.js, PHP ou Python. Les applications s’exécutent et sont mises à l’échelle facilement dans les environnements Windows et Linux.

  • Azure Cosmos DB est une base de données à plusieurs modèles qui peut fournir des données de manière élastique à grande échelle. Azure Cosmos DB a été conçu pour les applications distribuées dans le monde entier dans un modèle à plusieurs écritures.

  • Change feed fournit un enregistrement persistant des modifications apportées à un conteneur dans l’ordre dans lequel elles se produisent.

  • Azure Container Instances exécute des conteneurs à la demande dans un environnement Microsoft Azure serverless. Azure Container Instances est une méthode stable de gestion des conteneurs qui ne nécessite pas l’installation complète de Kubernetes ou d’un hôte Docker.

  • Azure Kubernetes Service automatise le déploiement, la mise à l’échelle et la gestion des applications en conteneur, telles que le modèle de recommandation.

  • Azure Databricks est une plateforme d’analytique données optimisée pour la plateforme de services cloud Microsoft Azure. Azure Databricks offre deux environnements pour développer des applications gourmandes en données : Azure Databricks SQL Analytics et Azure Databricks Workspace.

Considérations

La gestion des API, devant le service de conteneur, offre un certain nombre d’avantages, tels que la limitation de la bande passante, le contrôle de version de l’API et les stratégies. Pour plus d’informations, consultez Gestion des API Azure.

Extensibilité

Dans Azure Cosmos DB, vous pouvez configurer un débit approvisionné standard (manuel) ou approvisionné en mode de mise à l’échelle automatique sur vos bases de données et conteneurs. Le débit approvisionné en mode de mise à l’échelle automatique dans Azure Cosmos DB vous permet de mettre à l’échelle le débit (RU/s) de votre base de données ou conteneur automatiquement et instantanément. Le débit est mis à l’échelle en fonction de l’utilisation, sans impact sur la disponibilité, la latence, le débit ou les performances de la charge de travail.

Azure Synapse fournit également des fonctionnalités Apache Spark natives et peut être considéré comme une autre possibilité de développement et de formation d’un modèle de recommandation.

Mettez le cluster AKS à l’échelle pour répondre à vos besoins en termes de performances et de débit. Prenez soin d’effectuer un scale-up du nombre de pods pour utiliser pleinement le cluster et de mettre à l’échelle les nœuds du cluster pour répondre à la demande de votre service.

Étapes suivantes