Editar

Partilhar via


Front-end de comércio eletrónico

ID Externa do Microsoft Entra
Azure Content Delivery Network
Azure AI services
Azure Traffic Manager
Azure App Service

Este cenário de exemplo orienta você por uma implementação de um front-end de comércio eletrônico usando ferramentas de plataforma como serviço (PaaS) do Azure.

Arquitetura

Diagrama que mostra uma arquitetura de cenário de exemplo para um aplicativo de comércio eletrônico.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

Este cenário abrange a compra de tíquetes de um site de comércio eletrônico, os dados fluem através do cenário da seguinte maneira:

  1. O Azure Traffic Manager encaminha a solicitação de um usuário para o site de comércio eletrônico hospedado no Serviço de Aplicativo do Azure.
  2. A CDN do Azure fornece imagens estáticas e conteúdo ao usuário.
  3. O usuário entra no aplicativo por meio de um locatário B2C do Azure Ative Directory.
  4. O usuário procura concertos usando a Pesquisa do Azure.
  5. O site extrai detalhes do concerto do Banco de Dados SQL do Azure.
  6. Web site refere-se a imagens de bilhetes comprados no Armazenamento de Blobs.
  7. Os resultados da consulta ao banco de dados são armazenados em cache no Cache Redis do Azure para melhorar o desempenho.
  8. O usuário envia pedidos de ingressos e avaliações de shows, que são colocados na fila.
  9. O Azure Functions processa o pagamento de pedidos e revisões de concertos.
  10. Os Serviços Cognitivos fornecem uma análise da revisão do concerto para determinar o sentimento (positivo ou negativo).
  11. O Application Insights fornece métricas de desempenho para monitorar a integridade do aplicativo Web.

Componentes

  • A CDN do Azure fornece conteúdo estático e armazenado em cache de locais próximos aos usuários para reduzir a latência.
  • O Azure Traffic Manager controla a distribuição do tráfego de usuários para pontos de extremidade de serviço em diferentes regiões do Azure.
  • Serviços de Aplicações - As Aplicações Web alojam aplicações Web que permitem o dimensionamento automático e a alta disponibilidade sem ter de gerir a infraestrutura.
  • O Azure Ative Directory B2C é um serviço de gerenciamento de identidades que permite a personalização e o controle sobre como os clientes se inscrevem, entram e gerenciam seus perfis em um aplicativo.
  • As filas de armazenamento armazenam um grande número de mensagens de fila que podem ser acessadas por um aplicativo.
  • As funções são opções de computação sem servidor que permitem que os aplicativos sejam executados sob demanda sem a necessidade de gerenciar a infraestrutura.
  • Serviços Cognitivos - A Análise de Sentimento usa APIs de aprendizado de máquina e permite que os desenvolvedores adicionem facilmente recursos inteligentes – como deteção de emoção e vídeo, reconhecimento facial, de fala e visão e compreensão de fala e linguagem – em aplicativos.
  • O Azure Search é uma solução de nuvem de pesquisa como serviço que fornece uma experiência de pesquisa avançada sobre conteúdo privado e heterogêneo em aplicativos Web, móveis e corporativos.
  • Os Blobs de Armazenamento são otimizados para armazenar grandes quantidades de dados não estruturados, como texto ou dados binários .
  • O Cache Redis do Azure melhora o desempenho e a escalabilidade de sistemas que dependem fortemente de armazenamentos de dados back-end, copiando temporariamente os dados acessados com frequência para um armazenamento rápido localizado próximo ao aplicativo.
  • O Banco de Dados SQL do Azure é um serviço gerenciado de banco de dados relacional de uso geral que dá suporte a estruturas, como dados relacionais, JSON, espacial e XML.
  • O Application Insights foi projetado para ajudá-lo a melhorar continuamente o desempenho e a usabilidade, detetando automaticamente anomalias de desempenho por meio de ferramentas de análise integradas para ajudar a entender o que os usuários fazem com um aplicativo.

Alternativas

Muitas outras tecnologias estão disponíveis para criar um aplicativo voltado para o cliente focado no comércio eletrônico em escala. Essas tecnologias abrangem tanto o front-end do aplicativo, quanto a camada de dados.

Outras opções para a camada da Web e funções incluem:

  • Serviço Kubernetes do Azure - Uma plataforma para criar e implantar soluções baseadas em contêiner que podem ser usadas como uma implementação de uma arquitetura de microsserviços. A plataforma proporciona a agilidade de diferentes componentes da aplicação, para escalar de forma independente, sob demanda.
  • Instâncias de Contêiner do Azure - Uma maneira de implantar e executar rapidamente contêineres com um ciclo de vida curto. Os contêineres aqui são implantados para executar um trabalho de processamento rápido, como processar uma mensagem ou executar um cálculo, e depois desprovisionados assim que forem concluídos.
  • O Service Bus pode ser usado no lugar de uma fila de armazenamento.

