Lanzar su storefront (escaparate)

Esta guía describe cómo lanzar un storefront de PWA Kit y cómo hacerlo accesible desde la dirección web oficial y pública. Tiene tres opciones para lanzar y enrutar el tráfico hacia su storefront de PWA Kit:

  1. Utilizar una CDN de terceros, como CloudFlare o Akamai.
  2. Utilizar la CDN integrada (eCDN) proporcionada por Commerce Cloud de Salesforce. Para obtener más información acerca del enrutamiento de tráfico a Managed Runtime utilizando la eCDN, consulte la guía.
  3. Utilizar la CDN de Managed Runtime.

A lo largo de esta guía utilizamos un storefront de ejemplo con los siguientes atributos:

  • URL de producción: https://www.example.com
  • Código de identificación: example
  • Identificaciones de entorno: staging y production

La agrupación de una CDN de terceros, además de Managed Runtime, es opcional. Los clientes pueden elegir utilizar una CDN de terceros según:

  • Una relación preexistente con su proveedor de CDN preferido, en el que los equipos internos están capacitados para configurar y administrar una CDN.
  • Una necesidad de tener control adicional de las características de CDN, más allá de los que Managed Runtime ofrece, como reglas de WAF personalizadas, más encabezados de rendimiento e integraciones de terceros adicionales.

Los clientes que desean un bajo costo para ofrecer el servicio y un tiempo rápido para la comercialización y tienen requisitos de CDN limitados pueden utilizar eCDN o la CDN de Managed Runtime integrada.

Esta guía asume que usted tiene acceso a la aplicación web Runtime Admin y a la Managed Runtime API para realizar tareas administrativas. Para obtener acceso a estas herramientas, póngase en contacto con su administrador de Commerce Cloud y pídale que añada alguno de los siguientes roles a su cuenta a través del Account Manager: Usuario de Managed Runtime o Managed Runtime Admin.

Para realizar solicitudes a la Managed Runtime API, debe incluir una clave de API en el encabezado de la solicitud de HTTP Authorization con el valor, Bearer $API_KEY. Para todas las solicitudes de ejemplo proporcionadas, no olvide sustituir $API_KEY por su clave de API real.

Para encontrar su clave de API, inicie sesión en Runtime Admin y vaya a la página Configuración de la cuenta.

Importante: Trate su clave de API como una contraseña porque permite que los scripts realicen operaciones por usted.

Debe acceder al proveedor de DNS para crear y actualizar los registros de CNAME y acceder a su proveedor de CDN de terceros (según corresponda).

En esta guía, la palabra “Mobify” aparece en varios lugares. Mobify es el nombre de la empresa que originalmente desarrolló la tecnología que se convirtió en PWA Kit y Managed Runtime. En 2020, Salesforce adquirió Mobify junto con toda su tecnología.

La marca Mobify aparece en el dominio mobify-storefront.com que se utiliza para albergar su storefront y el dominio cloud.mobify.com utilizado por la API de Managed Runtime.

Si necesita agregar una lógica condicional que altere la conducta de su sitio según el dominio utilizado, es más fácil probar esta lógica cuando el servidor de desarrollo local puede utilizar un dominio personalizado. ¿Por qué necesitaría agregar este tipo de lógica? Considere, por ejemplo, la necesidad de buscar una identificación de cliente de SLAS diferente según el dominio.

Para ejecutar su servidor de desarrollo local usando un dominio personalizado:

  1. Modifique el DNS de su computadora local para resolver su dominio personalizado para 127.0.0.1 (localhost).
  2. Edite ssr.js.
  3. En las options pasadas a runtime.createHandler, establezca el puerto como 80.
  4. Ejecute EXTERNAL_DOMAIN_NAME=www.example.com npm start y reemplace el valor de example.com con su dominio personalizado. La ejecución del servidor en el puerto 80 en ocasiones podría requerir privilegios administrativos.

¡Las solicitudes de su navegador al dominio personalizado ahora se resuelven y enrutan a su servidor de desarrollo local!

El proceso para lanzar un entorno es el mismo para Presentación (Staging) y Producción (Production). La única diferencia es el nombre de dominio y el entorno de Managed Runtime utilizados.

Recomendamos encarecidamente realizar el proceso de lanzamiento en un entorno de Presentación (Staging) primero, antes de repetir el proceso en Producción (Production).

Para las instrucciones proporcionadas, imagine que quiere lanzar un storefront en staging.example.com, la identificación del proyecto en Managed Runtime es example y el paquete se implementa en un entorno llamado staging.

Puede completar estos pasos en cualquier momento, pero le recomendamos que los inicie en cuanto comience a utilizar el PWA Kit.

Utilice la aplicación web de Runtime Admin o la API de Managed Runtime para crear un entorno (también conocido como objetivo) llamado staging para practicar el lanzamiento del storefront.

Esta es una solicitud de ejemplo que utiliza el extremo projects_target_create de la API de Managed Runtime para crear un entorno. Reemplace example en la solicitud por su cadena de identificación de proyecto real y reemplace $API_KEY por su clave de API real:

Para obtener instrucciones sobre cómo crear un entorno con Runtime Admin, consulte nuestra guía de Administración de Managed Runtime.

