Partilhar via


Migrar sua solução de comércio eletrônico para o Azure

Introdução

Mover uma solução de comércio eletrônico existente para a nuvem apresenta muitos benefícios para uma empresa: permite escalabilidade, oferece aos clientes acessibilidade 24 horas por dia, 7 dias por semana e torna-se mais fácil integrar serviços em nuvem. Mas, primeiro, mover uma solução de e-commerce para a nuvem é uma tarefa significativa, com custos que devem ser compreendidos por um tomador de decisão. Este documento explica o escopo de uma migração do Azure com o objetivo de informá-lo sobre as opções. A primeira fase começa com os profissionais de TI movendo os componentes para a nuvem. Quando você estiver no Azure, descrevemos as etapas que uma equipe de comércio eletrônico pode seguir para aumentar seu retorno sobre o investimento (ROI) e aproveitar a nuvem.

Na encruzilhada

Embora as transações globais de comércio eletrônico representem apenas uma fração do total de vendas no varejo, o canal continua a ver um crescimento constante ano a ano. Em 2024, as vendas do e-commerce representavam um quinto das vendas totais do varejo, contra 8,6% em 2016 ( fonte). À medida que o comércio eletrônico amadureceu, juntamente com o advento da computação em nuvem, os varejistas estão em uma encruzilhada. Há escolhas a fazer. Podem conceber o seu modelo de negócio com novas capacidades possibilitadas pela evolução da tecnologia; e eles podem planejar sua modernização dada sua pegada de capacidade atual.

Melhorar a jornada do cliente

O e-commerce, que é focado principalmente na jornada do cliente, tem muitos atributos diferentes. Esses atributos podem ser agrupados em quatro áreas principais: descoberta, avaliação, compra e pós-compra.

O comportamento do cliente é capturado como dados. O funil de compras é uma coleção de pontos de conexão com aplicativos usados para visualizar dados de produtos, transações, estoque, envio, atendimento de pedidos, perfil de cliente, carrinho de compras e recomendações de produtos, para citar alguns.

Um negócio de varejo típico depende de uma grande coleção de soluções de software que vão desde aplicativos voltados para o cliente, passando pela pilha até aplicativos fundamentais. O desenho a seguir mostra uma visão da funcionalidade presente em um negócio de varejo típico.

O diagrama compara a funcionalidade visível externamente com a funcionalidade principal.

A nuvem apresenta uma oportunidade para mudar a forma como uma organização obtém, usa e gerencia a tecnologia. Outros benefícios incluem: custos reduzidos de manutenção de data centers, maior confiabilidade e desempenho e flexibilidade para adicionar outros serviços. Neste caso de uso, examinamos um caminho que uma empresa de varejo pode seguir para migrar sua infraestrutura existente para o Azure. Também aproveitamos o novo ambiente usando uma abordagem em fases de rehost, refatoração e reconstrução. Embora muitas organizações possam seguir esse caminho de série para a modernização, na maioria dos casos, as organizações podem cair em qualquer fase como ponto de partida. As organizações podem optar por renunciar a rehospedar seu aplicativo atual no Azure e ir direto para refatorar ou até mesmo reconstruir. Esta decisão será exclusiva para a aplicação, e organização para melhor atender às suas necessidades de modernização.

Realojamento

Também conhecido como "lift and shift", esse estágio envolve a migração de servidores físicos e VMs no estado em que se encontram para a nuvem. Ao simplesmente mudar seu ambiente de servidor atual diretamente para IaaS, você colhe os benefícios da economia de custos, segurança e maior confiabilidade. A economia vem de técnicas como a execução de cargas de trabalho em VMs de tamanho adequado. Atualmente, os recursos das VMs locais e das máquinas físicas frequentemente excedem as necessidades diárias dos varejistas. As VMs devem ser capazes de lidar com picos de negócios sazonais que ocorrem apenas algumas vezes por ano. Portanto, você está pagando por recursos não utilizados durante a baixa temporada. Com o Azure, você escolhe a VM de tamanho certo com base nas demandas para o ciclo de negócios atual.

