Um front-end de publicação na comércio eletrônico ' no AzureAn e-commerce front end on Azure

Neste cenário de exemplo orienta-o através de uma implementação de um comércio eletrônico front-end da plataforma do Azure a utilizar como um ferramentas de serviço (PaaS).This example scenario walks you through an implementation of an e-commerce front end using Azure platform as a service (PaaS) tools. Muitos sites de comércio eletrônico enfrentam variabilidade sazonalidade e o tráfego ao longo do tempo.Many e-commerce websites face seasonality and traffic variability over time. Quando a procura dos seus produtos ou serviços disparar o tempo limite, se forma previsível ou imprevisível, usando ferramentas de PaaS permitirá lidar com mais clientes e com mais transações automaticamente.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. Além disso, este cenário tira partido da economia da cloud, pagando apenas a capacidade que utiliza.Additionally, this scenario takes advantage of cloud economics by paying only for the capacity you use.

Este documento ajuda-o ficará a saber sobre os vários componentes PaaS do Azure e considerações usadas para reproduzir em conjunto para implementar uma aplicação de comércio eletrônico de amostra Relecloud concertos, um plataforma de emissão de permissões um concerto 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.

Casos de utilização relevantesRelevant use cases

Outros casos de utilização relevantes incluem:Other relevant use cases include:

  • Criar um aplicativo que precisa de dimensionamento flexível para lidar com picos de usuários em momentos diferentes.Building an application that needs elastic scale to handle bursts of users at different times.
  • Criar um aplicativo que foi concebido para operar no momento da disponibilidade elevada em diferentes regiões do Azure em todo o mundo.Building an application that is designed to operate at high availability in different Azure regions around the world.

ArquiteturaArchitecture

Arquitetura do cenário de exemplo para uma aplicação de comércio eletrónico

Este cenário aborda os pedidos de compras de um site de comércio eletrônico, os fluxos de dados do cenário da seguinte forma:This scenario covers purchasing tickets from an e-commerce site, the data flows through the scenario as follows:

  1. O Gestor de tráfego do Azure encaminha o pedido de um utilizador para o site de comércio eletrônico alojado no serviço de aplicações do Azure.Azure Traffic Manager routes a user's request to the e-commerce site hosted in Azure App Service.
  2. A CDN do Azure serve imagens estáticas e de conteúdo ao usuário.Azure CDN serves static images and content to the user.
  3. Utilizador inicia sessão para a aplicação através de um inquilino do Azure Active Directory B2C.User signs in to the application through an Azure Active Directory B2C tenant.
  4. Utilizador procura concertos com o Azure Search.User searches for concerts using Azure Search.
  5. Web site obtém os detalhes de conjunto de base de dados do Azure SQL.Web site pulls concert details from Azure SQL Database.
  6. Web site de suporte de dados refere-se para imagens de pedido de suporte adquirida no armazenamento de Blobs.Web site refers to purchased ticket images in Blob Storage.
  7. Os resultados da consulta de base de dados são armazenados em cache na Cache de Redis do Azure para um melhor desempenho.Database query results are cached in Azure Redis Cache for better performance.
  8. Utilizador submete pedidos de permissão e revisões do conjunto, que são colocadas na fila.User submits ticket orders and concert reviews, which are placed in the queue.
  9. Pagamento de ordem de processos de funções do Azure e revisões do conjunto.Azure Functions processes order payment and concert reviews.
  10. Os serviços cognitivos fornecem uma análise da revisão de conjunto para determinar o sentimento (positivo ou negativo).Cognitive services provide an analysis of the concert review to determine the sentiment (positive or negative).
  11. O Application Insights fornece métricas de desempenho para monitorizar o estado de funcionamento da aplicação web.Application Insights provides performance metrics for monitoring the health of the web application.