La mayoría de las implementaciones de PWA Kit hacen solicitudes a OCAPI y los controllers proporcionados por B2C Commerce.

Debe asegurarse de que Managed Runtime pueda alcanzar el dominio asociado con su instancia de B2C Commerce para hacer estas solicitudes.

Hacer que el dominio se pueda alcanzar generalmente supone configurar la eCDN para que su instancia de B2C Commerce esté disponible en un subdominio como ecom.example.com. Para obtener más información, consulte la documentación sobre ajuste y configuración de la eCDN.

Una vez que su dominio de la eCDN de B2C Commerce esté configurado, actualice la configuración de proxy de su entorno para utilizar la nueva ubicación de API. Para obtener más información, consulte nuestra guía de Solicitudes de conexión del proxy.

Si está enrutando el tráfico directamente a la CDN de Managed Runtime, entonces Managed Runtime emite y gestiona los certificados de TLS por usted.

Este paso no es necesario cuando se usa una CDN o eCDN de terceros. Consulte la documentación del proveedor de su CDN para configurar certificados de TLS.

Para permitir que Managed Runtime emita un certificado de TLS, debe crear un registro de CNAME. Contáctese con el Soporte al cliente de Salesforce y proporcione sus dominios de certificado deseados. Salesforce le brindará los registros de CNAME de validación de detalles para su certificado. Se admiten certificados comodines, como *.example.com.

Para los entornos de Presentación (Staging) y Producción (Production) se admite el lanzamiento con dominios personalizados. Todos los demás entornos, como Desarrollo (Development), actualmente solo pueden continuar utilizando los dominios mobify-storefront.com predeterminados.

Debe crear el registro CNAME de DNS de validación proporcionado dentro de las 24 horas siguientes a la recepción de los detalles. Tiene el siguiente aspecto:

Este paso no es necesario cuando se usa una CDN de terceros.

Reduce el tiempo de vida (TTL) de staging.example.com a un minuto. Reducir el TTL acelera el proceso de corte de DNS y, si algo sale mal, permite deshacer los cambios rápidamente.

Puede verificar el TTL utilizando el comando dig:

Este paso no es necesario cuando se usa una CDN de terceros.

Configurar el entorno para recibir tráfico desde el host staging.example.com.

Actualice la configuración del entorno ssr_external_domain y ssr_external_hostname mediante la Managed Runtime API:

Luego de completar este paso, el entorno deja de ser accesible en el dominio mobify-storefront.com.

Verifique que la nueva configuración esté activa utilizando un comando cURL que haga una solicitud con DNS spoofing:

El proceso de corte es diferente cuando se utiliza una CDN de terceros y la CDN de Managed Runtime.

Para esta opción, debe configurar su CDN para que apunte al origen de Managed Runtime en lugar del origen de la CDN existente. Consulte la documentación de su proveedor de CDN para obtener pautas detalladas.

Agregue el nombre del servidor externo ({{project}}-{{environment}}.mobify-storefront.com) como origen en su CDN de terceros. Asegúrese de que la CDN esté configurada para:

  • configurar el encabezado Host para que coincida con el origen {{project}}-{{environment}}.mobify-storefront.com.
  • reenviar el método de solicitud.
  • reenviar la ruta (incluida la cadena de consulta).
  • reenviar los encabezados.
  • reenviar el cuerpo.
  • obedecer a los encabezados de almacenamiento en caché de HTTP.

Considere agregar un encabezado para reflejar las solicitudes de HTTP para verificar que la CDN esté correctamente configurada:

Considere también agregar un proxy con httpbin.org/anything para verificar que los encabezados pasados a proxy se envíen correctamente.

Para esta opción, debe realizar un corte de DNS que apunte a su dominio desde el origen anterior hasta la CDN de Managed Runtime.

El servicio de soporte de Salesforce le proporciona un dominio estable siguiendo la convención {{project}}-{{environment}}-cdn.mobify-storefront.com donde {{project}} es el código de identificación de su proyecto y {{environment}} es el código de identificación del entorno.

Actualice el registro DNS CNAME de staging.example.com a example-staging-cdn.mobify-storefront.com.

Abra su navegador web y vaya a staging.example.com.

Felicidades, ¡ha completado el lanzamiento! 🥳

Después de completar estas instrucciones para un sitio de Staging, puede repetir el mismo proceso con el dominio y entorno de Production.

A partir de aquí, el grupo de Customer Success le ayudará a monitorear el tráfico del sitio para asegurarse de que el lanzamiento haya sido exitoso. El objetivo es garantizar que todo se desarrolle de la manera esperada durante el lanzamiento.

Después del lanzamiento, los clientes con un Plan Signature Success reciben un servicio de monitoreo proactivo del sitio. Para aprovechar este servicio de mayor monitoreo, debe marcar su entorno como de production. Para obtener más información, consulte la sección sobre entornos en la Visión general de Managed Runtime.

  • La configuración del objetivo ssr_external_hostname controla de qué host recibe tráfico el entorno. Si el encabezado de HTTP Host de una solicitud no coincide con este valor, la solicitud falla con un error 403.
  • Actualmente, Salesforce no admite URL de storefronts con un dominio básico como example.com (sin subdominio www). Para utilizar un dominio básico, debe configurar un servidor para redirigir las solicitudes del dominio básico a su CNAME.