Ejecutando Cloudflare Workers en Spin Apps

Guía práctica para integrar Cloudflare Workers en Spin, empaquetarlos en un binario Wasm único y desplegar en runtimes como SpinKube y Akamai Wasm Functions.

18 ago 2025 • 6 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

By Matt Butcher traducido y reescrito por Q2BSTUDIO

En la actualidad existen muchos tipos de funciones sin servidor. Cloudflare Workers es una forma popular diseñada para ejecutarse en el edge. En muchos casos es posible compilar, cargar y ejecutar Cloudflare Workers dentro de aplicaciones Spin, lo que ofrece flexibilidad para desplegar en Cloudflare o empaquetar todo en un binario Wasm para entornos compatibles con Spin como SpinKube Kubernetes Fermyon Cloud o Akamai mediante Wasm Functions.

Antes de entrar en la parte practica es importante entender la diferencia principal entre Cloudflare Workers y las aplicaciones Spin. Cloudflare ejecuta archivos JavaScript en un interprete basado en V8. Cuando Cloudflare ejecuta un Worker carga los archivos JS en ese interprete y los ejecuta. Spin en cambio ejecuta binarios WebAssembly. Al ejecutar spin build se compila un binario Wasm. En aplicaciones JavaScript para Spin lo que hacemos es incluir un runtime de JavaScript como SpiderMonkey cargar los scripts en ese runtime y compilar todo a Wasm. El resultado no contiene archivos .js ejecutables por separado sino bytecode Wasm.

La tecnica que mostramos consiste en tratar al Worker como una biblioteca. Eso significa que en tiempo de compilacion el Worker se compila junto al codigo de Spin dentro del mismo binario WebAssembly y asi se integra completamente.

Para seguir este tutorial asumimos que ya tiene instalados Spin y npm. Empezaremos creando una app Spin JavaScript dentro de la cual añadiremos un Cloudflare Worker, verificaremos su ejecucion local y luego enlazaremos Spin para enrutar peticiones al Worker. Al compilar tendremos un unico artefacto Wasm que contiene el router de Spin y el Worker integrado.

Crear la aplicacion Spin

No hay nada especial para crear una app Spin que invoque un Worker. El proceso standard es por ejemplo ejecutar en su terminal spin new -t http-js --accept-defaults spin-worker para generar la estructura basica de proyecto. A continuacion entre en el directorio cd spin-worker y ejecute spin build para verificar que el proyecto compila correctamente.

Una vez construido puede arrancar el servicio con spin up y desde otra terminal probar con curl localhost:3000 para ver la respuesta por defecto hello universe que demuestra que la aplicacion Spin funciona.

Crear un Worker

Para crear un Cloudflare Worker dentro del proyecto utilice npm create cloudflare@latest -- cf-worker y siga las indicaciones seleccionando Hello World example Worker only JavaScript sin git ni despliegue automatico. Esto creara un subdirectorio cf-worker. Para probar el Worker de forma independiente puede usar npx wrangler dev que levanta un servidor local usualmente en el puerto 8787 y respondera Hello World o el texto que configure.

Edite el archivo cf-worker/src/index.js y modifique la funcion fetch para devolver un texto identificable por ejemplo Hello from a worker. Reinicie wrangler dev y compruebe con curl localhost:8787 que recibe la respuesta esperada.

Llamar al Worker desde Spin

Abra el codigo de Spin en spin-worker/src/index.js y modifique el router para ofrecer una ruta raiz que responda Hello from Spin y una ruta adicional /worker que invoque la funcion fetch del Worker embebido. Importe el Worker desde ../cf-worker/src/index y añada una ruta .get /worker Worker.fetch para que al recibir esa ruta Spin ejecute el fetch del Worker integrado. Reconstruya con spin build --up y pruebe con curl localhost:3000 y curl localhost:3000/worker para verificar que ambas rutas devuelven Hello from Spin y Hello from a worker respectivamente.

Con esta aproximacion el Worker se compila junto al resto de la app y se ejecuta desde el mismo binario Wasm por lo que no necesita desplegarse por separado si su objetivo es ejecutar todo dentro de un runtime compatible con Spin.

Despliegue en runtimes compatibles

El paquete Wasm resultante puede ejecutarse en diversos entornos como SpinKube en Kubernetes Fermyon Cloud Azure AKS Rancher Desktop o Akamai mediante Fermyon Wasm Functions. Para desplegar en Akamai con el plugin Spin Akamai basta con ejecutar spin aka deploy desde el directorio del proyecto y seguir las instrucciones. Tras el despliegue recibira una URL publica donde podra acceder tanto a la ruta raiz como a la ruta /worker y comprobar que el Worker integrado responde correctamente.

Limitaciones y siguientes pasos

Muchas funciones de Cloudflare Workers se adaptan bien a esta integracion sin embargo hay APIs que difieren entre el entorno de Workers y el ecosistema Spin. En futuros desarrollos conviene crear capas de adaptacion que seleccionen recursos como key value storage segun el runtime objetivo. Con un diseño cuidadoso es posible mantener una unica base de codigo que soporte tanto ejecucion nativa en Cloudflare como empaquetado dentro de Spin.

Acerca de Q2BSTUDIO

En Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos soluciones que combinan inteligencia artificial y ciberseguridad para empresas de todos los tamanos. Nuestros servicios incluyen integracion con servicios cloud aws y azure desarrollo de servicios de inteligencia de negocio e implementacion de soluciones de ia para empresas. Tambien desarrollamos agentes IA personalizados y cuadros de mando con power bi para maximizar el valor de sus datos.

Si su empresa busca modernizar aplicaciones migrar cargas a la nube o incorporar capacidades avanzadas de inteligencia artificial y ciberseguridad Q2BSTUDIO puede ayudar. Implementamos soluciones seguras escalables y orientadas a resultados que integran las mejores practicas en desarrollo de software aplicaciones a medida y en la adopcion de servicios cloud aws y azure.

Palabras clave y posicionamiento

Este articulo incluye terminos relevantes para mejorar posicionamiento como aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA y power bi. Utilice estos terminos en su estrategia de contenido para atraer clientes interesados en desarrollos personalizados y soluciones de inteligencia de negocio.

Contacte con Q2BSTUDIO para evaluar su proyecto recibir una demostracion o solicitar un presupuesto. Podemos ayudarle a integrar Cloudflare Workers dentro de flujos basados en Spin o a desplegar soluciones serverless y Wasm en multiplataforma aprovechando la potencia de la nube y la inteligencia artificial para impulsar su negocio.

Resumen practico

En resumen puede incorporar un Worker de Cloudflare dentro de una app Spin siguiendo estos pasos crear app Spin crear Worker probar Worker por separado importar el Worker en Spin y enrutar peticiones al Worker compilar todo a Wasm y desplegar en el runtime deseado. Esta estrategia reduce la complejidad de gestionar dos despliegues separados y facilita el mantenimiento de una sola base de codigo que sirva tanto para entornos edge como para entornos basados en WebAssembly.

Q2BSTUDIO acompana a las empresas en cada fase del proyecto desde el diseno hasta el despliegue y mantenimiento asegurando soluciones seguras y optimizadas que integran aplicaciones a medida software a medida inteligencia artificial y ciberseguridad para obtener resultados medibles.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat