Lançar sua 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 ter mais controle sobre os recursos da CDN que vai além do que o Managed Runtime oferece, como regras de WAF personalizadas, cabeçalhos de desempenho adicionais e outras integrações de terceiros.

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 trataria a uma senha, pois ela permite executar 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. Nas 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.

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.

Você pode completar essas etapas em qualquer momento, mas recomendamos que você as realize assim que começar a usar o PWA Kit.

Use o aplicativo da web Runtime Admin ou a Managed Runtime API para criar um ambiente (também conhecido como destino) denominado staging para praticar o lançamento de sua loja (virtual).

Confira a seguir uma solicitação de amostra que usa o endpoint projects_target_create da Managed Runtime API para criar um ambiente. Substitua example na solicitação pela string real do ID do projeto e $API_KEY por sua chave de API real.

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

A maioria das implementações do PWA Kit faz solicitações ao OCAPI e aos controladores fornecidos pelo B2C Commerce.

Você precisa assegurar que o Managed Runtime possa entrar em contato com o domínio associado à sua instância do B2C Commerce para fazer essas solicitações.

Isso normalmente envolve configurar a eCDN para que sua instância do B2C Commerce esteja disponível em um subdomínio como ecom.example.com. Para obter mais informações, consulte a documentação de configuração da eCDN.

Após a configuração do seu domínio da eCDN no B2C Commerce, atualize as configurações de proxy do seu ambiente para que ele use o novo local da API. Para obter mais informações, consulte nosso guia Solicitações de proxy.

Se você está roteando tráfego diretamente para a CDN do Managed Runtime, ele emite e gerencia os certificados TLS por você.

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

Para permitir que o Managed Runtime emita um certificado TLS, você precisa criar um registro CNAME. Entre em contato com o Suporte ao cliente da Salesforce e forneça os domínios do certificado desejado. Em seguida, a Salesforce lhe concede os detalhes dos registros CNAME de validação para o seu certificado. Certificados curinga, como *.example.com, são compatíveis.

O lançamento com domínios personalizados é compatível com os ambientes de Staging e Production. No momento, todos os outros ambientes, como o de Development, só podem continuar a usar os domíniosmobify-storefront.com padrão.

Depois de receber as informações, você tem 24 horas para criar o registro DNS CNAME de validação fornecido. Ele tem essa aparência:

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

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:

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

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

Atualize as configurações ssr_external_domain e ssr_external_hostname usando o Managed Runtime 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 quando se usa uma CDN de terceiros ou a CDN do Managed Runtime.

Nessa opção, você precisa configurar sua CDN para apontar para a origem do Managed Runtime, em vez da origem da CDN existente. Consulte a documentação do fornecedor de sua CDN para obter orientações detalhadas.

Adicione o nome de host externo ({{project}}-{{environment}}.mobify-storefront.com) como a origem de sua CDN de terceiros. Verifique se a CDN está configurada para:

  • definir o cabeçalho Host de forma a corresponder à origem {{project}}-{{environment}}.mobify-storefront.com
  • encaminhar o método de solicitação;
  • encaminhar o caminho (inclusive a string de consulta);
  • encaminhar os cabeçalhos;
  • encaminhar o corpo;
  • obedecer aos cabeçalhos de cache HTTP.

Considere incluir um manipulador que reflita as solicitações HTTP para verificar 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.

Nessa opção, você precisa realizar uma transição para apontar seu domínio da origem antiga para a CDN do Managed Runtime.

O suporte da Salesforce fornece a você um domínio estável que segue a convenção {{project}}-{{environment}}-cdn.mobify-storefront.com, na qual {{project}} é o ID do projeto e {{environment}} é o 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 Sucesso do Cliente vai ajudar você a monitorar o tráfego do site para garantir que o lançamento aconteceu. 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.