Por qué ChronoFlow guarda los archivos con dos proveedores y cuánto cuesta cada uno
En el artículo sobre almacenamiento por plan contamos cómo la API decide dónde va cada archivo de ChronoFlow: Free en Cloudflare R2 y Pro en Backblaze B2. Este es el artículo que faltaba, el de por qué son dos proveedores, cuánto cuesta cada uno y qué cedimos con esa decisión. Todas las cifras salen de precios públicos de lista de septiembre de 2026 y son un cálculo, no una factura nuestra.
El tipo de carga que tenemos
Una pantalla de señalización descarga un archivo una vez, lo guarda en su caché y lo reproduce mil veces. Mientras las pantallas no vuelvan a pedir lo que ya tienen, lo que domina la cuenta no es el tráfico sino los gigabytes guardados. Por eso la pregunta que importa es cuánto cuesta un GB al mes y, solo después, qué pasa cuando una pantalla pierde su caché y vuelve al origen.
Lo que comparamos
Miramos cuatro opciones, con los precios públicos de lista aproximados de septiembre de 2026. Cada proveedor publica y cambia los suyos, así que conviene verlos en AWS S3, Azure Blob, Cloudflare R2 y Backblaze B2.
- AWS S3: unos $0,023 por GB al mes. La salida de datos a internet se paga, y con archivos que se vuelven a descargar suele ser lo que más pesa.
- Azure Blob (acceso frecuente): entre $0,018 y $0,02 por GB al mes, con la salida también de pago. Su API no es compatible con S3.
- Cloudflare R2: unos $0,015 por GB al mes y salida de datos a $0. Compatible con S3.
- Backblaze B2: entre $0,006 y $0,007 por GB al mes, el menor de los cuatro. La salida es gratis hasta unas tres veces lo almacenado y sin límite a través de socios como Cloudflare. Compatible con S3.
Por qué no Azure Blob
No por precio. La API de Azure Blob no es compatible con S3, y toda nuestra capa de archivos habla S3 con un endpoint configurable. Usar Azure habría significado una integración aparte para un solo proveedor, algo que solo compensa si el resto del producto ya vive en Azure. No era nuestro caso.
Cuánto cuesta, con números de verdad
Para no atarnos a una cifra de usuarios, calculamos por cada 1.000 cuentas con el límite lleno, que es el caso más caro: 250 MB en Free y 15 GB en Pro, los límites que ya publica el producto. Es solo almacenamiento; el servidor, la base de datos y el correo se presupuestan aparte.
Dos lecturas. La primera es que el grueso del costo está en Pro: guardar 15 TB cuesta unos $90 en B2 y casi cuatro veces eso en S3. Ahí el proveedor más barato por GB gana sin discusión. La segunda es la parte incómoda: en el papel, poner también Free en B2 saldría más barato, unos $1,50 frente a $3,75. La diferencia de tener a Free en R2 es de unos dos dólares al mes por cada 1.000 cuentas.
Entonces, ¿por qué dos?
Porque pagar un par de dólares compra cosas que una hoja de cálculo de dólares por GB no ve:
- Tráfico distinto. Las cuentas gratuitas son las que todavía leen del origen de vez en cuando, por ejemplo cuando una pantalla no encuentra un archivo en su caché. En R2 eso cuesta $0, así que no hay que vigilarlo.
- Radio de explosión. Un abuso, o un pico de cuentas gratuitas, queda en su propio proveedor y no infla la factura de los clientes que pagan.
- Un borde claro al subir de plan. Pasar a Pro es un hecho concreto: los archivos se mudan de un proveedor a otro con un trabajo definido (lo cuenta el otro artículo), y bajar de plan no mueve nada.
- Margen para después. Si algún día la reproducción pesada necesita tráfico sin costo de salida, R2 ya está ahí, sin rehacer lo gratuito.
Lo que nos cuesta la decisión
Dos juegos de credenciales y dos discos configurados, un trabajo de mudanza que hay que mantener, y las reglas de CORS en dos buckets (por qué también las necesitan). Y una regla que nos impusimos desde el principio: nunca caer en silencio a otro proveedor. Si un disco falla, la API falla con un error claro, porque preferimos enterarnos en el despliegue que meses después, con archivos de un cliente en el lugar equivocado.
Lo que descartamos
- Todo en S3. Es la opción de siempre, pero con el precio por GB más alto de la lista y salida de pago.
- Todo en B2. Más barato en papel por dos dólares, pero sin aislamiento entre Free y Pro y sin salida gratuita garantizada para el tráfico que más nos preocupa.
- Azure Blob por defecto. Sin API de S3, sería una integración aparte sin una razón que la justifique.
Lo que revisaríamos
Esto es un modelo de precios de lista, no una factura, y una decisión así tiene que revisarse con datos reales: si el costo operativo de mantener dos proveedores llega a pesar más que el aislamiento que compramos, volvemos a la hoja. Cuando tengamos datos reales de uso por plan, es lo primero que miraremos.
Para seguir leyendo
Cómo funciona por dentro la decisión: almacenamiento por plan. Cómo publicamos las apps en las tiendas: releases automatizados. El mapa de todas las guías: Construyendo ChronoFlow. Si estás eligiendo dónde guardar los archivos de tu producto: Servicios.