Fronton handlu elektronicznego na platformie AzureAn e-commerce front end on Azure

Ten przykładowy scenariusz przeprowadzi Cię przez implementację frontonu handlu elektronicznego przy użyciu narzędzi platformy Azure jako usługi (PaaS).This example scenario walks you through an implementation of an e-commerce front end using Azure platform as a service (PaaS) tools. Wiele witryn sieci Web handlu elektronicznego to sezonowości i zmienność ruchu w czasie.Many e-commerce websites face seasonality and traffic variability over time. Gdy zapotrzebowanie na produkty lub usługi jest wyłączone, niezależnie od tego, czy są przewidywalne lub nieprzewidywalne, korzystanie z narzędzi PaaS pozwoli na automatyczne obsłużenie większej liczby klientów i większej liczby transakcji.When demand for your products or services takes off, whether predictably or unpredictably, using PaaS tools will allow you to handle more customers and more transactions automatically. Ponadto ten scenariusz wykorzystuje ekonomię w chmurze, płacąc tylko za używane pojemności.Additionally, this scenario takes advantage of cloud economics by paying only for the capacity you use.

Ten dokument pomoże Ci poznać różne składniki i zagadnienia związane z usługą Azure PaaS służące do wspólnego wdrażania przykładowej aplikacji do obsługi handlu elektronicznego, Relecloud koncertów , wielodostępnej platformy do obsługi biletów w trybie online.This document will help you will learn about various Azure PaaS components and considerations used to bring together to deploy a sample e-commerce application, Relecloud Concerts , an online concert ticketing platform.

Odpowiednie przypadki użyciaRelevant use cases

Inne odpowiednie przypadki użycia obejmują:Other relevant use cases include:

  • Kompilowanie aplikacji, która wymaga elastycznego skalowania do obsługi obciążeń użytkowników w różnym czasie.Building an application that needs elastic scale to handle bursts of users at different times.
  • Tworzenie aplikacji, która została zaprojektowana pod kątem wysokiej dostępności w różnych regionach świadczenia usługi Azure na całym świecie.Building an application that is designed to operate at high availability in different Azure regions around the world.

ArchitekturaArchitecture

Przykładowa architektura scenariusza dla aplikacji handlu elektronicznego

Ten scenariusz dotyczy kupowania biletów z witryny handlu elektronicznego, ponieważ dane są przepływane przez scenariusz w następujący sposób:This scenario covers purchasing tickets from an e-commerce site, the data flows through the scenario as follows:

  1. Usługa Azure Traffic Manager kieruje żądanie użytkownika do witryny handlu elektronicznego hostowanej w Azure App Service.Azure Traffic Manager routes a user's request to the e-commerce site hosted in Azure App Service.
  2. Azure CDN obsługuje statyczne obrazy i zawartość dla użytkownika.Azure CDN serves static images and content to the user.
  3. Użytkownik loguje się do aplikacji za pomocą dzierżawy Azure Active Directory B2C.User signs in to the application through an Azure Active Directory B2C tenant.
  4. Użytkownik wyszukuje koncertów przy użyciu Azure Search.User searches for concerts using Azure Search.
  5. Witryna sieci Web pobiera ze wspólnych informacji szczegóły dotyczące Azure SQL Database.Web site pulls concert details from Azure SQL Database.
  6. Witryna sieci Web odwołuje się do zakupionych obrazów biletów w Blob Storage.Web site refers to purchased ticket images in Blob Storage.
  7. Wyniki zapytania bazy danych są buforowane w usłudze Azure cache for Redis w celu zwiększenia wydajności.Database query results are cached in Azure Cache for Redis to improve performance.
  8. Użytkownik przesyła zamówienia biletów i wspólne przeglądy, które są umieszczane w kolejce.User submits ticket orders and concert reviews, which are placed in the queue.
  9. Azure Functions procesy z płatnościami i uzgodnieniami.Azure Functions processes order payment and concert reviews.
  10. Cognitive Services zapewnia analizę uzgodnionego przeglądu, aby określić tonacji (pozytywna lub negatywna).Cognitive Services provides an analysis of the concert review to determine the sentiment (positive or negative).
  11. Application Insights zawiera metryki wydajności służące do monitorowania kondycji aplikacji sieci Web.Application Insights provides performance metrics for monitoring the health of the web application.

