Visión general de Managed Runtime

Managed Runtime proporciona la infraestructura para implementar, alojar y supervisar su storefront de PWA Kit.

Esta guía cubre las partes principales de Managed Runtime y cómo acceder a él.

Antes de poder utilizar Managed Runtime, debe solicitar acceso. Póngase en contacto con su administrador de Commerce Cloud y pídale que añada alguno de los siguientes roles a su cuenta mediante Account Manager: Managed Runtime User o Managed Runtime Admin.

Un entorno es el término utilizado para describir toda la infraestructura de la nube y los valores de configuración para un storefront en particular alojado por Managed Runtime. Los entornos se utilizan para separar su storefront de producción de otros storefronts que se implementan para otros fines, como el desarrollo o la ejecución de pruebas.

En la Managed Runtime API, los entornos se llaman “objetivos”, pero ambos términos se refieren a lo mismo.

Dado que los entornos se ejecutan en microservicios altamente eficientes que se escalan hacia arriba y hacia abajo automáticamente, puede crear tantos entornos como necesite sin ningún costo adicional. Por ejemplo, puede crear un entorno de corta duración dedicado a un solo sprint de desarrollo ágil o para una historia de un único usuario dentro de ese sprint. Cuando ya no necesite dicho entorno, recomendamos eliminarlo.

Entornos de producción

El equipo de Soporte de Salesforce les da prioridad respecto al monitoreo a los entornos marcados como de producción. Para marcar un entorno como de producción, tiene dos opciones:

  1. Usar la herramienta Runtime Admin. Las instrucciones paso a paso para crear un entorno nuevo o editar un entorno existente se encuentran en la sección Entornos de la guía Administración.
  2. Usar la Managed Runtime API. Los puntos de conexión projects_target_create y projects_target_partial_update incluyen el parámetro is_production. Para marcar un entorno como de producción con estos puntos de conexión, establezca is_production como true.

Por defecto, puede marcar hasta 10 entornos como de producción. Para aumentar su límite, comuníquese con Soporte.

El código del storefront que se ejecuta en un entorno se denomina paquete. Use las herramientas para desarrolladores incluidas en el PWA Kit para generar un paquete y enviarlo a Managed Runtime.

Un paquete es una captura de su código en un momento determinado. Es inmutable: Una vez creado, un paquete no se puede modificar. Disponer de este historial completo y preciso de los paquetes facilita la resolución de problemas de implementación.

Después de enviar el paquete, puede utilizar Runtime Admin o Managed Runtime API para marcar ese paquete como “implementado”. Cada proyecto puede tener varios paquetes, pero cada entorno solo puede tener un paquete designado como implementado. Puede cambiar el paquete designado como implementado en cualquier momento. Para obtener más información, consulte Enviar e implementar paquetes.

Para ayudarle a gestionar varios entornos, cada entorno pertenece también a un proyecto y cada proyecto a una organización. Una organización puede contener múltiples proyectos para múltiples storefronts y cada proyecto puede contener múltiples entornos. Un usuario de Managed Runtime puede pertenecer a varias organizaciones distintas para separar diferentes flujos de trabajo.

Cada organización puede tener un máximo de 100 entornos en total y un máximo de 10 entornos de producción. Si necesita aumentar estos límites, póngase en contacto con su representante de asistencia técnica de Salesforce.

Las organizaciones se crean en Account Manager y replican en Managed Runtime. La membresía en una organización se determina mediante los ajustes de membresía en Account Manager. Un usuario puede pertenecer a una organización como miembro o como administrador. Los miembros solo pueden interactuar con los proyectos en Managed Runtime para los que se les asignó un rol en el proyecto. Los administradores pueden interactuar con todos los proyectos de una organización.

Un usuario puede tener las siguientes capacidades en relación con un proyecto de Managed Runtime:

  • Browse (Examinar): ver el proyecto en Runtime Admin.
  • Manage Redirects (Gestionar redireccionamientos): administrar redireccionamientos del proyecto.
  • Deploy (Implementar): implementar nuevos paquetes o revertir la implementación hacia un paquete existente.
  • Manage Team (Gestionar el equipo): ver, añadir, invitar, quitar y editar los roles de los miembros del equipo del proyecto.

A cada usuario se le asigna un rol en el proyecto que determina las capacidades que tiene. (Un usuario solo puede tener un rol). Los roles del proyecto pueden asignarse a cualquier usuario de una organización.

La siguiente tabla muestra qué capacidades están asociadas con cada rol:

RolExaminarGestionar redireccionamientosImplementarGestionar equipo
Administrador
DesarrolladorNo
Encargado de marketingNoNo
Solo lecturaNoNoNo

