Front-end de comércio eletrônico

ID externo do Microsoft Entra
Rede de Distribuição de Conteúdo do Azure
Serviços de IA do Azure
Gerenciador de Tráfego do Azure
Serviço de aplicativo do Azure

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

Arquitetura

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

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

Este cenário aborda tíquetes de compras de um site de comércio eletrônico, o fluxo de dados neste ocorre da seguinte maneira:

  1. O Gerenciador de Tráfego do Azure encaminha uma solicitação do usuário para o site de comércio eletrônico hospedado no Serviço de Aplicativo do Azure.
  2. A CDN do Azure serve imagens estáticas e conteúdo para o usuário.
  3. O usuário entra no aplicativo por meio de um locatário do Azure Active Directory B2C.
  4. O usuário procura por shows usando o Azure Search.
  5. O site recebe detalhes do show usando o Banco de Dados SQL do Azure.
  6. O site se refere às imagens do tíquete adquirido no Armazenamento de Blobs.
  7. Os resultados da consulta ao banco de dados são armazenados em cache no Cache do Azure para Redis para melhor desempenho.
  8. O usuário envia pedidos de tíquete e avaliações do show que são colocados na fila.
  9. O Azure Functions processa o pagamento da ordem e as avaliações do show.
  10. Os Serviços Cognitivos fornecem uma análise da avaliação do show 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 entrega o conteúdo estático, armazenado em cache de locais próximos aos usuários para reduzir a latência.
  • O Gerenciador de Tráfego do Azure controla a distribuição de tráfego do usuário para pontos de extremidade de serviço em diferentes regiões do Azure.
  • Os Serviços de Aplicativos - Aplicativos Web hospedam os aplicativos Web, permitindo o dimensionamento automático e alta disponibilidade sem a necessidade de gerenciar a infraestrutura.
  • O Azure Active Directory B2C é um serviço de gerenciamento de identidade que permite personalização e 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 da fila que podem ser acessados por um aplicativo.
  • As Funções são opções de computação sem servidor que permitem que aplicativos sejam executados sob demanda sem a necessidade de gerenciar a infraestrutura.
  • Os Serviços Cognitivos – Análise de Sentimento utilizam APIs de machine learning e permitem aos desenvolvedores adicionar facilmente recursos inteligentes – como emoção e detecção de vídeo; reconhecimento facial, de fala e de visão, além de compreensão de fala e de idioma – a seus aplicativos.
  • O Azure Search é uma solução de pesquisa como serviço na nuvem que oferece uma experiência de pesquisa avançada para conteúdo privado e heterogêneo em aplicativos Web, móveis e empresariais.
  • Os Blobs de Armazenamento são otimizado para armazenar grandes quantidades de dados não estruturados, como texto ou dados binários.
  • O Cache do Azure para Redis melhora o desempenho e escalabilidade de sistemas que dependem de armazenamentos de dados de back-end, copiando temporariamente dados acessados com frequência para armazenamento rápido localizado perto do 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 e espaciais, JSON e XML.
  • O Application Insights foi projetado para ajudar a aprimorar continuamente o desempenho e usabilidade pela detecção automática de 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 a criação de um aplicativo voltado para o cliente que está focado no comércio eletrônico em grande escala. Essas tecnologias abrangem o front-end do aplicativo, assim como a camada de dados.

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

  • Serviço de 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 oferece a agilidade aos diferentes componentes do aplicativo, para escalar de modo 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 geralmente implantados para executar um trabalho de processamento rápido, como processar uma mensagem ou executar um cálculo, e, depois, são desprovisionados assim que forem concluídos.
  • O Barramento de Serviço pode ser usado no lugar da Fila de Armazenamento.

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

  • Azure Cosmos DB: o banco de dados de vários modelos distribuído globalmente da Microsoft. Esse serviço fornece uma plataforma para executar outros modelos de dados, como MongoDB, Cassandra, dados do Graph ou armazenamento de tabela 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 dos seus produtos ou serviços aumenta, seja de forma previsível ou imprevisível, usar ferramentas PaaS permitirá lidar com mais cliente mais transações automaticamente. Além disso, este cenário aproveita a economia de nuvem pagando somente a capacidade que usar.

Este documento ajudará você a aprender sobre os vários componentes de PaaS do Azure e as considerações usadas para implantar um aplicativo de comércio eletrônico de exemplo, Relecloud Concerts, uma plataforma de emissão de tíquetes para shows.

Possíveis casos de uso

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

  • Criar um aplicativo que precisa de uma escala elástica para lidar com picos de usuários em momentos diferentes.
  • Criar um aplicativo que foi projetado 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 de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Disponibilidade

Escalabilidade

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

Resiliência

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

Explore o custo de executar esse cenário, todos os serviços são pré-configurados na calculadora de custos. Para ver como o preço seria alterado para o seu uso específico altere as variáveis apropriadas para que eles sejam correspondentes ao tráfego esperada.

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

  • Pequeno: esse exemplo de preço representa os componentes necessários para criar a saída de uma instância de nível mínimo de produção. Aqui, estamos supondo uma pequena quantidade de usuários, com um total de apenas 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 cada um colocado em escala para uma camada básica, que permite uma quantidade mínima de custo, mas ainda garante que haja suporte para SLA e capacidade suficiente para lidar com uma carga de trabalho de nível de produção.
  • Médio: esse exemplo de preço representa os componentes indicativos de uma implantação de tamanho moderado. Aqui, podemos estimar 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 standard moderada. Além disso, camadas moderadas de serviços cognitivos e de pesquisa são adicionados à calculadora.
  • Grande: esse exemplo de preço representa um aplicativo de alta escala, na ordem de milhões de usuários por mês, para mover terabytes de dados. Nesse nível de alto desempenho de uso, são necessários aplicativos Web da camada premium implantados em várias regiões administrados pelo gerenciador de tráfego. Os dados consistem no seguinte: armazenamento, bancos de dados e CDN, estão configurados para terabytes de dados.

Implantar este cenário

Para implantar este cenário, você pode seguir este tutorial passo a passo que demonstra 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 Resource Manager para automatizar a implantação da maioria dos recursos do Azure.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

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

Próximas etapas