E-Commerce-Front-End

Azure Active Directory for External Identities
Content Delivery Network
Cognitive Services
Traffic Manager
Web Apps

In diesem Beispielszenario wird die Implementierung eines E-Commerce-Front-Ends mit Azure-PaaS-Tools (Platform-as-a-Service) Schritt für Schritt beschrieben. Für viele E-Commerce-Websites müssen Anforderungen in Bezug auf die Saisonalität und die Variabilität des Datenverkehrs erfüllt werden. Wenn die Nachfrage nach Ihren Produkten oder Diensten steigt (vorhersehbar oder unvorhersehbar), können Sie mit PaaS-Tools automatisch eine größere Anzahl von Kunden verwalten und mehr Transaktionen durchführen. Darüber hinaus kommt Ihnen bei diesem Szenario der Cloudvorteil zugute, indem Sie nur für die genutzte Kapazität zahlen.

In diesem Dokument werden verschiedene Azure-PaaS-Komponenten und -Aspekte beschrieben, die für die Bereitstellung der E-Commerce-Anwendung Relecloud Concerts, einer Onlineplattform für Konzerttickets, gelten.

Mögliche Anwendungsfälle

Diese Lösung ist für den Einzelhandel optimiert.

Zu den weiteren relevanten Anwendungsfällen zählen:

  • Erstellen einer Anwendung mit elastischer Skalierung zur Verarbeitung von variierenden Benutzerzahlen (Bursts) zu unterschiedlichen Zeiten
  • Erstellen einer Anwendung für den Betrieb mit Hochverfügbarkeit in unterschiedlichen Azure-Regionen weltweit

Aufbau

Diagram that shows a sample scenario architecture for an e-commerce application.

Datenfluss

Bei diesem Szenario geht es um den Kauf von Tickets über eine E-Commerce-Website. Die Daten durchlaufen das Szenario wie folgt:

  1. Azure Traffic Manager leitet die Anforderung eines Benutzers an die E-Commerce-Website weiter, die in Azure App Service gehostet wird.
  2. Per Azure CDN werden statische Bilder und Inhalte für den Benutzer bereitgestellt.
  3. Der Benutzer meldet sich über einen Azure Active Directory B2C-Mandanten an der Anwendung an.
  4. Der Benutzer sucht mit Azure Search nach Konzerten.
  5. Die Website ruft Konzertdetails aus Azure SQL-Datenbank ab.
  6. Die Website verweist auf Bilder von gekauften Tickets in Blob Storage.
  7. Ergebnisse von Datenbankabfragen werden in Azure Cache for Redis zwischengespeichert, um die Leistung zu verbessern.
  8. Der Benutzer übermittelt Ticketbestellungen und Konzertbewertungen, die in die Warteschlange eingereiht werden.
  9. Azure Functions verarbeitet die Bezahlung der Bestellungen und die Konzertbewertungen.
  10. Über Cognitive Services wird eine Analyse der Konzertbewertung durchgeführt, um die Stimmung zu ermitteln (positiv oder negativ).
  11. Über Application Insights werden Leistungsmetriken für die Überwachung der Integrität der Webanwendung bereitgestellt.

Komponenten

  • Azure CDN stellt statische zwischengespeicherte Inhalte von Standorten bereit, die sich in der Nähe der Benutzer befinden, um die Latenz zu reduzieren.
  • Mit Azure Traffic Manager wird die Verteilung von Benutzerdatenverkehr für Dienstendpunkte in unterschiedlichen Azure-Regionen gesteuert.
  • App Services – Web-Apps hostet Webanwendungen und ermöglicht die Autoskalierung und Bereitstellung von Hochverfügbarkeit, ohne eine Infrastruktur verwalten zu müssen.
  • Azure Active Directory B2C ist ein Identitätsverwaltungsdienst, mit dem Sie die Kundenregistrierung und -anmeldung anpassen und steuern und die Kundenprofile in einer Anwendung verwalten können.
  • In Speicherwarteschlangen wird eine große Anzahl von Warteschlangennachrichten gespeichert, auf die mit einer Anwendung zugegriffen werden kann.
  • Funktionen sind serverlose Computeoptionen, mit denen Anwendungen bedarfsgesteuert ausgeführt werden können, ohne dass die Infrastruktur verwaltet werden muss.
  • Für Cognitive Services – Standpunktanalyse werden Machine Learning-APIs verwendet, und Entwickler können Anwendungen problemlos intelligente Features wie Emotions- und Videoerkennung, Gesichtserkennung, Spracherkennung, maschinelles Sehen und Sprachverständnis hinzufügen.
  • Azure Search ist eine Search-as-a-Service-Cloudlösung, die umfangreiche Suchfunktionen für private, heterogene Inhalte in Web- und Unternehmensanwendungen sowie in mobilen Anwendungen ermöglicht.
  • Speicherblobs sind für die Speicherung großer Mengen von unstrukturierten Daten wie z. B. Text oder Binärdaten optimiert.
  • Mit Azure Cache for Redis wird eine Verbesserung der Leistung und Skalierbarkeit von Systemen erzielt, die stark von Back-End-Datenspeichern abhängig sind. Daten, auf die häufig zugegriffen wird, werden vorübergehend in schnellen Speicher kopiert, der in der Nähe der Anwendung angeordnet ist.
  • Azure SQL-Datenbank ist ein universeller verwalteter relationaler Datenbankdienst, der Strukturen mit relationalen, JSON-, räumlichen und XML-Daten unterstützt.
  • Application Insights ist für die ständige Verbesserung der Leistung und Benutzerfreundlichkeit ausgelegt. Leistungsabweichungen werden mit integrierten Analysetools automatisch erkannt, um besser verstehen zu können, wofür Benutzer eine App verwenden.