Para rehospedar no Azure, há três fases:

  • Análise : identifique e inventarie recursos locais, como aplicativos, cargas de trabalho, rede e segurança. No final desta fase, você terá a documentação completa do sistema existente.
  • Migração : mova cada subsistema do local para o Azure. Durante esta etapa, você usará o Azure como uma extensão do seu data center com os aplicativos continuando a se comunicar.
  • Otimização : à medida que os sistemas migram para o Azure, certifique-se de que as coisas são dimensionadas corretamente. Se o ambiente mostrar que muitos recursos estão alocados para algumas VMs, altere o tipo de VM para uma que tenha uma combinação mais apropriada de CPU, memória e armazenamento local.

Analisar

Siga estes passos:

  1. Liste os servidores e aplicativos locais. Esse processo depende de um agente ou ferramenta de gerenciamento para coletar metadados sobre os servidores, os aplicativos que são executados nos servidores, o uso atual do servidor e como os servidores e seus aplicativos são configurados. O resultado é um relatório de todos os servidores e aplicativos no ambiente.
  2. Identifique as dependências. Você pode usar ferramentas para identificar quais servidores conversam entre si e aplicativos que se comunicam entre si. O resultado é um mapa — ou mapas — de todos os aplicativos e cargas de trabalho. Esses mapas alimentam o planejamento da migração.
  3. Analise as configurações. O objetivo é saber quais tipos de VM você precisa depois de executar no Azure. O resultado é um relatório sobre todos os aplicativos que podem ser movidos para o Azure. Podem ainda ser classificados como:
    • Sem modificações
    • Modificações básicas, como alterações de nomenclatura
    • Pequenas modificações, como pequenas alterações no código
    • Cargas de trabalho incompatíveis que exigem esforço extra para serem movidas
  4. Crie o seu orçamento. Agora você tem uma lista que enumera cada CPU — memória e assim por diante — e os requisitos para cada aplicativo. Coloque essas cargas de trabalho em VMs de tamanho adequado. Os custos de faturação da plataforma na nuvem baseiam-se na utilização. As ferramentas existem para mapear suas necessidades para as VMs do Azure de tamanho certo. Se você estiver migrando VMs do Windows ou SQL Server, também deverá examinar o Benefício Híbrido do Azure, que reduz suas despesas no Azure.

A Microsoft fornece várias ferramentas para analisar e catalogar seus sistemas. Se você executar o VMware, poderá usar o Azure Migrate para ajudar na deteção e avaliação. A ferramenta identifica máquinas que podem ser movidas para o Azure, recomenda o tipo de VM a ser executado e estima o custo da carga de trabalho. Para ambientes Hyper-V, use o Planejador de Implantação do Azure Site Recovery. Para migrações grandes em que você precisa mover centenas ou mais VMs, você pode trabalhar com um parceiro de migração do Azure. Esses parceiros têm o conhecimento e a experiência para mover suas cargas de trabalho.

Migrate

Comece a planejar quais serviços migrar para a nuvem e em que ordem. Como esse estágio envolve a movimentação de cargas de trabalho, siga esta ordem:

  1. Construa a rede.
  2. Incorporar um sistema de identidade (Microsoft Entra ID).
  3. Provisione peças de armazenamento no Azure.

Durante a migração, o ambiente do Azure é uma extensão da sua rede local. Você pode conectar as redes lógicas com a Rede Virtual do Azure. Pode optar por utilizar o Azure ExpressRoute para manter as comunicações entre a sua rede e o Azure numa ligação privada que nunca toca na Internet. Você também pode usar uma VPN site a site em que um Gateway de VPN do Azure fala com seu dispositivo VPN local com todo o tráfego enviado com segurança usando a comunicação criptografada entre o Azure e sua rede. Para estabelecer essa conexão, siga as orientações para configurar a Rota Expressa e conexões coexistentes site a site.

Depois que a rede estiver configurada, planeje a continuidade dos negócios. Uma recomendação é usar a replicação em tempo real para mover seus dados locais para a nuvem e garantir que a nuvem e os dados existentes sejam os mesmos. As lojas de comércio eletrônico nunca fecham; A duplicação fornece a capacidade de mudar do local para o Azure com um impacto mínimo para os seus clientes.

Comece a mover os dados, aplicativos e servidores relacionados para o Azure. Muitas empresas usam o serviço Azure Site Recovery para migrar para o Azure. O serviço tem como alvo a continuidade de negócios e a recuperação de desastres (BCDR). Isso é perfeito para uma migração do local para o Azure. Sua equipe de implementação deve ler Migrar máquinas locais para o Azure.

