Lançar seu Storefront/Loja (virtual)

Este guia descreve como lançar sua loja (virtual) do PWA Kit e torná-la acessível pelo endereço web público oficial. Você tem três opções para lançar sua loja (virtual) do PWA Kit e rotear tráfego para ela:

  1. Use uma CDN de terceiros, como CloudFlare ou Akamai.
  2. Use a CDN integrada (eCDN), fornecida pelo Salesforce Commerce Cloud. Para obter mais informações sobre o roteamento de tráfego para o Managed Runtime usando a eCDN, consulte o guia.
  3. Use a CDN do Managed Runtime.

Usamos ao longo deste guia uma loja (virtual) de exemplo com os seguintes atributos:

  • URL de Production: https://www.example.com
  • ID do projeto: example
  • IDs do ambiente: staging e production

Empilhar uma CDN de terceiros em cima do Managed Runtime é opcional. Os clientes podem escolher usar uma CDN de terceiros com base no seguinte:

  • Uma relação pré-existente com o fornecedor preferencial da CDN em que as equipes internas já têm experiência na configuração e no gerenciamento da CDN.
  • A necessidade de controle adicional dos recursos da CDN além do que o eCDN ou o Managed Runtime oferece.

Os clientes que querem custo baixo para veiculação e rapidez no lançamento e têm menos exigências para a CDN podem usar a eCDN ou a CDN integrada do Managed Runtime.

Este guia pressupõe que você tem acesso ao aplicativo da web Runtime Admin e à Managed Runtime API para executar tarefas administrativas. Para ter acesso a essas ferramentas, entre em contato com o administrador do Commerce Cloud e solicite que adicione uma das funções a seguir a sua conta usando o Account Manager: Managed Runtime User ou Managed Runtime Admin.

Para fazer solicitações à Managed Runtime API, você deve incluir uma chave de API no cabeçalho Authorization da solicitação HTTP com o valor Bearer $API_KEY. Para todas as solicitações de amostra fornecidas, não se esqueça de substituir $API_KEY por sua chave de API real.

Para encontrar a chave de API, faça logon em Runtime Admin e vá para a página Account Settings (Configurações de conta).

Importante: Trate sua chave de API como uma senha, pois ela permite que os scripts concluam operações em seu nome.

Você precisa de acesso ao seu provedor de DNS para criar e atualizar os registros CNAME, além de acesso a seu provedor externo de CDN (se aplicável).

A palavra “Mobify” aparece algumas vezes neste guia. Mobify é o nome da empresa que desenvolveu originalmente a tecnologia que se tornou PWA Kit e Managed Runtime. A Salesforce adquiriu a Mobify e todas as suas tecnologias em 2020.

A marca Mobify aparece no domínio mobify-storefront.com, usado para hospedar sua loja (virtual), e no domínio cloud.mobify.com, usado para a Managed Runtime API.

Caso você precise incluir lógica condicional que altere o comportamento do site dependendo do domínio, fica mais fácil realizar testes se o servidor de desenvolvimento local puder usar um domínio personalizado. Por que você precisaria adicionar esse tipo de lógica? Por exemplo, considere a necessidade de procurar diferentes IDs de cliente do SLAS dependendo do domínio.

Para executar seu servidor de desenvolvimento local usando um domínio personalizado, faça o seguinte:

  1. Modifique o DNS de seu computador local para resolver o domínio personalizado para 127.0.0.1 (localhost).
  2. Edite ssr.js.
  3. Em options transmitidas para runtime.createHandler, defina a porta como 80.
  4. Execute EXTERNAL_DOMAIN_NAME=www.example.com npm start, substituindo o valor example.com por seu domínio personalizado. A execução do servidor na porta 80 por vezes precisa de privilégios administrativos.

As solicitações de seu navegador ao domínio personalizado serão agora resolvidas e encaminhadas para seu servidor de desenvolvimento local!

O processo de lançar um ambiente é o mesmo para Staging e Production, com duas únicas diferenças: o nome do domínio e o ambiente do Managed Runtime.

Recomendamos testar o processo de lançamento no ambiente de Staging primeiro e depois repetir o processo em Production. Essas etapas devem ser concluídas assim que você iniciar um projeto PWA Kit e pelo menos duas semanas antes da data de lançamento.

Com base nas instruções fornecidas, imagine que você está lançando uma loja (virtual) em staging.example.com, o ID do projeto no Managed Runtime é example e seu pacote é implantado em um ambiente denominado staging.

Use o Runtime Admin ou a Managed Runtime API para criar um ambiente chamado staging para praticar a inicialização da loja (virtual).

Veja aqui um exemplo de solicitação que usa o endpoint projects_target_create para criar um ambiente. Substitua example na solicitação pela string de ID do projeto real e $API_KEY pela chave de API:

Para instruções sobre como criar um ambiente com Runtime Admin, consulte nosso guia Administração do Managed Runtime.

Muitas implementações de PWA Kit fazem solicitações à OCAPI ou controladores, além da B2C Commerce API.

Você deve garantir que sua instância do B2C Commerce seja acessível pelo Managed Runtime.

Tornar as APIs acessíveis normalmente envolve configurar a eCDN para disponibilizar sua instância do B2C Commerce em um domínio alternativo, como ecom.example.com. Para obter mais informações, consulte a documentação de configuração da eCDN.

