Klientdel för e-handel

Externt ID för Microsoft Entra
Azure Content Delivery Network
Azure AI services
Azure Traffic Manager
Azure App Service

Det här exempelscenariot vägleder dig genom en implementering av en klientdel för e-handel med hjälp av PaaS-verktyg (Plattform som en tjänst).

Arkitektur

Diagram som visar en exempelscenarioarkitektur för ett e-handelsprogram.

Ladda ned en Visio-fil med den här arkitekturen.

Dataflöde

Det här scenariot omfattar köp av biljetter från en e-handelswebbplats, data flödar genom scenariot på följande sätt:

  1. Azure Traffic Manager dirigerar en användares begäran till den e-handelswebbplats som finns i Azure App Service.
  2. Azure CDN hanterar statiska avbildningar och innehåll till användaren.
  3. Användaren loggar in på programmet via en Azure Active Directory B2C-klientorganisation.
  4. Användaren söker efter konserter med hjälp av Azure Search.
  5. Webbplatsen hämtar konsertinformation från Azure SQL Database.
  6. Webbplatsen refererar till köpta biljettbilder i Blob Storage.
  7. Databasfrågeresultat cachelagras i Azure Cache for Redis för att förbättra prestandan.
  8. Användaren skickar biljettbeställningar och konsertrecensioner som placeras i kön.
  9. Azure Functions bearbetar orderbetalnings- och konsertgranskningar.
  10. Cognitive Services tillhandahåller en analys av konsertgranskningen för att fastställa sentimentet (positiv eller negativ).
  11. Application Insights tillhandahåller prestandamått för övervakning av webbprogrammets hälsotillstånd.

Komponenter

  • Azure CDN levererar statiskt, cachelagrat innehåll från platser nära användare för att minska svarstiden.
  • Azure Traffic Manager styr distributionen av användartrafik för tjänstslutpunkter i olika Azure-regioner.
  • App Services – Web Apps är värd för webbprogram som tillåter autoskalning och hög tillgänglighet utan att behöva hantera infrastruktur.
  • Azure Active Directory B2C är en identitetshanteringstjänst som möjliggör anpassning och kontroll över hur kunder registrerar sig, loggar in och hanterar sina profiler i ett program.
  • Lagringsköer lagrar ett stort antal kömeddelanden som kan nås av ett program.
  • Funktioner är serverlösa beräkningsalternativ som gör att program kan köras på begäran utan att behöva hantera infrastrukturen.
  • Cognitive Services – Attitydanalys använder maskininlärnings-API:er och gör det möjligt för utvecklare att enkelt lägga till intelligenta funktioner – till exempel känslo- och videoidentifiering, ansiktsigenkänning, tal- och synigenkänning samt tal- och språkförstämringar – i program.
  • Azure Search är en molnlösning för sökning som en tjänst som ger en omfattande sökupplevelse över privat, heterogent innehåll i webb-, mobil- och företagsprogram.
  • Lagringsblobar är optimerade för att lagra stora mängder ostrukturerade data, till exempel text eller binära data.
  • Azure Cache for Redis förbättrar prestanda och skalbarhet för system som är starkt beroende av serverdelsdatalager genom att tillfälligt kopiera data som används ofta till snabb lagring nära programmet.
  • Azure SQL Database är en hanterad tjänst för allmän relationsdatabas som stöder strukturer, till exempel relationsdata, JSON, spatial och XML.
  • Application Insights är utformat för att hjälpa dig att kontinuerligt förbättra prestanda och användbarhet genom att automatiskt identifiera prestandaavvikelser via inbyggda analysverktyg för att förstå vad användare gör med en app.

Alternativ

Många andra tekniker är tillgängliga för att skapa ett kundanslutet program som fokuserar på e-handel i stor skala. Dessa tekniker omfattar både programmets klientdel och datanivån.