Depois que um subsistema for movido para o Azure, teste para verificar se tudo funciona conforme o esperado. Depois que todos os problemas forem fechados, mova as cargas de trabalho para o Azure.

Otimização

Neste ponto, você continuará monitorando o ambiente e alterando as opções de computação subjacentes para ajustar as cargas de trabalho à medida que o ambiente muda. Quem monitora a saúde do meio ambiente deve observar o quanto cada recurso é utilizado. O objetivo deve ser ter 75-90% de utilização na maioria das VMs. Em VMs que têm utilização excepcionalmente baixa, considere empacotá-las com mais aplicativos ou migrar para as VMs de menor custo no Azure que mantêm o nível certo de desempenho.

O Azure também fornece ferramentas para otimizar o ambiente. O Consultor do Azure monitora os componentes do seu ambiente e fornece recomendações personalizadas com base nas práticas recomendadas. As recomendações ajudam a melhorar o desempenho, a segurança e a disponibilidade dos recursos usados em seus aplicativos. O portal do Azure também expõe informações sobre a integridade de seus aplicativos. Suas VMs devem aproveitar as extensões de máquina virtual do Azure para Linux e Windows. Essas extensões fornecem configuração pós-implantação, antivírus, monitoramento de aplicativos e muito mais. Também pode tirar partido de muitos outros serviços do Azure para diagnóstico de rede, utilização de serviços e alertas através de serviços como o Observador de Rede, o Mapa de Serviços, o Application Insights e o Log Analytics.

Embora partes da organização estejam otimizando o sistema agora no Azure, as equipes de desenvolvimento podem começar a passar para a fase pós-migração: refatorar.

Refatorização

Com a migração concluída, seu aplicativo de comércio eletrônico pode começar a aproveitar sua nova casa no Azure. A fase de refatoração não precisa esperar até que todo o ambiente tenha se movido. Se a sua equipe de CMS migrou, mas a equipe de ERP não, não há problema. A equipe do CMS ainda pode começar seus esforços de refatoração. Esta etapa envolve o uso de serviços adicionais do Azure para otimizar o custo, a confiabilidade e o desempenho refatoração de seus aplicativos. Onde no lift and shift, você estava apenas aproveitando o hardware gerenciado pelo provedor e o sistema operacional, neste modelo você também aproveita os serviços em nuvem para reduzir os custos. Você continua a utilizar seu aplicativo atual no estado em que se encontra, com algumas pequenas alterações de código ou configuração do aplicativo, e conecta seu aplicativo a novos serviços de infraestrutura, como contêineres, banco de dados e sistemas de gerenciamento de identidade.

O esforço de refatoração altera muito pouco o código e a configuração. Você se concentrará mais tempo na automação, principalmente porque as tecnologias adotadas nesta fase dependem de scripts para criar e implantar os recursos; As instruções de implantação são um script.

Embora muitos dos serviços do Azure possam ser usados, nos concentraremos nos serviços mais comuns usados na fase de refatoramento: contêineres, serviços de aplicativo e serviços de banco de dados. Por que razão olhamos para a refatoração? A refatoração fornece uma base de código sólida que reduz os custos de longo prazo, mantendo a dívida do código dentro da razão.

Os contêineres fornecem uma maneira de agrupar aplicativos. Devido à maneira como um contêiner virtualiza o sistema operacional, você pode empacotar vários contêineres em uma única VM. Você pode mover um aplicativo para um contêiner com zero a poucas alterações de código; Você pode precisar de alterações de configuração. Esse esforço também leva à escrita de scripts que agrupam aplicativos em um contêiner. Suas equipes de desenvolvimento gastarão seu tempo de refatoração escrevendo e testando esses scripts. O Azure dá suporte à conteinerização por meio do Serviço Kubernetes do Azure (AKS) e do Registro de Contêiner do Azure relacionado, que você pode usar para gerenciar as imagens de contêiner.