Alternativen

Es gibt viele andere Technologien, um eine kundenorientierte Anwendung zu erstellen, die sich auf E-Commerce im großen Maßstab konzentriert. Diese Technologien decken sowohl das Front-End der Anwendung als auch die Datenschicht ab.

Weitere Optionen für die Webebene und Funktionen sind:

  • Service Fabric ist eine Plattform für die Erstellung von verteilten Komponenten, die davon profitieren, dass sie über einen Cluster mit einem hohen Kontrollgrad bereitgestellt und ausgeführt werden. Service Fabric kann auch zum Hosten von Containern verwendet werden.
  • Azure Kubernetes Service ist eine Plattform zum Erstellen und Bereitstellen von containerbasierten Lösungen, die als eine einzelne Implementierung einer Microservicearchitektur verwendet werden können. Die Plattform bietet die Möglichkeit, verschiedene Komponenten der Anwendung unabhängig und nach Bedarf zu skalieren.
  • Azure Container Instances ermöglicht eine schnelle Bereitstellung und Ausführung von Containern mit einem kurzen Lebenszyklus. Container werden hier bereitgestellt, um einen schnellen Verarbeitungsauftrag auszuführen (etwa die Verarbeitung einer Nachricht oder die Durchführung einer Berechnung). Nach Abschluss des Vorgangs wird die Bereitstellung dann so schnell wie möglich wieder aufgehoben.
  • Anstelle einer Speicherwarteschlange kann auch Service Bus verwendet werden.

Andere Optionen für die Datenschicht:

  • Cosmos DB: Die global verteilte Datenbank von Microsoft mit mehreren Modellen. Dieser Dienst bietet eine Plattform für die Ausführung anderer Datenmodelle. Hierzu zählen etwa Mongo DB, Cassandra, Graphdaten oder ein einfacher Tabellenspeicher.

Überlegungen

Verfügbarkeit

Skalierbarkeit

Sicherheit

Resilienz

Bereitstellen dieses Szenarios

In diesem Tutorial wird Schritt für Schritt beschrieben, wie Sie die einzelnen Komponenten manuell bereitstellen. Außerdem enthält dieses Tutorial eine .NET-Beispielanwendung, über die eine einfache Anwendung zum Kaufen von Tickets ausgeführt wird. Darüber hinaus ist eine Resource Manager-Vorlage vorhanden, mit der die Bereitstellung der meisten Azure-Ressourcen automatisiert werden kann.

Preise

Hier können Sie die Betriebskosten für dieses Szenario ermitteln. Alle Dienste sind im Kostenrechner vorkonfiguriert. Wenn Sie wissen möchten, welche Kosten für Ihren spezifischen Anwendungsfall entstehen, passen Sie die entsprechenden Variablen an Ihren voraussichtlichen Datenverkehr an.

Auf der Grundlage des zu erwartenden Datenverkehrsaufkommens haben wir drei exemplarische Kostenprofile erstellt:

  • Klein: Dieses Preisbeispiel stellt die Komponenten dar, die zum Erstellen des Ausgangs für eine Instanz auf niedriger Produktionsebene erforderlich sind. Hierbei gehen wir von einer geringen Anzahl von Benutzern (wenige Tausend pro Monat) aus. Die App nutzt eine einzelne Instanz einer Standard-Web-App, die für die automatische Skalierung ausreicht. Die anderen Komponenten werden jeweils auf einen Basic-Tarif skaliert, um die Kosten möglichst gering zu halten und trotzdem sicherzustellen, dass SLA-Support und ausreichend Kapazität vorhanden ist, um eine Workload auf Produktionsebene zu verwenden.
  • Mittel: Dieses Preisbeispiel stellt die Komponenten einer Bereitstellung mittlerer Größe dar. Hier gehen wir davon aus, dass ca. 100.000 Benutzer das System im Laufe eines Monats verwenden. Der erwartete Datenverkehr wird über eine einzelne App-Dienstinstanz mit einem mittleren Standard-Tarif verarbeitet. Außerdem werden dem Rechner mittlere Cognitive Services-Tarife und Suchdiensttarife hinzugefügt.
  • Groß: Dieses Preisbeispiel stellt eine Anwendung mit hohen Anforderungen und einer Größenordnung von mehreren Millionen Benutzern pro Monat sowie mit Daten im Terabyte-Bereich dar. Auf dieser Nutzungsebene mit hoher Leistung müssen Web-Apps im Premium-Tarif in mehreren Regionen bereitgestellt werden, und der Einsatz von Traffic Manager ist erforderlich. Die Daten umfassen Folgendes: Speicher, Datenbanken und CDN (konfiguriert für Daten im Terabyte-Bereich).

Nächste Schritte