Dentro de cada entorno de Managed Runtime, la aplicación React del paquete publicado se ejecuta dentro de un entorno Node.js. Para responder a las solicitudes de páginas y renderizar los resultados, utilizamos el marco web Exprés con la ayuda de los sistemas de renderización y enrutamiento de PWA Kit. A esta combinación de React, Node y Exprés la llamamos el Servidor de la aplicación. (Aunque, técnicamente hablando, el Servidor de la aplicación funciona con tecnología “sin servidor”). El Servidor de la aplicación está optimizado para funcionar en una infraestructura en la nube que ofrece bajos costos de computación, alta disponibilidad, renderización rápida y una enorme capacidad de escalado.

Debido a que el sistema de renderización y enrutamiento de PWA Kit maneja las diferencias entre los entornos de desarrollo locales y de Managed Runtime, su código se ejecuta de una manera predecible cuando lo implementa. Esta previsibilidad desbloquea la productividad de su equipo de desarrollo al animarles a implementar paquetes con más frecuencia.

Actualmente, el Servidor de la aplicación es compatible con las versiones 1.2 y superiores de Transport Layer Security (TLS).

Todos los paquetes de storefronts deben utilizar Node 14.x.

Variables de entorno

El código que se ejecuta en el servidor de aplicaciones tiene acceso a las siguientes variables de entorno:

  • DEPLOY_TARGET: La identificación del entorno.
  • EXTERNAL_DOMAIN_NAME: El nombre de dominio establecido en el entorno.
  • MOBIFY_PROPERTY_ID: La identificación del proyecto al que pertenece el entorno.

El servidor de aplicaciones está respaldado por varios servicios de edge, entre ellos:

  • Un firewall de aplicaciones web (WAF) para proteger sus entornos de atacantes.
  • Un servidor proxy para acelerar las solicitudes a la API.
  • Una CDN (content delivery network) para almacenar las solicitudes en caché y acelerar la carga de las páginas.
  • Funciones de edge que procesan las solicitudes y gestionan los redireccionamientos.

El servidor proxy y la CDN se tratan en detalle en nuestra guía sobre Solicitudes de conexión del proxy. La función de edge llamada procesador de solicitudes se aborda en nuestra guía Cómo maximizar la tasa de aciertos en caché.

Los servicios perimetrales de Managed Runtime están distribuidos estratégicamente en nuestra infraestructura de nube pública. Cada servicio está situado lo más cerca posible del usuario para un rendimiento más rápido.

Para gestionar la configuración de sus organizaciones, proyectos, entornos y paquetes, ofrecemos dos herramientas diferentes:

  1. El Managed Runtime Admin, una IU basada en la web.
  2. La Managed Runtime API, una REST API que ofrece la misma funcionalidad que la herramienta basada en la web y algunas capacidades adicionales.

Utilice la herramienta Runtime Admin para tareas rutinarias, como la implementación de un nuevo paquete de código en un entorno. Utilice la API siempre que necesite un control programático, como la creación automática de un entorno como parte de un script de integración continua.

Las herramientas de administración le ofrecen una forma de autoservicio para configurar muchos ajustes, lo que incluye:

  • Direcciones IP permitidas
  • Paquete implementado actualmente
  • Región de implementación
  • Proxies
  • Redireccionamientos
  • Permisos de usuario
  • Indicador de entorno de producción

Algunas configuraciones requieren que se abra una solicitud de soporte, lo que incluye:

  • Direcciones IP estáticas (para VPN)

El acceso a las herramientas de administración se controla con los roles de Account Manager y una clave de API. Para los procesos de integración continua (CI) y entrega continua (CD), los usuarios de bots dedicados con sus propias claves de API suelen estar aprovisionados por su organización.

Dato curioso: Al igual que su storefront, la herramienta Runtime Admin una aplicación de React headless que se implementa en Managed Runtime.

Cuando construya su storefront, tenga en cuenta las siguientes limitaciones de los entornos de Managed Runtime:

  • La ruta / solo acepta solicitudes HTTP GET.
  • El tamaño de la solicitud y la respuesta no puede superar los 6 MB.
  • El encabezado Set-Cookie no está admitido.
  • El límite de tiempo de ejecución de las solicitudes del servidor de la aplicación es de 20 segundos.
  • Los rechazos de promesas no controlados rompen la renderización de la aplicación.
  • Puede omitir la caché de la CDN utilizando el encabezado de solicitud HTTP: x-mobify-cachebreaker: 1

Ahora que tiene una visión general de las principales partes de Managed Runtime, es el momento de poner manos a la obra. Un buen punto de partida es la guía de Envío e implementación de paquetes.

Antes de poder utilizar Managed Runtime, debe solicitar acceso. Póngase en contacto con su administrador de Commerce Cloud y pídale que añada alguno de los siguientes roles a su cuenta mediante Account Manager: Managed Runtime User o Managed Runtime Admin.