Para serviços de aplicativo, você pode aproveitar vários serviços do Azure. Por exemplo, sua infraestrutura existente pode lidar com um pedido de cliente colocando mensagens em uma fila como RabbitMQ. (Por exemplo, uma mensagem é para cobrar o cliente, uma segunda é para enviar o pedido.) Ao rehospedar, você coloca o RabbitMQ em uma VM separada. Durante a refatoração, você pode adicionar uma fila ou tópico do Service Bus à solução. Neste ponto, você pode reescrever seu código RabbitMQ e parar de usar as VMs que serviram a funcionalidade de enfileiramento. Se não for viável reescrever todo o seu código de uma só vez, você pode usar padrões como a ponte de mensagens para preencher a lacuna entre as filas de mensagens. Isso permite que você migre seus endpoints um a um, em vez de todos de uma vez. De qualquer forma, quando todos os pontos de extremidade tiverem sido movidos para o Barramento de Serviço do Azure, isso substituirá um conjunto de VMs por um serviço de fila de mensagens sempre ativo por um custo mais baixo. Outros serviços de aplicativo podem ser encontrados no portal do Azure.

Para bancos de dados, você pode mover seu banco de dados de uma VM para um serviço. O Azure dá suporte a cargas de trabalho do SQL Server com o Banco de Dados SQL do Azure e a Instância Gerenciada SQL do Azure. O Serviço de Migração de Dados avalia seu banco de dados, informa sobre o trabalho que precisa acontecer antes da migração e, em seguida, move o banco de dados da sua VM para o serviço. O Azure também suporta MySQL, PostgreSQL e outros serviços do mecanismo de banco de dados.

Reconstruir

Até este ponto, tentamos minimizar as mudanças nos sistemas de comércio eletrônico — deixamos os sistemas funcionando sozinhos. Agora, vamos discutir como realmente tirar proveito da nuvem. Esta etapa significa revisar o aplicativo existente adotando agressivamente serviços e arquitetura PaaS ou mesmo SaaS. O processo engloba grandes revisões para adicionar novas funcionalidades ou para rearquitetar o aplicativo para a nuvem. APIs gerenciadas é um novo conceito que aproveita os sistemas em nuvem. Podemos tornar o nosso sistema mais fácil de atualizar, criando APIs para comunicação entre serviços. Um segundo benefício é a capacidade de obter insights sobre os dados que temos. Fazemos isso mudando para um microsserviço mais arquitetura de API e usamos aprendizado de máquina e outras ferramentas para analisar dados.

Microsserviços + APIs

Os microsserviços se comunicam por meio de APIs voltadas para o exterior. Cada serviço é independente e deve implementar um único recurso comercial, por exemplo: recomendar itens aos clientes, manter carrinhos de compras e assim por diante. Decompor um aplicativo em microsserviços requer tempo e planejamento. Embora não existam regras rígidas para definir um microsserviço, a ideia geral envolve reduzir a unidade implantável a um conjunto de componentes que quase sempre mudam juntos. Os microsserviços permitem que você implante alterações com a frequência necessária, reduzindo a carga de testes para o aplicativo geral. Alguns serviços podem ser extremamente pequenos. Para esses, ficar sem servidor com o Azure Functions funciona bem para expandir para quantos chamadores forem necessários, enquanto não consome recursos quando não está em uso. Outros serviços serão divididos em torno de recursos de negócios: gerenciar produtos, capturar pedidos de clientes e assim por diante.

Os mecanismos sem servidor têm desvantagens: quando sob carga leve, eles podem ser lentos para responder, pois algum servidor na nuvem leva alguns segundos para configurar e executar seu código. Para partes do seu ambiente muito usadas pelos clientes, você quer ter certeza de que eles podem encontrar produtos, fazer pedidos, solicitar devoluções e assim por diante com rapidez e facilidade. Sempre que esse desempenho diminui, você corre o risco de perder clientes no funil de compras. Se você tiver uma funcionalidade que deve responder rapidamente, recrie essa funcionalidade como unidades implantáveis individualmente no Serviço Kubernetes do Azure. Para outros casos, como serviços que exigem alguma combinação de muita memória, várias CPUs e muito armazenamento local, pode fazer sentido hospedar o microsserviço em sua própria VM.

