Front-end per e-commerce

Microsoft Entra per ID esterno
Rete per la distribuzione di contenuti di Azure
Servizi di intelligenza artificiale di Azure
Gestione traffico di Azure
Servizio app di Azure

Questo scenario di esempio descrive l'implementazione di un front-end di e-commerce usando gli strumenti della piattaforma distribuita come servizio (PaaS) di Azure.

Architettura

Diagramma che mostra un'architettura di scenario di esempio per un'applicazione di e-commerce.

Scaricare un file di Visio di questa architettura.

Flusso di dati

Questo scenario descrive l'acquisto di biglietti da un sito di e-commerce. Il flusso di dati dello scenario è il seguente:

  1. Gestione traffico di Azure indirizza la richiesta di un utente al sito di e-commerce ospitato nel servizio app di Azure.
  2. La rete CDN di Azure fornisce immagini e contenuti statici all'utente.
  3. L'utente accede all'applicazione tramite un tenant di Azure Active Directory B2C.
  4. L'utente cerca i concerti usando la funzione Ricerca di Azure.
  5. Il sito Web restituisce i dettagli dei concerti dal database SQL di Azure.
  6. Il sito Web fa riferimento alle immagini dei biglietti acquistati presenti in Archiviazione BLOB.
  7. I risultati delle query sul database vengono memorizzati nella cache di Azure per Redis allo scopo di migliorare le prestazioni.
  8. L'utente invia ordini per biglietti e recensioni sul concerto che vengono inseriti nella coda.
  9. Funzioni di Azure elabora il pagamento dell'ordine e le recensioni sul concerto.
  10. Servizi cognitivi fornisce un'analisi della recensione del concerto per determinare la valutazione (positiva o negativa).
  11. Application Insights fornisce metriche delle prestazioni per il monitoraggio dell'integrità dell'applicazione Web.

Componenti

  • La rete CDN di Azure fornisce contenuti statici memorizzati nella cache da posizioni vicine agli utenti per ridurre la latenza.
  • Gestione traffico di Azure consente di controllare la distribuzione del traffico degli utenti per gli endpoint del servizio in diverse aree di Azure.
  • Le app Web del servizio app ospitano applicazioni Web con scalabilità automatica e disponibilità elevata senza che sia necessario gestire l'infrastruttura.
  • Azure Active Directory B2C è un servizio di gestione delle identità che consente la personalizzazione e il controllo sul modo in cui i clienti eseguono l'iscrizione, l'accesso e la gestione dei profili in un'applicazione.
  • Le code di archiviazione archiviano un numero elevato di messaggi in coda ai quali è possibile accedere tramite un'applicazione.
  • Le funzioni sono opzioni di calcolo senza server che consentono l'esecuzione di applicazioni su richiesta senza dover gestire l'infrastruttura.
  • Servizi cognitivi - Analisi del sentiment usa API di Machine Learning e consente agli sviluppatori di aggiungere facilmente funzionalità intelligenti alle applicazioni, quali il rilevamento di emozioni e video, il riconoscimento facciale, vocale e visivo e la comprensione del parlato e del linguaggio.
  • Ricerca di Azure è una soluzione cloud di ricerca distribuita come servizio che offre un'esperienza di ricerca avanzata su contenuti eterogenei e privati nelle applicazioni Web, per dispositivi mobili e aziendali.
  • I BLOB di archiviazione sono ottimizzati per l'archiviazione di grandi quantità di dati non strutturati, ad esempio testo o dati binari.
  • la cache di Azure per Redis migliora le prestazioni e la scalabilità dei sistemi che si affidano fortemente agli archivi dati di back-end, copiando temporaneamente i dati a cui si accede di frequente in uno spazio di archiviazione rapida situato vicino all'applicazione.
  • Il database SQL di Azure è un servizio gestito di database relazionale per utilizzo generico che supporta strutture come dati relazionali, JSON, dati spaziali e XML.
  • Application Insights è progettato per migliorare continuamente le prestazioni e l'usabilità rilevando automaticamente le anomalie delle prestazioni con strumenti di analisi integrati che consentono di rilevare le operazioni eseguite dagli utenti con un'app.

Alternative

Sono disponibili molte altre tecnologie per compilare un'applicazione rivolta ai clienti incentrata sull'e-commerce su larga scala. Queste tecnologie coprono sia il front-end dell'applicazione che il livello dati.

