Personalisatie met Cosmos DB

API Apps
Container Instances
Cosmos DB

Oplossingsidee

Als u wilt dat we dit artikel uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsinformatie, laat het ons dan weten met GitHub Feedback!

Genereer persoonlijke aanbevelingen voor klanten in realtime, met behulp van instellingen voor lage latentie en inseenbare consistentie voor directe inzichten

Architectuur

Architectuurdiagram Download een SVG van deze architectuur.

Gegevensstroom

  1. Klant/gebruiker meldt zich aan bij de e-commerce-app met hun eigen referenties.
  2. De klant/gebruiker plaatst de bestelling en de bestelling gaat naar Azure API Apps.
  3. Gegevens worden opgeslagen in Cosmos DB (klantorder).
  4. De wijzigingenfeed is ingeschakeld op de Cosmos DB en verwerkt alle wijzigingen voor beschikbare gebeurtenissen.
  5. Met Apache Spark in Azure Data Bricks worden gegevens getraind en opgeslagen in Cosmos DB (Product+ User Vectors)
  6. De meest recente aanbeveling wordt opgehaald door de gebruikersinterface van het e-commerce-winkel met Azure Container Service (Aanbevelings-API's).

Onderdelen

Deze architectuur bevat de volgende onderdelen:

  • Azure Web App maakt deel uit van Azure App Service. Het is een OP HTTP gebaseerde service voor het hosten van webtoepassingen, REST API's en mobiele back-ends. U kunt er in uw favoriete taal programmeren, of het nu .NET, .NET Core, Java, Ruby, Node.js, PHP of Python is. Toepassingen kunnen eenvoudig worden uitgevoerd en geschaald in op Windows en Linux gebaseerde omgevingen.

  • Azure Cosmos DB is een database met meerdere modellen die gegevens elastisch op grote schaal kan verwerken. Azure Cosmos DB is ontworpen voor toepassingen die wereldwijd worden gedistribueerd in een multi-write-model.

  • Wijzigingenfeed biedt een permanente record van wijzigingen in een container in de volgorde waarin ze plaatsvinden.

  • Azure Container Instances containers worden on-demand uitgevoerd in een serverloze Microsoft Azure omgeving. Azure Container Instances is een methode met weinig frictie voor het uitvoeren van containers waarvoor geen volledige Docker-host of Kubernetes-installatie is vereist.

  • Azure Kubernetes Service automatiseert de implementatie, het schalen en het beheer van containertoepassingen, zoals het aanbevelingsmodel.

  • Azure Databricks is een platform voor gegevensanalyse dat is geoptimaliseerd voor Microsoft Azure cloudservicesplatform. Azure Databricks biedt twee omgevingen voor het ontwikkelen van gegevensintensieve toepassingen: Azure Databricks SQL Analytics en Azure Databricks Workspace.

Overwegingen

API-beheer, voor de containerservice, biedt een aantal voordelen, zoals snelheidsbeperking, API-versiebeheer, beleid. Raadpleeg Azure API Management voor meer API Management.

Schaalbaarheid

In Azure Cosmos DB kunt u standaard (handmatig) of automatisch inrichtende doorvoer voor uw databases en containers configureren. Door inrichtende doorvoer automatisch te schalen in Azure Cosmos DB kunt u de doorvoer (RU/s) van uw database of container automatisch en direct schalen. De doorvoer wordt geschaald op basis van het gebruik, zonder dat dit van invloed is op de beschikbaarheid, latentie, doorvoer of prestaties van de workload.

Azure Synapse biedt ook systeemeigen Apache Spark en kan worden beschouwd als een alternatieve optie voor het ontwikkelen en trainen van een aanbevelingsmodel.

Schaal het AKS-cluster om te voldoen aan uw prestatie- en doorvoervereisten. Zorg dat u het aantal pods omhoog schaalt om het cluster volledig te gebruiken en om de knooppunten van het cluster te schalen om te voldoen aan de vraag van uw service.

Volgende stappen