ComponentesComponents

  • [A CDN do Azure] docs-cdn fornece conteúdo estático em cache a partir de locais próximos aos utilizadores para reduzir a latência.Azure CDN delivers static, cached content from locations close to users to reduce latency.
  • [O Gestor de tráfego do Azure] docs-traffic-manager controla a distribuição do tráfego de utilizador para pontos finais de serviço em diferentes regiões do Azure.Azure Traffic Manager controls the distribution of user traffic for service endpoints in different Azure regions.
  • [Serviços de aplicações - aplicações Web] docs-webapps que permite o dimensionamento automático e elevada disponibilidade sem ter de gerir a infraestrutura de aplicativos da web de anfitriões.App Services - Web Apps hosts web applications allowing autoscale and high availability without having to manage infrastructure.
  • [O Azure Active Directory - B2C] docs-b2c é um serviço de gestão de identidades que permite a personalização e controlo sobre como os clientes Inscreva-se, iniciarem sessão e gerem os seus perfis num aplicativo.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.
  • [Filas de armazenamento] docs-storage-queues armazenam grandes quantidades de mensagens em fila que podem ser acedidas por uma aplicação.Storage Queues stores large numbers of queue messages that can be accessed by an application.
  • [As funções] docs-functions são opções de computação sem servidor que permitem que as aplicações sejam executadas a pedido sem ter de gerir infraestrutura.Functions are serverless compute options that allow applications to run on-demand without having to manage infrastructure.
  • [Serviços cognitivos - análise de sentimentos] docs-sentiment-analysis utiliza aprendizagem automática APIs e permite que os desenvolvedores adicionar facilmente funcionalidades inteligentes – como emoções e vídeo deteção; facial, voz e reconhecimento de imagem digitalizada; e conversão de voz e compreensão de idiomas – nas aplicações.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.
  • [O Azure Search] docs-search é uma solução de pesquisa-como-serviço cloud que fornece uma experiência de pesquisa avançadas sobre o conteúdo privado e heterogéneo em aplicativos web, móveis e empresariais.Azure Search is a search-as-a-service cloud solution that provides a rich search experience over private, heterogenous content in web, mobile, and enterprise applications.
  • [Os Blobs de armazenamento] docs-storage-blobs estão otimizados para armazenar grandes quantidades de dados não estruturados, como texto ou dados binários.Storage Blobs are optimized to store large amounts of unstructured data, such as text or binary data.
  • [Cache de redis] docs-redis-cache melhora o desempenho e escalabilidade de sistemas que dependem muito dos arquivos de dados de back-end copiando temporariamente os dados acedidos com frequência para armazenamento rápido localizado perto do aplicativo.Redis Cache 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.
  • [Base de dados SQL] docs-sql-database é um serviço para fins gerais base de dados relacional gerida no Microsoft Azure que suporta estruturas como dados relacionais, JSON, espaciais e 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.
  • [O Application Insights] docs-application-insights foi concebido para ajudar a melhorar continuamente o desempenho e a usabilidade ao detetar automaticamente anomalias de desempenho por meio de ferramentas de análise incorporada para o ajudar a compreender o que os utilizadores fazem com uma aplicação.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.

AlternativasAlternatives

Muitas outras tecnologias estão disponíveis para a criação de um cliente com acesso à aplicação se concentrou em comércio eletrônico em escala.Many other technologies are available for building a customer facing application focused on e-commerce at scale. Eles abrangem o front-end de aplicação, bem como a camada de dados.These cover both the front end of the application as well as the data tier.

Outras opções para a camada web e as funções incluem:Other options for the web tier and functions include:

  • [Service Fabric] docs-service-fabric -uma plataforma com foco em torno da criação de componentes distribuídos que tiram partido de que está a ser implementado e executado num cluster com um alto grau de controle.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 também pode ser utilizado para alojar contentores.Service Fabric can also be used to host containers.
  • [Serviço Kubernetes do Azure] docs-kubernetes-service -uma plataforma para criar e implementar soluções baseadas em contentores, que podem ser utilizadas como uma implementação de uma arquitetura de microsserviços.Azure Kubernetes Service - A platform for building and deploying container-based solutions that can be used as one implementation of a microservices architecture. Isso possibilita a agilidade dos diferentes componentes da aplicação para ser capaz de dimensionar de forma independente a pedido.This allows for agility of different components of the application to be able to scale independently on demand.
  • [O Azure Container Instances] docs-container-instances -uma maneira de implementar e executar contentores com um ciclo de vida curto rapidamente.Azure Container Instances - A way of quickly deploying and running containers with a short lifecycle. Aqui os contentores são implementados para executar uma tarefa de processamento rápido como processar uma mensagem ou executando um cálculo e, em seguida, desaprovisionados quando eles estiverem concluídos.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.
  • [Do Service Bus] service-bus poderia ser usado no lugar de uma fila de armazenamento.Service Bus could be used in place of a Storage Queue.

Outras opções para a camada de dados incluem:Other options for the data tier include:

  • O cosmos DB: Com múltiplos modelo distribuída globalmente, base de dados da Microsoft.Cosmos DB: Microsoft's globally distributed, multi-model database. Este serviço fornece uma plataforma para executar outros modelos de dados, como o Mongo DB, Cassandra, dados do gráfico ou armazenamento de tabelas simples.This service provides a platform to run other data models such as Mongo DB, Cassandra, Graph data, or simple table storage.

ConsideraçõesConsiderations