Cada serviço usa uma API para interação. O acesso à API pode ser direto para o microsserviço, mas isso requer que qualquer pessoa que se comunique com o serviço conheça a topologia do aplicativo. Um serviço como o Gerenciamento de API oferece uma maneira central de publicar APIs. Todos os aplicativos simplesmente se conectam ao serviço de Gerenciamento de API. Os desenvolvedores podem descobrir quais APIs estão disponíveis. O serviço de Gerenciamento de API também fornece recursos para que seu ambiente de varejo tenha um bom desempenho. O serviço pode limitar o acesso à API por diferentes partes do aplicativo (para evitar gargalos), respostas de cache a valores de mudança lenta, converter de JSON para XML e muito mais. Uma lista completa de políticas pode ser encontrada aqui.

Utilize os seus dados e o Azure Marketplace

Como você tem todos os seus dados e sistemas no Azure, pode incorporar facilmente outras soluções SaaS em sua empresa. Você pode fazer algumas coisas imediatamente. Por exemplo, use o Power BI para unir várias fontes de dados para criar visualizações e relatórios e obter insights.

Em seguida, dê uma olhada nas ofertas no Azure Marketplace que podem ajudá-lo a fazer coisas como otimizar o inventário, gerenciar campanhas com base nos atributos do cliente e apresentar os itens certos para cada cliente com base em suas preferências e histórico. Espere passar algum tempo configurando seus dados para trabalhar nas ofertas do Marketplace.

Componentes

Usado durante o rehost:

  • O Azure Advisor é um consultor de nuvem personalizado que ajuda você a seguir as práticas recomendadas para otimizar suas implantações do Azure.
  • O serviço Azure Migrate avalia cargas de trabalho locais para migração para o Azure.
  • O Azure Site Recovery orquestra e gerencia a recuperação de desastres para VMs do Azure e VMs locais e servidores físicos.
  • A Rede Virtual do Azure permite que muitos tipos de recursos do Azure, como as Máquinas Virtuais (VM) do Azure, comuniquem com segurança entre si, com a Internet e com redes locais.
  • O Azure ExpressRoute permite-lhe expandir as redes no local para a cloud da Microsoft através de uma ligação privada facilitada por um fornecedor de conectividade.

Usado durante a refatoração:

  • O Serviço Kubernetes do Azure gerencia seu ambiente Kubernetes hospedado, tornando rápido e fácil implantar e gerenciar aplicativos em contêineres sem experiência em orquestração de contêineres.
  • O Banco de Dados SQL do Azure é um serviço gerenciado de banco de dados relacional de uso geral no Microsoft Azure. Ele suporta estruturas como dados relacionais, JSON, espacial e XML. O Banco de dados SQL oferece bancos de dados SQL únicos gerenciados, bancos de dados SQL gerenciados em um pool elástico e instâncias gerenciadas SQL.

Usado durante a reconstrução:

  • O Gerenciamento de API do Azure ajuda as organizações a publicar APIs para desenvolvedores externos, parceiros e internos para desbloquear o potencial de seus dados e serviços.
  • O Azure Functions é uma solução para executar facilmente pequenos pedaços de código, ou "funções", na nuvem.
  • O Power BI é um conjunto de ferramentas de análise de negócios que fornecem informações em toda a sua organização.

Conclusão

Mover seu sistema de comércio eletrônico para o Azure requer análise, planejamento e uma abordagem definida. Analisamos uma abordagem trifásica de rehospedar, refatorar e reconstruir. Isso permite que uma organização passe de um estado de trabalho para outro, minimizando a quantidade de alterações em cada etapa. Os varejistas também podem optar por refatorar ou até mesmo reconstruir componentes, ignorando completamente a rehospedagem. Muitas vezes, você terá um caminho claro para a modernização — tome-o quando puder. À medida que você ganha experiência em execução no Azure, você verá mais oportunidades para adicionar novos recursos, reduzir custos e melhorar o sistema geral.

Contribuidores

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

Principais autores:

Próximos passos

Muitas equipes de desenvolvimento são tentadas a fazer rehost e refatorar simultaneamente para lidar com a dívida técnica e melhor capacidade de uso. Há benefícios em rehospedar antes de saltar para as próximas etapas. Quaisquer problemas na implantação no novo ambiente serão mais fáceis de diagnosticar e corrigir. Isso, por sua vez, dá às suas equipes de desenvolvimento e suporte tempo para acelerar com o Azure como o novo ambiente. À medida que você começa a refatorar e reconstruir o sistema, você está construindo em um aplicativo estável e funcional. Isso permite alterações menores e direcionadas e atualizações mais frequentes.

Documentação do produto: