Cloudflare Containers
Qué es
Piensa en un de barco: toda tu aplicación y todo lo que necesita quedan empacados en una caja sellada que funciona igual en cualquier lugar. Cloudflare Containers te permite ejecutar un contenedor Linux completo —esa caja sellada— directamente dentro de la red de Cloudflare, junto a tus Workers. Cuando un Worker necesita algo que no puede hacer por sí solo —un runtime (entorno de ejecución) más pesado, un archivo de programa específico, un lenguaje o una librería que no cabe en el sandbox (entorno aislado) de Workers— puede delegar el trabajo a un contenedor que arranca cerca de tus usuarios. Tú defines el contenedor, y un Worker controla cuándo se inician, se detienen y escalan las copias.
Fortalezas
- Ejecuta imágenes de contenedor reales, así que puedes usar herramientas y runtimes que no funcionan en el sandbox de Workers.
- Vive junto a los Workers en la red global de Cloudflare, así que el salto entre ambos es corto.
- Un Worker orquesta los contenedores, así que conservas el enrutamiento, la autenticación y la lógica de borde () que ya tienes.
- Encaja bien con trabajos por lotes, procesamiento de medios, navegadores sin interfaz (headless) y con portar código existente basado en Docker.
- Escala según demanda y vuelve a reducirse, así que no pagas por servidores inactivos las 24 horas.
Compensaciones
- Más pesado y lento de iniciar que un Worker simple: los arranques en frío (cold starts) —el retraso de calentamiento cuando llega una solicitud y todavía no hay nada corriendo— son reales, así que no es para cada solicitud.
- Más piezas móviles: ahora gestionas una imagen, su compilación y su ciclo de vida, no solo un script.
- Cuesta más que un Worker puro para la misma tarea simple; recurre a esto solo cuando realmente necesites un contenedor.
- Todavía es más nuevo que Workers, así que espera que las herramientas y los límites sigan evolucionando.
Cuándo usarlo
Usa un contenedor cuando un trabajo realmente necesite un sistema operativo (OS, operating system) completo o un runtime que el borde (edge) no puede darte —ejecutar una herramienta (interfaz de línea de comandos, una herramienta que manejas escribiendo comandos) existente, un lenguaje que Workers no soporta, o un paso con mucho cómputo— mientras mantienes tu puerta de entrada nativa de borde en un Worker.
Encaje con vibe coding
Este es un objetivo limpio para la ayuda de la IA porque la forma es familiar: un Dockerfile (la receta que construye el contenedor) más un pequeño Worker que lo lanza. Dile al que estás usando Cloudflare Containers para que conecte correctamente el enlace (binding) entre el Worker y el contenedor, en lugar de asumir una (virtual machine, máquina virtual — una computadora alquilada en la nube) de propósito genérico.
// wrangler.jsonc — bind a container to a Worker
{
"name": "my-app",
"main": "src/index.ts",
"containers": [
{ "class_name": "MyContainer", "image": "./Dockerfile" }
]
}