Altre opzioni per il livello Web e le funzioni includono:

  • Servizio Azure Kubernetes: piattaforma per la creazione e la distribuzione di soluzioni basate su contenitori che possono essere usate come un'unica implementazione di un'architettura di microservizi. La piattaforma è agile in quanto consente la scalabilità indipendente dei diversi componenti dell'applicazione su richiesta.
  • Istanze di Azure Container: modalità di distribuzione ed esecuzione rapida di contenitori con ciclo di vita breve. Questi contenitori vengono distribuiti per eseguire un processo di elaborazione rapido, come l'elaborazione di un messaggio o l'esecuzione di un calcolo, quindi vengono immediatamente sottoposti a deprovisioning al termine dell'operazione.
  • Bus di servizio: può essere usato al posto di una coda di archiviazione.

Altre opzioni per il livello dati includono:

  • Azure Cosmos DB: database multimodello distribuito a livello globale di Microsoft. Questo servizio offre una piattaforma per l'esecuzione di altri modelli di dati, ad esempio MongoDB, Cassandra, dati Graph o una semplice archiviazione tabelle.

Dettagli dello scenario

Molti siti di e-commerce sono soggetti a stagionalità e variabilità del traffico nel tempo. Quando la richiesta di prodotti o servizi decolla, in modo prevedibile o imprevedibile, l'uso di strumenti PaaS consente di gestire più clienti e più transazioni automaticamente. Questo scenario sfrutta inoltre l'economia del cloud, pagando solo la capacità effettivamente usata.

Questo documento illustra i diversi componenti di Azure PaaS e le considerazioni relative alla distribuzione di un'applicazione di e-commerce di esempio, Relecloud Concerts, ovvero una piattaforma online per l'acquisto di biglietti per concerti.

Potenziali casi d'uso

Questa soluzione è ottimizzata per il settore della vendita al dettaglio. Gli altri casi d'uso pertinenti includono:

  • Compilazione di un'applicazione che necessita di scalabilità elastica per gestire i picchi di utenti in momenti diversi.
  • Compilazione di un'applicazione progettata per funzionare a disponibilità elevata in diverse aree di Azure in tutto il mondo.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

Disponibilità

Scalabilità

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

Resilienza

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

Esaminare il costo di esecuzione dello scenario. Nel calcolatore dei costi sono preconfigurati tutti i servizi. Per verificare la variazione dei prezzi per un determinato caso d'uso, modificare le variabili appropriate in base al traffico previsto.

Sono stati definiti tre profili di costo di esempio in base alla quantità di traffico prevista.

  • Small: questo esempio di prezzi rappresenta i componenti necessari per un'istanza di livello produzione minima. In questo caso si ipotizza un numero limitato di utenti, ovvero solo alcune migliaia al mese. L'app usa una singola istanza di un'app Web standard, sufficiente per abilitare la scalabilità automatica. Ognuno degli altri componenti viene dimensionato a un livello Basic che consente un costo minimo, garantendo comunque un supporto con contratto di servizio e capacità sufficiente per gestire un carico di lavoro a livello di produzione.
  • Medium: questo esempio di prezzi rappresenta i componenti indicativi di una distribuzione di medie dimensioni. In questo caso si stimano circa 100.000 utenti che usano il sistema nel corso di un mese. Il traffico previsto viene gestito in una singola istanza del servizio app con un livello Standard moderato. Al calcolatore vengono anche aggiunti livelli moderati di servizi cognitivi e di ricerca.
  • Large: questo esempio di prezzi rappresenta un'applicazione su larga scala, nell'ordine di milioni di utenti al mese, con il trasferimento di terabyte di dati. Questo livello di utilizzo richiede app Web di livello Premium con prestazioni elevate, distribuite in più aree e gestite da Gestione traffico. I dati sono costituiti da archivi, database e rete CDN, configurati per terabyte di dati.

Distribuire lo scenario

Per distribuire questo scenario, è possibile seguire l'esercitazione dettagliata che illustra come distribuire manualmente ogni componente. Questa esercitazione fornisce anche un'applicazione .NET di esempio che esegue una semplice applicazione per l'acquisto di biglietti. È anche disponibile un modello di Resource Manager per automatizzare la distribuzione della maggior parte delle risorse di Azure.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

  • Chris Mason | Senior Manager, Software Engineering

Passaggi successivi