Suscríbete para recibir notificaciones de nuevas publicaciones:

Una experiencia unificada para los desarrolladores en Cloudflare Workers y Pages

2023-05-17

6 min de lectura
Esta publicación también está disponible en English, Français, Deutsch, 日本語 y 简体中文.

Hoy, nos complace anunciar que Pages y Workers van a unir sus fuerzas para ofrecer una experiencia de producto única.

Bringing a unified developer experience to Cloudflare Workers and Pages

Todos hemos pasado por eso. En un arrebato de creatividad, visualizas mentalmente la aplicación que quieres desarrollar, con gran claridad, y todos sus componentes encajan a la perfección, quizás un front-end representado en el lado del servidor y una base de datos SQLite para tu back-end. Te diriges a tu ordenador con la cabeza llena de ideas. Sabes que puedes desarrollarla, solo necesitas las herramientas adecuadas. Inicias sesión en el panel de control de Cloudflare, y te enfrentas a una decisión realmente difícil:

¿Cloudflare Workers o Pages?

A simple vista, ambas soluciones son muy similares, pero también se distinguen en los detalles. ¿Cuál de ellas te permitirá hacer realidad tu idea? ¿Y si no eliges la solución adecuada? ¿Qué concesiones debes hacer si eliges una u otra? Son cuestiones que nuestros usuarios nunca deberían tener que plantearse. En realidad, sin embargo, a veces afrontan ese dilema. Nuestra amplia comunidad de usuarios y clientes nos lo confirma cuando hablamos con ellos. La parálisis en la toma de decisión tiene un fuerte impacto a la hora de elegir entre Pages y Workers, puesto que ambos productos están dedicados al desarrollo de aplicaciones sin servidor.

En resumen, esta no es la experiencia que queremos ofrecer a nuestros usuarios, especialmente cuando estás a punto de tener una idea fantástica, o incluso una gran idea. Por este motivo, nos complace mostrar la primera etapa hacia la fusión de las mejores funciones de estos dos apreciados productos, Workers y Pages, en una plataforma de desarrollo única y potente. Esto supone solo el comienzo del camino hacia un destino común de ambos productos. Queríamos por tanto aprovechar esta oportunidad para explicarte por qué emprendemos este camino, las funciones que puedes utilizar hoy y cuáles serán los próximos pasos.

Más información sobre el "por qué"

Pages y Workers siempre han estado entrelazados. Hasta hoy, siempre hemos considerado estos dos productos soluciones hermanas: cada uno tiene sus propias características distintivas, pero ambos permiten a sus usuarios respectivos desarrollar aplicaciones potentes y sofisticadas. Cada producto estaba dedicado a un conjunto determinado de casos de uso.

Workers representó inicialmente una forma de ampliar nuestra CDN y posteriormente se desarrolló para convertirse en una plataforma informática con una finalidad general totalmente configurable. Pages fue inicialmente una solución de alojamiento web estático, que se amplió al territorio de Jamstack. Con el tiempo, Pages empezó a adquirir las potentes funciones informáticas de Workers, mientras que Workers empezó a adoptar las valiosas funciones de desarrollo presentadas por Pages. Los límites entre estos dos productos se difuminaron, lo que dificultaba a nuestros usuarios comprender las diferencias y elegir el producto adecuado para las necesidades de sus aplicaciones.

Sabemos que podemos hacerlo mejor para mitigar esta parálisis en la toma de decisión y ayudarte a avanzar rápidamente durante tu experiencia de desarrollo.

Fantástico, ¿pero qué quiere decir eso exactamente?

En lugar de verte obligado a realizar concesiones entre estos dos productos, queremos proporcionarte lo mejor de ambos entornos: una plataforma de desarrollo única, que cuenta con una potente capacidad informática y una función de alojamiento de activos estáticos extremadamente rápida, que se integra perfectamente en nuestra cartera de productos de almacenamiento como R2, Queues y D1, entre otros, y que te proporciona sofisticadas herramientas como CI/CD, flujos de trabajo git-ops, previsualizaciones en directo y configuraciones de entorno flexibles.

Todos los detalles en una única ubicación

Hoy en día, muchos desarrolladores utilizan tanto Pages como Workers para desarrollar componentes de sus aplicaciones. Sin embargo, estos productos aún residen en distintas ubicaciones del panel de control de Cloudflare, y no disponen de funciones que permitan la conversión de los datos de uno a otro, lo que dificulta la utilización conjunta y el seguimiento de la pila de tu aplicación. Aunque aún estamos reflexionando sobre qué aspecto tendrá la futura solución, estamos considerando un entorno donde los usuarios tengan la capacidad de gestionar todas sus aplicaciones en una única ubicación.

