Cloudflare lanzó el servicio Worker Previews para proporcionar un entorno de ejecución independiente para cada rama de Git, de modo que los cambios de código puedan probarse en condiciones más cercanas a la producción sin afectar al tráfico, las configuraciones ni el estado propio de la versión en funcionamiento. El servicio ya está disponible para los usuarios de Workers.
Cada vista previa recibe una URL fija para la rama, que se actualiza con cada nuevo envío, además de configuraciones, variables, secretos y vinculaciones independientes. Los desarrolladores pueden enviar solicitudes a la vista previa desde el terminal, los sistemas de integración continua o el navegador, y después examinar los registros, errores, métricas y trazas de ejecución mediante las herramientas de Workers Observability.
Un entorno independiente que va más allá de un simple enlace a la versión
Cloudflare explica que Worker Previews difiere de las anteriores Version URLs. Estas últimas apuntan a una versión cargada específica y pueden utilizar recursos de producción, mientras que Worker Previews crea un entorno aislado para cada rama, con la posibilidad de ejecutar cientos de vistas previas en paralelo dentro de un único panel de control. Esto permite probar puntos de API, cambios en la interfaz de usuario y flujos de inicio de sesión en un contexto de ejecución real, en lugar de limitarse a revisar el código o depender de un entorno de staging compartido.
Al ejecutar el comando npx wrangler preview, Cloudflare crea la versión de la vista previa basándose en una configuración básica que el desarrollador define en el archivo de Wrangler. Es posible modificar configuraciones de determinadas vistas previas, como dirigirlas a una base de datos o a una clave de API de prueba, sin cambiar las configuraciones de producción ni las de otras vistas previas. También se pueden proporcionar las direcciones de las vistas previas mediante un dominio personalizado, utilizando Cloudflare Access para protegerlas y restringir el acceso a ellas.
Aislamiento del estado y de los recursos sensibles
El aislamiento se extiende a los recursos con estado. Cada vista previa dispone de un espacio independiente de Durable Objects y de una aplicación independiente de Containers, lo que impide que los cambios de estado, las sesiones, las migraciones o los cambios de esquema fallidos lleguen a producción o a otras ramas. Cloudflare vincula este comportamiento al contexto de código de la rama: ctx.exports se resuelve en el espacio de producción cuando se ejecuta en producción y en el espacio de vista previa adecuado cuando se ejecuta dentro de una rama experimental.
En la práctica, esto permite comparar distintas configuraciones de una misma aplicación, como probar el rendimiento de la ejecución en frío y en caliente, mientras los resultados de cada experimento permanecen confinados a su entorno. También se puede utilizar Browser Run para abrir el enlace de la vista previa en un navegador sin interfaz, ejecutar flujos de inicio de sesión y capturar instantáneas o sesiones reproducibles, y después vincular lo que vio el usuario con las trazas de ejecución y los errores registrados.
¿Qué cambia en la práctica?
Worker Previews ofrece un ciclo de retroalimentación previo a producción para cada rama: desplegar el cambio, ejecutarlo, monitorizarlo, corregir el fallo y volver a probar antes de fusionarlo. Cloudflare considera que esto respalda lo que denomina ciclo de vida de desarrollo de agentes, en el que el agente de software puede ejecutar el cambio, examinarlo y revisar sus resultados dentro del propio ámbito de la rama, con la posibilidad de intervención del revisor humano cuando sea necesario.
Cloudflare utilizó el servicio internamente para probar CloudflareOS y Gatekeepers, especialmente los flujos que combinan OAuth, permisos, aprobaciones y estado de la aplicación. La empresa también citó experiencias de Supermemory y Ramp sobre la prueba de cambios en Workers y la revisión de solicitudes de fusión desde dispositivos móviles.
Limitaciones anunciadas y próximos pasos
Actualmente, las vistas previas no aíslan toda la cadena de solicitudes en las aplicaciones compuestas por varios Workers; una vinculación de servicio desde una vista previa puede invocar la versión de producción del Worker vinculado. Asimismo, las vistas previas pueden enviar mensajes a Queues, pero todavía no pueden consumirlos, y el aislamiento de la ejecución de Workflows requiere una configuración independiente. Cloudflare está trabajando para ofrecer compatibilidad con estos flujos, además de proporcionar vistas previas de larga duración para entornos de staging, QA y entornos de desarrollo continuos.
Lectura de certi.news: el valor principal del anuncio no es crear un nuevo enlace de prueba, sino trasladar el aislamiento al nivel de las configuraciones, el estado y la monitorización. Esto reduce los riesgos de probar cambios que afectan a recursos con estado, pero no elimina la necesidad de diseñar cuidadosamente el entorno de prueba, especialmente cuando el servicio depende de varios Workers, colas y mensajes, y flujos de larga duración. Por ello, Worker Previews parece más completo que la vista previa de una versión individual, aunque algunas partes de la aplicación siguen fuera del modelo de aislamiento completo en la versión actual.