News: El PWA Kit 3.0.0 ya está disponible y es compatible con Node 18. Actualice sus proyectos y entornos para mantener la funcionalidad. No podrá implementar su sitio usando versiones anteriores.
Visión general de Managed Runtime
Managed Runtime proporciona la infraestructura para implementar, alojar y supervisar su escaparate de PWA Kit.
Managed Runtime solo admite aplicaciones creadas a partir de una plantilla de PWA Kit. Podrá encontrar el código fuente para las plantillas disponibles en las carpetas template-*
en el repositorio de PWA Kit en GitHub.
Esta guía cubre las partes principales de Managed Runtime y cómo acceder a él.
Antes de poder usar Managed Runtime y Runtime Admin, deben estar habilitados y debe solicitar acceso a ellos. Para habilitar Managed Runtime y Runtime Admin para su organización, comuníquese con su equipo de cuentas de Salesforce. Para obtener acceso, pídale a su administrador de Commerce Cloud que agregue uno de los siguientes roles a su cuenta mediante Account Manager: Usuario de Managed Runtime 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 escaparate en particular alojado por Managed Runtime. Los entornos se utilizan para separar su escaparate de producción de otros escaparates 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.
El equipo de Soporte de Salesforce les da prioridad respecto al monitoreo a los entornos marcados como de producción. Para entornos de producción, también puede depurar con el Log Center. Para marcar un entorno como de producción, tiene dos opciones:
- Usar la herramienta Runtime Admin. Las instrucciones paso a paso para crear un entorno o editar un entorno existente se encuentran en la sección Entornos de la guía Administración.
- 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, establezcais_production
comotrue
.
Por defecto, puede marcar hasta 10 entornos como de producción. Para aumentar su límite, comuníquese con Soporte.
El código del escaparate 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 escaparates 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 y la membresía en una organización de usuarios se determinan mediante los ajustes 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.
Para asignarle a un usuario la membresía en una organización de administradores, comuníquese con Soporte de Salesforce.
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. Consulte la documentación sobre Redireccionamientos para obtener más información.
- 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.
- Access Logs (Registros de acceso): poner en cola registros en todos los entornos.
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:
Rol | Examinar | Gestionar redireccionamientos | Implementar | Gestionar equipo | Registros de acceso |
---|---|---|---|---|---|
Administrador | Sí | Sí | Sí | Sí | Sí |
Desarrollador | Sí | Sí | Sí | No | Sí |
Encargado de marketing | Sí | Sí | No | No | No |
Solo lectura | Sí | No | No | No | No |
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).
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:
- El Managed Runtime Admin, una IU basada en la web.
- 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
- Encabezados de control de acceso permitidos
- Paquete implementado actualmente
- Región de implementación
- Proxies
- Redireccionamientos
- Permisos de usuario
- Indicador de entorno de producción
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 escaparate, la herramienta Runtime Admin una aplicación de React headless que se implementa en Managed Runtime.
Cuando construya su escaparate, tenga en cuenta las siguientes limitaciones de los entornos de Managed Runtime:
- Los entornos solo responden a solicitudes cuyo encabezado
Host
de HTTP coincida con el Nombre del servidor externo configurado en Runtime Admin. - La ruta
/
solo acepta solicitudes HTTP GET. - El tamaño de la solicitud y la respuesta no puede superar los 6 MB.
- El tamaño máximo de la línea de solicitud de HTTP y los encabezados es de 10240 bytes. Las solicitudes que superen este tamaño arrojan un error HTTP 413 Contenido demasiado grande.
- Las cookies, incluidas la solicitud HTTP
Cookie
y el encabezado de respuesta HTTPSet-Cookie
, no son admitidas de forma predeterminada. Se pueden habilitar estableciendo el atributoallow_cookies
en un entorno con el projects_target_partial_update punto de conexión. También puede habilitar las cookies en la Configuración del entorno en Runtime Admin. Las cookies son compatibles con la versión 3.1.0 o superior de PWA Kit. Consulte Personalizar con cookies. - No se admiten las solicitudes con encabezados que comiencen por
_
. Estas solicitudes serán descartadas. - Las solicitudes HTTP que se originan en entornos de Managed Runtime no usan direcciones IP fijas. Para permitir las solicitudes de lista del servidor de la aplicación, utilice el Rango de IP de AWS para
EC2
. Para permitir las solicitudes de lista de conexiones de proxy, utiliceCLOUDFRONT_ORIGIN_FACING
. - El prefijo de la ruta de acceso
/mobify
se reserva para los puntos de conexión administrados. Estos puntos de conexión incluyen:/mobify/ping
: arroja un código de respuesta HTTP 200 cuando el entorno está operando correctamente./mobify/redirect/$path
: arroja una respuesta similar a projects_target_redirect_retrieve./mobify/proxy/$name
: arroja una respuesta de un proxy.
- Puede omitir la caché de la CDN utilizando el encabezado de solicitud HTTP:
x-mobify-cachebreaker: 1
- Las listas permitidas de IP de entorno admiten hasta 250 direcciones IP. Este límite no se puede aumentar.
- Los encabezados de control de acceso del entorno admiten hasta 2 encabezados. Cada encabezado:
- Puede contener hasta 128 caracteres.
- Puede ser una combinación de caracteres alfanuméricos y caracteres - y _
- Consulte Encabezadosde control de acceso.
- El tiempo de ejecución para las solicitudes de servidor de la aplicación se limita a 20 segundos.
- Los rechazos de promesas no controlados rompen la renderización de la aplicación.
- El tamaño máximo de los paquetes es de 400 MB y el tamaño máximo de todos los archivos
ssr_only
yssr_shared
dentro del paquete es de 249 MB. - Los activos estáticos que pueden cargarse y enviarse son los siguientes tipos de contenido:
application/javascript
,application/json
,image/png
,image/gif
,image/jpeg
,image/svg+xml
,image/webp
,text/css
,text/plain
y las fuentes (ttf
,woff
,woff2
,otf
, etc.). Todos los demás tipos de contenido deben ser enviados por un sistema externo.
Las conexiones de proxy de Managed Runtime tienen diferentes restricciones.
Puede suscribirse a las actualizaciones sobre la disponibilidad de los servicios de Managed Runtime en Estado de Salesforce.
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 usar Managed Runtime y Runtime Admin, deben estar habilitados y debe solicitar acceso a ellos. Para habilitar Managed Runtime y Runtime Admin para su organización, comuníquese con su equipo de cuentas de Salesforce. Para obtener acceso, pídale a su administrador de Commerce Cloud que agregue uno de los siguientes roles a su cuenta mediante Account Manager: Usuario de Managed Runtime o Managed Runtime Admin.