Se acabó desplazarse de un lado a otro por el panel de control en busca de los componentes de tu aplicación: dispondrás de un acceso inmediato a toda la información necesaria acerca de un proyecto.

Primitivas

La convergencia de Pages y Workers nos permitirá redefinir también el concepto de "proyecto", presentando un nuevo lienzo en blanco de posibilidades que se podrán interconectar. En un proyecto, podrás añadir (1) activos estáticos, (2) funciones sin servidor (Workers), (3) recursos o (4) cualquier combinación de estos elementos.

Para liberar todo el potencial de tu aplicación, estamos analizando funciones de proyecto que te permitan el autosuministro y que se integren directamente con recursos como KV, Durable Objects, R2 y D1. Y, aún más importante, la posibilidad de utilizar todas estas primitivas en un proyecto te permitirá realizar de forma segura restauraciones y previsualizaciones, puesto que garantizaremos la sincronización de las versiones de tus activos, funciones y recursos con cada implementación. Por lo tanto, no tendrás que preocuparte acerca de si alguno de ellos está obsoleto en tu siguiente implementación.

Implementaciones

Una de las cualidades más destacadas de Pages es su enfoque centrado en git-ops de las implementaciones. En nuestro entorno convergente, podrás conectar, desarrollar e implementar repositorios git que contengan cualquier combinación de activos estáticos, funciones sin servidor y enlaces a recursos, así como beneficiarte del mismo sistema de CI de alto rendimiento que existe actualmente en Pages.

Al igual que en Pages, podrás previsualizar las implementaciones de tu proyecto con URL únicas protegidas por Cloudflare Access, disponible en tus PR o mediante un comando de Wrangler. Puesto que sabemos que las grandes ideas deben ser objeto de un escrupuloso escrutinio antes del gran lanzamiento, dispondremos también de un excelente concepto de entornos que permitan la realización de pruebas en las distintas configuraciones.

Desarrollo local

Uno de los aspectos más importantes a tener en cuenta es sin duda nuestra historia de desarrollo local en un entorno posconvergente. Esta experiencia de los desarrolladores no debería ser distinta de nuestro método de convergencia de los productos. En el futuro, cuando trabajes con nuestra interfaz de línea de comandos de Wrangler, dispondrás de un conjunto unificado y previsible de comandos utilizables en tu proyecto, por ejemplo, los sencillos comandos "wrangler dev" y "wrangler deploy". Gracias a un archivo de configuración aplicable a todo tu proyecto, junto con todos sus componentes, puedes estar seguro de que tu comando actuará sobre el proyecto en su totalidad, no a nivel parcial.

¿Cuáles son las ventajas?

Con la convergencia de Workers y Pages, no nos limitamos a reunir en una plataforma de desarrollo única todas las funciones de cada producto más valoradas por los desarrolladores. También ofrecemos todas las ventajas de rendimiento, coste y carga, tales como:

  • Latencia extremadamente baja, con activos estáticos y capacidad informática distribuidos por todo el mundo en nuestra red, presente a solo 50 ms del 95 % de la población mundial conectada a Internet.

  • Sin tarifas de salida y alojamiento también gratuito de activos estáticos.

  • Entorno de ejecución JavaScript basado en estándares que ofrece perfecta compatibilidad con los paquetes y las bibliotecas con los que ya estás familiarizado.

Migraciones fluidas para todos

Si ya eres un usuario de Pages o Workers y te empieza a inquietar las repercusiones que este cambio pueda suponer para tus proyectos existentes, no temas. En el desarrollo de esta arquitectura fusionada, la migración fluida es nuestra principal prioridad y la estrella que nos guía en cada etapa hacia una plataforma de desarrollo unificada. Los proyectos existentes en Pages y Workers continuarán funcionando sin la más mínima intervención de los usuarios. Por el contrario, cada vez tendrás acceso a un número mayor de funciones para enriquecer tus proyectos y flujos de trabajo existentes, sea cual sea el producto con el que hayas empezado a trabajar.

¿Qué novedades hay hoy?

Durante el año próximo, trabajaremos para desarrollar la convergencia de Pages y Workers en una experiencia única, combinando no solo los propios productos sino también los equipos de producto, de ingeniería y de diseño en la sombra.

Aunque estamos impacientes por darte la bienvenida en este entorno convergente, este cambio no se producirá, por desgracia, de un día para otro. Tenemos la intención de alcanzar etapas importantes pero progresivas, durante los próximos trimestres, a fin de garantizar una transición fluida hacia la convergencia. Y, con ocasión de esta Developer Week, nos complace dar el primer paso hacia la convergencia. Quizás empiezas a ver diferencias en el panel de control.