SkładnikiComponents

  • Azure CDN udostępnia statyczną, buforowaną zawartość z lokalizacji blisko użytkowników w celu zmniejszenia opóźnień.Azure CDN delivers static, cached content from locations close to users to reduce latency.
  • Usługa Azure Traffic Manager steruje dystrybucją ruchu użytkowników dla punktów końcowych usługi w różnych regionach platformy Azure.Azure Traffic Manager controls the distribution of user traffic for service endpoints in different Azure regions.
  • App Services — Web Apps obsługuje aplikacje sieci Web, umożliwiając automatyczne skalowanie i wysoką dostępność bez konieczności zarządzania infrastrukturą.App Services - Web Apps hosts web applications allowing autoscale and high availability without having to manage infrastructure.
  • Azure Active Directory-B2C to usługa zarządzania tożsamościami, która umożliwia dostosowywanie i kontrolę nad sposobem tworzenia kont i logowania klientów oraz zarządzania ich profilami w aplikacji.Azure Active Directory - B2C is an identity management service that enables customization and control over how customers sign up, sign in, and manage their profiles in an application.
  • Kolejki magazynu przechowuje dużą liczbę komunikatów w kolejce, do których można uzyskać dostęp za pomocą aplikacji.Storage Queues stores large numbers of queue messages that can be accessed by an application.
  • Funkcje to bezserwerowe Opcje obliczeniowe, które umożliwiają uruchamianie aplikacji na żądanie bez konieczności zarządzania infrastrukturą.Functions are serverless compute options that allow applications to run on-demand without having to manage infrastructure.
  • Cognitive Services-analiza tonacji używa interfejsów API uczenia maszynowego i umożliwia deweloperom łatwe dodawanie inteligentnych funkcji — takich jak rozpoznawania emocji i wykrywanie wideo; rozpoznawanie twarzy, mowy i wzrokowe; i rozpoznawanie mowy i języka — w aplikacjach.Cognitive Services - Sentiment Analysis uses machine learning APIs and enables developers to easily add intelligent features – such as emotion and video detection; facial, speech, and vision recognition; and speech and language understanding – into applications.
  • Azure Search to rozwiązanie w chmurze typu "wyszukiwanie jako usługa", które oferuje bogate środowisko wyszukiwania w porównaniu z prywatną, niejednorodną zawartością w aplikacjach sieci Web, mobilnych i firmowych.Azure Search is a search-as-a-service cloud solution that provides a rich search experience over private, heterogeneous content in web, mobile, and enterprise applications.
  • Obiekty blob magazynu są zoptymalizowane pod kątem przechowywania dużych ilości danych bez struktury, takich jak dane tekstowe lub binarne.Storage Blobs are optimized to store large amounts of unstructured data, such as text or binary data.
  • Pamięć podręczna systemu Azure dla usługi Redis zwiększa wydajność i skalowalność systemów, które są oparte na zapleczu w magazynach danych wewnętrznych przez tymczasowe kopiowanie często używanych danych do szybkiego magazynu znajdującego się w pobliżu aplikacji.Azure Cache for Redis improves the performance and scalability of systems that rely heavily on back-end data stores by temporarily copying frequently accessed data to fast storage located close to the application.
  • SQL Database to usługa zarządzana relacyjnej bazy danych ogólnego przeznaczenia w Microsoft Azure, która obsługuje struktury, takie jak dane relacyjne, JSON, przestrzenne i XML.SQL Database is a general-purpose relational database managed service in Microsoft Azure that supports structures such as relational data, JSON, spatial, and XML.
  • Application Insights został zaprojektowany z myślą o ciągle ulepszaniu wydajności i użyteczności dzięki automatycznym wykrywaniu anomalii wydajności za pomocą wbudowanych narzędzi analitycznych, które ułatwiają zrozumienie, co użytkownicy robią z aplikacją.Application Insights is designed to help you continuously improve performance and usability by automatically detecting performance anomalies through built-in analytics tools to help understand what users do with an app.

AlternatywyAlternatives

Wiele innych technologii jest dostępnych do tworzenia aplikacji na poziomie klienta skoncentrowanej na handlu elektronicznym na dużą skalę.Many other technologies are available for building a customer facing application focused on e-commerce at scale. Obejmują one zarówno fronton aplikacji, jak i warstwę danych.These cover both the front end of the application as well as the data tier.

Inne opcje warstwy sieci Web i funkcji obejmują:Other options for the web tier and functions include:

  • Service Fabric — platforma koncentruje się na tworzeniu składników rozproszonych, które mogą korzystać z wdrażania i uruchamiania w klastrze z wysokim poziomem kontroli.Service Fabric - A platform focused around building distributed components that benefit from being deployed and run across a cluster with a high degree of control. Service Fabric można również używać do hostowania kontenerów.Service Fabric can also be used to host containers.
  • Usługa Azure Kubernetes — platforma do kompilowania i wdrażania rozwiązań opartych na kontenerach, które mogą być używane jako jedna implementacja architektury mikrousług.Azure Kubernetes Service - A platform for building and deploying container-based solutions that can be used as one implementation of a microservices architecture. Umożliwia to elastyczność różnych składników aplikacji, które mogą być skalowane niezależnie na żądanie.This allows for agility of different components of the application to be able to scale independently on demand.
  • Azure Container Instances — sposób szybkiego wdrażania i uruchamiania kontenerów z krótkim cyklem życia.Azure Container Instances - A way of quickly deploying and running containers with a short lifecycle. Kontenery w tym miejscu są wdrażane w celu uruchomienia zadania szybkiego przetwarzania, takiego jak przetwarzanie komunikatu lub wykonanie obliczeń, a następnie anulowanie aprowizacji po ich zakończeniu.Containers here are deployed to run a quick processing job such as processing a message or performing a calculation and then deprovisioned as soon as they are complete.
  • Service Bus można użyć zamiast kolejki magazynu.Service Bus could be used in place of a Storage Queue.