Depois que o domínio estiver configurado, atualize as configurações de proxy do seu ambiente para usá-lo. Para obter mais informações, consulte nosso guia Solicitações de proxy.

Essa etapa não é necessária se você está usando uma CDN de terceiros ou a eCDN. Consulte a documentação do fornecedor da CDN para configurar certificados.

Se você estiver roteando o tráfego diretamente para a CDN do Managed Runtime, o Managed Runtime emitirá e gerenciará certificados TLS em seu nome.

Para permitir que o Managed Runtime emita um certificado, você deve:

  • Escolher os domínios que você deseja usar em sua loja (virtual). Por exemplo, staging.example.com e www.example.com. Domínios curinga como *.example.com são aceitos. Certificados de domínio específicos só serão emitidos para domínios associados a ambientes de Staging e Production.
  • Verificar se os registros CAA de domínios estão definidos para permitir que a AWS emita certificados.
  • Entre em contato com o suporte ao cliente da Salesforce, fornecendo os domínios de certificado desejados.
  • A Salesforce fornece um registro CNAME usado para validar a propriedade do domínio. Você deve criar o registro fornecido dentro de 24 horas após o recebimento dos detalhes.

Essa etapa não é necessária se você está usando uma CDN de terceiros ou a eCDN.

Reduza o tempo de vida (TTL) do staging.example.com para um minuto. Reduzir o TTL acelera o processo de transição de DNS e, se algo sai errado, permite que você reverta a ação rapidamente.

Você pode verificar o TTL usando o comando dig:

Defina o cabeçalho de controle de acesso de um ambiente usando a interface do usuário do Managed Runtime em Configurações de controle de acesso ou usando a access_control_header API. Neste exemplo, usamos a API para definir um cabeçalho de controle de acesso com o valor de cabeçalho 25pn5dec7f1c. Consulte Cabeçalhos de controle de acesso.

Configure o ambiente para receber tráfego do host de staging.example.com.

Atualize ssr_external_domain do ambiente e as configurações ssr_external_hostname usando a projects_target_partial_update API:

Depois desta etapa, o ambiente já não estará acessível como o domínio de mobify-storefront.com.

Verifique se as novas configuração estão aplicadas usando um comando cURL que faz uma solicitação com spoofing de DNS:

O processo de transição é diferente dependendo se você usa uma CDN, uma eCDN ou uma CDN de tempo de execução gerenciado de terceiros.

Configure seu ambiente de tempo de execução gerenciado como uma origem em sua CDN:

  • Defina o Host cabeçalho para corresponder ao seu ambiente {{project}}-{{environment}}.mobify-storefront.com
  • encaminhe o método de solicitação
  • encaminhe o caminho (inclusive a string de consulta)
  • encaminhe os cabeçalhos
  • encaminhe o corpo
  • encaminhe todo o tráfego por HTTPS
  • obedeça aos cabeçalhos de cache HTTP
  • defina o valor do cabeçalho x-sfdc-access-control se configurado para seu ambiente

Consulte a documentação do fornecedor de sua CDN para obter orientações detalhadas.

O Managed Runtime roteia solicitações para ambientes usando o cabeçalho HTTP Host . Solicitações com um host incorreto são rejeitadas com uma resposta HTTP 403 Bad Request.

Considere adicionar um manipulador para refletir as solicitações HTTP e verifique se a CDN está configurada corretamente:

Avalie também a possibilidade de incluir um proxy com httpbin.org/anything para verificar se a transmissão dos cabeçalhos aos proxies foi feita sem erros.

Se você encontrar problemas, use as técnicas descritas em Depurar aplicativos do PWA Kit.

Atualize suas regras de roteamento da eCDN para rotear o tráfego para o ambiente do Managed Runtime. Consulte o guia de regras de MRT da eCDN para obter mais informações.

Execute uma transição de DNS para apontar seu domínio da origem antiga para a CDN do Managed Runtime.

O domínio CDN do Managed Runtime segue a convenção {{project}}-{{environment}}-cdn.mobify-storefront.com onde {{project}} é a ID do projeto e {{environment}} é a ID do ambiente.

Atualize o registro DNS CNAME de staging.example.com para example-staging-cdn.mobify-storefront.com.

Abra o navegador da web e vá para staging.example.com.

Parabéns, você concluiu o lançamento! 🥳

Após concluir essas orientações para um site de Staging, repita o mesmo processo com o domínio e o ambiente de Production.

A partir daqui, o grupo de Customer Success ajudará você a monitorar o tráfego do site para garantir o êxito do lançamento. O objetivo é garantir que tudo esteja acontecendo de acordo com o esperado durante o lançamento.

Depois do lançamento, o site dos clientes com Signature Success Plan são monitorados de maneira proativa. Para aproveitar esse serviço de monitoramento aprimorado, é preciso que seu ambiente esteja marcado como de production. Para saber mais, consulte a seção sobre ambientes na Visão geral do Managed Runtime.

  • A configuração ssr_external_hostname de destino controla de qual host o ambiente recebe tráfego. Se o cabeçalho HTTP Host da solicitação não for igual a esse valor, a solicitação falhará com um erro 403.
  • Atualmente, a Salesforce não oferece suporte a URLs de lojas (virtuais) com um domínio simples como example.com (sem subdomínio www). Para usar um domínio simples, você deve configurar um servidor para redirecionar solicitações do domínio simples para seu CNAME.