Empecemos juntos

La experiencia de integración de Pages y Workers en un solo flujo supondrá algunos cambios en nuestro panel de control al crear un proyecto. Estamos acercando lentamente los dos productos unificando el flujo de creación, lo que te permite crear un proyecto de Pages o un proyecto de Worker desde una pantalla única.

Trabaja más rápido gracias a las plantillas

Entendemos el típico impulso de los desarrolladores de ponerse inmediatamente manos a la obra y de lanzarse a hacer realidad su gran visión. Ahora hacemos más fácil que nunca la transición de una idea a una aplicación implementada en la red de Cloudflare. En apenas unos clics, puedes implementar una plantilla inicial, que puede ser desde un sencilla instancia de Worker "Hello World" hasta un complemento para ChatGPT. En el futuro, elaboraremos plantillas de Pages en nuestro panel de control, que te permitirán crear automáticamente un nuevo repositorio e implementar aplicaciones integrales iniciales en unos clics.

Acceso inmediato a tus infraestructuras integrales favoritas

No nos limitamos tampoco a las plantillas estáticas o a nuestro panel de control. La integración de la infraestructura que elijas no significa que tengas que abandonar las herramientas que te gustan y con las que ya estás familiarizado. Si estás impaciente por descubrir a qué nos referimos cuando hablamos de "implementar con tu infraestructura integral favorita" o "comprobar la eficiencia de Workers”, ejecuta los comandos siguientes:

en tu terminal y disfruta del espectáculo. Esta nueva experiencia de interfaz de línea de comandos se integra con las interfaces de línea de comandos de algunas de nuestras excepcionales infraestructuras integrales, totalmente compatibles, como Angular, Next, Qwik y Remix, lo que te proporciona un control total sobre cómo crear nuevos proyectos. Desde esta herramienta también puedes implementar distintas instancias de Workers con nuestras potentes plantillas iniciales, en una experiencia similar a la de un asistente.

npm create cloudflare@latest

Una ubicación única donde encontrar todas tus aplicaciones

La fusión de los paneles de control de las listas de proyectos de Pages y de Workers supone un paso más hacia una experiencia unificada. Una vez que hayas implementado tu aplicación, observarás que todos tus proyectos de Pages y de Workers se agrupan en una única página, lo que evitará que te tengas que desplazar a distintas áreas de tu panel de control. Realiza un seguimiento de los datos de análisis de uso de Workers/Pages Functions desde una única ubicación. En el futuro, estas tarjetas no serán identificables como Pages y Workers, sino como solo "proyectos" que combinarán activos, funciones y recursos.

¿Y después?

Conforme avancemos en este camino, observarás que ambos productos serán cada vez más similares, a medida que desbloqueemos funciones para cada plataforma, hasta que estén listos para la unificación, como la integración de git para tus instancias de Workers y un archivo de configuración para tus proyectos de Pages.

No pierdas de vista Twitter para descubrir las nuevas funciones y saber más sobre las novedades de cada etapa.

¿Tienes alguna reflexión?

Por supuesto, no podríamos desarrollar una plataforma excepcional sin escuchar primero la voz de nuestra comunidad. De hecho, hemos preparado una encuesta para recopilar más información sobre nuestros usuarios y recoger sus comentarios sobre lo que les gustaría ver. Si tienes unos minutos, puedes completarla o ponerte en contacto con nosotros en Cloudflare Developers Discord o mediante Twitter @CloudflareDev.

Protegemos redes corporativas completas, ayudamos a los clientes a desarrollar aplicaciones web de forma eficiente, aceleramos cualquier sitio o aplicación web, prevenimos contra los ataques DDoS, mantenemos a raya a los hackers, y podemos ayudarte en tu recorrido hacia la seguridad Zero Trust.

Visita 1.1.1.1 desde cualquier dispositivo para empezar a usar nuestra aplicación gratuita y beneficiarte de una navegación más rápida y segura.

Para saber más sobre nuestra misión para ayudar a mejorar Internet, empieza aquí. Si estás buscando un nuevo rumbo profesional, consulta nuestras ofertas de empleo.
Developer Week (ES)Desarrolladores

Síguenos en X

Nevi Shah|@nevikashah
Cloudflare|@cloudflare

Publicaciones relacionadas

24 de octubre de 2024, 13:00

Durable Objects aren't just durable, they're fast: a 10x speedup for Cloudflare Queues

Learn how we built Cloudflare Queues using our own Developer Platform and how it evolved to a geographically-distributed, horizontally-scalable architecture built on Durable Objects. Our new architecture supports over 10x more throughput and over 3x lower latency compared to the previous version....