Inne opcje warstwy danych obejmują:Other options for the data tier include:

  • Cosmos DB: globalnie dystrybuowana, wielomodelowa baza danych firmy Microsoft.Cosmos DB: Microsoft's globally distributed, multi-model database. Ta usługa udostępnia platformę do uruchamiania innych modeli danych, takich jak Mongo DB, Cassandra, dane grafu lub prosta usługa Table Storage.This service provides a platform to run other data models such as Mongo DB, Cassandra, Graph data, or simple table storage.

Zagadnienia do rozważeniaConsiderations

DostępnośćAvailability

SkalowalnośćScalability

ZabezpieczeniaSecurity

OdpornośćResiliency

Wdróż scenariuszDeploy the scenario

Aby wdrożyć ten scenariusz, możesz wykonać ten samouczek krok po kroku pokazujący, jak ręcznie wdrożyć każdy składnik.To deploy this scenario, you can follow this step-by-step tutorial demonstrating how to manually deploy each component. Ten samouczek zawiera również przykładową aplikację platformy .NET, która uruchamia prostą aplikację do kupowania biletów.This tutorial also provides a .NET sample application that runs a simple ticket purchasing application. Ponadto istnieje szablon Menedżer zasobów służący do automatyzowania wdrożenia większości zasobów platformy Azure.Additionally, there is a Resource Manager template to automate the deployment of most of the Azure resources.

CennikPricing

Poznaj koszt uruchomienia tego scenariusza. wszystkie usługi są wstępnie skonfigurowane w Kalkulator kosztów.Explore the cost of running this scenario, all of the services are pre-configured in the cost calculator. Aby zobaczyć, jak ceny byłyby zmieniane dla określonego przypadku użycia, Zmień odpowiednie zmienne, aby dopasować oczekiwany ruch.To see how the pricing would change for your particular use case change the appropriate variables to match your expected traffic.

Podano trzy przykładowe profile kosztów na podstawie ilości ruchu, który można uzyskać:We have provided three sample cost profiles based on amount of traffic you expect to get:

  • Mały: Ten przykład cen reprezentuje składniki niezbędne do skompilowania dla wystąpienia minimalnego poziomu produkcyjnego.Small: This pricing example represents the components necessary to build the out for a minimum production level instance. W tym miejscu przyjęto założenie, że liczba użytkowników jest niewielka.Here we are assuming a small number of users, numbering only in a few thousand per month. Aplikacja używa pojedynczego wystąpienia standardowej aplikacji sieci Web, która będzie wystarczająca do włączenia skalowania automatycznego.The app is using a single instance of a standard web app that will be enough to enable autoscaling. Inne składniki są skalowane do warstwy Podstawowa, która umożliwi użycie minimalnej ilości kosztów, ale nadal zapewnia obsługę umów SLA i wystarczającej pojemności do obsługi obciążenia na poziomie produkcyjnym.The other components are each scaled to a basic tier that will allow for a minimum amount of cost but still ensure that there is SLA support and enough capacity to handle a production level workload.
  • Średni: Ten przykład cen przedstawia składniki wskazujące na wdrożenie umiarkowanego rozmiaru.Medium: This pricing example represents the components indicative of a moderate size deployment. Tutaj szacujemy około 100 000 użytkowników przy użyciu systemu w ciągu miesiąca.Here we estimate approximately 100,000 users using the system over the course of a month. Oczekiwany ruch jest obsługiwany w jednym wystąpieniu usługi App Service z umiarkowaną warstwą Standard.The expected traffic is handled in a single app service instance with a moderate standard tier. Ponadto do kalkulatora są dodawane umiarkowane warstwy usług poznawczych i wyszukiwania.Additionally, moderate tiers of cognitive and search services are added to the calculator.
  • Duże: Ten przykład cen reprezentuje aplikację, która jest przeznaczona dla dużej skali, w kolejności milionów użytkowników miesięcznie, którzy przenosiją terabajty danych.Large: This pricing example represents an application meant for high scale, at the order of millions of users per month moving terabytes of data. Na tym poziomie korzystania z wysokiej wydajności aplikacji sieci Web w warstwie Premium wdrożonych w wielu regionach, które zostały objęte przez usługę Traffic Manager, jest wymagana.At this level of usage high performance, premium tier web apps deployed in multiple regions fronted by traffic manager is required. Dane składają się z następujących elementów: magazynu, baz danych i sieci CDN, które są skonfigurowane dla terabajtów danych.Data consists of the following: storage, databases, and CDN, are configured for terabytes of data.