Andra alternativ för webbnivån och funktionerna är:

  • Azure Kubernetes Service – en plattform för att skapa och distribuera containerbaserade lösningar som kan användas som en implementering av en mikrotjänstarkitektur. Plattformen ger flexibiliteten hos olika komponenter i programmet, för att skala oberoende, på begäran.
  • Azure Container Instances – ett sätt att snabbt distribuera och köra containrar med kort livscykel. Containrar här distribueras för att köra ett snabbbearbetningsjobb som att bearbeta ett meddelande eller utföra en beräkning och sedan avetableras så snart de har slutförts.
  • Service Bus kan användas i stället för en lagringskö.

Andra alternativ för datanivån är:

  • Azure Cosmos DB: Microsofts globalt distribuerade databas med flera modeller. Den här tjänsten tillhandahåller en plattform för att köra andra datamodeller som MongoDB, Cassandra, Graph-data eller enkel tabelllagring.

Information om scenario

Många e-handelswebbplatser står inför säsongsvariationer och trafikvariationer över tid. När efterfrågan på dina produkter eller tjänster tar fart, oavsett om det är förutsägbart eller oförutsägbart, kan du hantera fler kunder och fler transaktioner automatiskt med hjälp av PaaS-verktyg. Dessutom drar det här scenariot nytta av molnekonomi genom att endast betala för den kapacitet du använder.

Det här dokumentet hjälper dig att lära dig om olika Azure PaaS-komponenter och överväganden som används för att sammanföra för att distribuera ett exempelprogram för e-handel, Relecloud Concerts, en plattform för konsertbiljetter online.

Potentiella användningsfall

Den här lösningen är optimerad för detaljhandeln. Andra relevanta användningsfall är:

  • Skapa ett program som behöver elastisk skalning för att hantera bursts av användare vid olika tidpunkter.
  • Skapa ett program som är utformat för att fungera med hög tillgänglighet i olika Azure-regioner runt om i världen.

Att tänka på

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Tillgänglighet

Skalbarhet

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.

Motståndskraft

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.

Utforska kostnaden för att köra det här scenariot, alla tjänster är förkonfigurerade i kostnadskalkylatorn. Om du vill se hur prissättningen skulle ändras för ditt specifika användningsfall ändrar du lämpliga variabler så att de matchar din förväntade trafik.

Vi har tillhandahållit tre exempel på kostnadsprofiler baserat på mängden trafik som du förväntar dig att få:

  • Liten: Det här prisexemplet representerar de komponenter som krävs för att skapa ut för en minsta instans på produktionsnivå. Här förutsätter vi ett litet antal användare som bara numrerar på några tusen per månad. Appen använder en enda instans av en standardwebbapp som räcker för att aktivera automatisk skalning. De andra komponenterna skalas var och en till en grundläggande nivå som tillåter en minsta kostnad, men som ändå ser till att det finns stöd för serviceavtal och tillräckligt med kapacitet för att hantera en arbetsbelastning på produktionsnivå.
  • Medel: Det här prisexemplet representerar komponenterna som indikerar en måttlig storleksdistribution. Här uppskattar vi cirka 100 000 användare som använder systemet under en månad. Den förväntade trafiken hanteras i en enda App Service-instans med en måttlig standardnivå. Dessutom läggs måttliga nivåer av kognitiva tjänster och söktjänster till i kalkylatorn.
  • Stor: Det här prisexemplet representerar ett program som är avsett för hög skala, i storleksordningen miljontals användare per månad, och flyttar terabyte data. På den här nivån av hög prestanda för användning krävs webbappar på premiumnivå som distribueras i flera regioner som frontas av Traffic Manager. Data består av följande: lagring, databaser och CDN konfigureras för terabyte data.

Distribuera det här scenariot

Om du vill distribuera det här scenariot kan du följa den här stegvisa självstudien som visar hur du distribuerar varje komponent manuellt. Den här självstudien innehåller också ett .NET-exempelprogram som kör ett enkelt biljettköpsprogram. Dessutom finns det en Resource Manager-mall som automatiserar distributionen av de flesta Azure-resurser.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

  • Chris Mason | Senior Manager, Software Engineering

Nästa steg