DisponibilidadeAvailability

EscalabilidadeScalability

SegurançaSecurity

ResiliênciaResiliency

  • Considere a tirar partido do [padrão de disjuntor automático] circuit-breaker para fornecer o tratamento de erros de uma parte do aplicativo não deve estar disponível.Consider leveraging the circuit breaker pattern to provide graceful error handling should one part of the application not be available.
  • Reveja os [padrões de design típico para resiliência] design-patterns-resiliency e considere a implementação deles quando apropriado.Review the typical design patterns for resiliency and consider implementing these where appropriate.
  • Pode encontrar diversas [práticas recomendadas para o serviço de aplicações] resiliency-app-service no Centro de arquitetura do Azure.You can find a number of recommended practices for App Service in the Azure Architecture Center.
  • Considere a utilização de Active Directory [georreplicação] sql-geo-replication para a camada de dados e [geograficamente redundante] storage-geo-redudancy armazenamento de imagens e filas.Consider using active geo-replication for the data tier and geo-redundant storage for images and queues.
  • Para ver um debate mais aprofundado sobre resiliência, consulte o artigo relevante no Centro de arquitetura do Azure.For a deeper discussion on resiliency, see the relevant article in the Azure Architecture Center.

Implementar o cenárioDeploy the scenario

Para implementar este cenário, pode seguir esta [tutorial passo a passo] end-to-end-walkthrough que demonstram como implementar manualmente cada componente.To deploy this scenario, you can follow this step-by-step tutorial demonstrating how to manually deploy each component. Este tutorial também fornece um aplicativo de exemplo .NET que executa um simples aplicativo de compra de bilhetes.This tutorial also provides a .NET sample application that runs a simple ticket purchasing application. Além disso, existe um modelo do Resource Manager para automatizar a implantação da maioria dos recursos do Azure.Additionally, there is a Resource Manager template to automate the deployment of most of the Azure resources.

PreçosPricing

Explore o custo de executar este cenário, todos os serviços são previamente configurados na Calculadora de custos.Explore the cost of running this scenario, all of the services are pre-configured in the cost calculator. Para ver como os preços alteraria para a sua alteração de casos de uso específico as variáveis apropriadas de acordo com seu tráfego esperado.To see how the pricing would change for your particular use case change the appropriate variables to match your expected traffic.

Nós fornecemos três perfis de exemplo de custos com base na quantidade de tráfego que pode esperar:We have provided three sample cost profiles based on amount of traffic you expect to get:

  • Pequenas: Este exemplo de preços representa os componentes necessários para criar o fora de uma instância do nível mínimo de produção.Small: This pricing example represents the components necessary to build the out for a minimum production level instance. Aqui estamos supondo um pequeno número de utilizadores, atingindo apenas alguns milhares por mês.Here we are assuming a small number of users, numbering only in a few thousand per month. A aplicação está a utilizar uma única instância de uma aplicação web padrão que serão suficientes para ativar o dimensionamento automático.The app is using a single instance of a standard web app that will be enough to enable autoscaling. Cada um dos outros componentes é dimensionado para um escalão básico que irá permitir uma quantidade mínima de custo, mas ainda Certifique-se de que existe suporte de SLA e capacidade suficiente para processar uma carga de trabalho de nível de produção.Each of the other components are 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.
  • Médio: Este exemplo de preços representa os componentes de indicador de uma implementação de tamanho moderado.Medium: This pricing example represents the components indicative of a moderate size deployment. Aqui, podemos estimar aproximadamente 100 000 utilizadores, usando o sistema ao longo de um mês.Here we estimate approximately 100,000 users using the system over the course of a month. O tráfego esperado é tratado numa instância de serviço de aplicação único com o escalão standard moderado.The expected traffic is handled in a single app service instance with a moderate standard tier. Além disso, moderar as camadas de cognitivos e pesquisar os serviços são adicionados à Calculadora.Additionally, moderate tiers of cognitive and search services are added to the calculator.
  • Grande: Este exemplo de preços representa um aplicativo que se destina à escala elevada, com a ordem dos milhões de utilizadores por mês mover terabytes de dados.Large: This pricing example represents an application meant for high scale, at the order of millions of users per month moving terabytes of data. Nesse nível de desempenho de alta utilização, as aplicações de web de escalão premium implementadas em várias regiões apoiados pelo Gestor de tráfego é necessário.At this level of usage high performance, premium tier web apps deployed in multiple regions fronted by traffic manager is required. Dados consiste no seguinte: armazenamento, bases de dados e CDN, estão configurados para terabytes de dados.Data consists of the following: storage, databases, and CDN, are configured for terabytes of data.