Outras opções para a camada de dados incluem:

  • Azure Cosmos DB: o banco de dados multimodelo distribuído globalmente da Microsoft. Este serviço fornece uma plataforma para executar outros modelos de dados, como MongoDB, Cassandra, dados gráficos ou armazenamento de tabelas simples.

Detalhes do cenário

Muitos sites de comércio eletrônico enfrentam sazonalidade e variabilidade de tráfego ao longo do tempo. Quando a demanda por seus produtos ou serviços decola, seja de forma previsível ou imprevisível, o uso de ferramentas PaaS permitirá que você lide com mais clientes e mais transações automaticamente. Além disso, esse cenário aproveita a economia da nuvem pagando apenas pela capacidade usada.

Este documento irá ajudá-lo a aprender sobre vários componentes de PaaS do Azure e considerações usadas para reunir para implantar um aplicativo de comércio eletrônico de exemplo, o Relecloud Concerts, uma plataforma de ingressos de concertos online.

Potenciais casos de utilização

Esta solução é otimizada para o setor de varejo. Outros casos de uso relevantes incluem:

  • Criação de um aplicativo que precisa de escala elástica para lidar com picos de usuários em momentos diferentes.
  • Criar uma aplicação concebida para operar com alta disponibilidade em diferentes regiões do Azure em todo o mundo.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

Disponibilidade

  • Considere o uso dos padrões de design típicos para disponibilidade ao criar seu aplicativo na nuvem.
  • Analise as considerações de disponibilidade na arquitetura de referência do aplicativo Web do Serviço de Aplicativo apropriada
  • Para obter considerações adicionais sobre disponibilidade, consulte a lista de verificação de disponibilidade no Centro de Arquitetura do Azure.

Escalabilidade

  • Ao criar um aplicativo em nuvem, esteja ciente dos padrões de design típicos para escalabilidade.
  • Analise as considerações de escalabilidade na arquitetura de referência do aplicativo Web do Serviço de Aplicativo apropriada
  • Para outros tópicos de escalabilidade, consulte a lista de verificação de eficiência de desempenho disponível no Centro de Arquitetura do Azure.

Segurança

A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.

  • Considere o uso dos padrões de design típicos para segurança, quando apropriado.
  • Analise as considerações de segurança na arquitetura de referência apropriada do aplicativo Web do Serviço de Aplicativo.
  • Considere seguir um processo de ciclo de vida de desenvolvimento seguro para ajudar os desenvolvedores a criar software mais seguro e atender aos requisitos de conformidade de segurança, reduzindo os custos de desenvolvimento.
  • Analise a arquitetura do blueprint para conformidade com o Azure PCI DSS.

Resiliência

Otimização de custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

Explore o custo de execução deste cenário, todos os serviços são pré-configurados na calculadora de custos. Para ver como o preço mudaria para seu caso de uso específico, altere as variáveis apropriadas para corresponder ao tráfego esperado.

Fornecemos três exemplos de perfis de custo com base na quantidade de tráfego que você espera obter:

  • Pequeno: este exemplo de definição de preço representa os componentes necessários para criar o para uma instância de nível mínimo de produção. Aqui estamos assumindo um pequeno número de usuários, numerando apenas em alguns milhares por mês. O aplicativo está usando uma única instância de um aplicativo Web padrão que será suficiente para habilitar o dimensionamento automático. Os outros componentes são dimensionados para uma camada básica que permitirá uma quantidade mínima de custo, mas ainda garante que haja suporte a contrato de nível de serviço (SLA) e capacidade suficiente para lidar com uma carga de trabalho de nível de produção.
  • Médio: este exemplo de definição de preço representa os componentes indicativos de uma implantação de tamanho moderado. Aqui estimamos aproximadamente 100.000 usuários usando o sistema ao longo de um mês. O tráfego esperado é tratado em uma única instância de serviço de aplicativo com uma camada padrão moderada. Além disso, níveis moderados de serviços cognitivos e de pesquisa são adicionados à calculadora.
  • Grande: este exemplo de definição de preço representa um aplicativo destinado a alta escala, da ordem de milhões de usuários por mês, movendo terabytes de dados. Neste nível de uso de alto desempenho, são necessários aplicativos Web de camada premium implantados em várias regiões lideradas pelo gerenciador de tráfego. Os dados consistem no seguinte: armazenamento, bancos de dados e CDN são configurados para terabytes de dados.

Implementar este cenário

Para implantar esse cenário, você pode seguir este tutorial passo a passo demonstrando como implantar manualmente cada componente. Este tutorial também fornece um aplicativo de exemplo .NET que executa um aplicativo simples de compra de tíquetes. Além disso, há um modelo do Gerenciador de Recursos para automatizar a implantação da maioria dos recursos do Azure.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

  • Chris Mason - Brasil | Gerente Sênior, Engenharia de Software

Próximos passos