La respuesta corta

El almacenamiento de objetos en la nube es una de esas partidas que parece minúscula el día uno y se convierte silenciosamente en un segundo alquiler hacia el mes doce. La razón no es que almacenar sea caro: es que el modelo de precios que elijas cambia lo que tu factura realmente mide. Hoy dominan el mercado tres formas:

  • Pago puro por uso (AWS S3, Cloudflare R2, nivel estándar de Backblaze B2). Pagas por GB almacenado, por GB que sale y por millón de llamadas a la API.
  • Suscripción de tarifa plana (Wasabi, Backblaze B2 Reserve, algunos servicios de backup “ilimitados”). Una cuota mensual o anual predecible, con topes o mínimos incluidos.
  • Por niveles híbrido (S3 con Standard-IA o Glacier, niveles de acceso infrecuente en competidores). Más barato por GB si prometes que los datos se quedarán quietos.

Cada modelo cobra de forma justa un perfil de carga distinto. El error es elegir uno porque el precio de cabecera parece bajo. Para un fundador con un producto pequeño, la pregunta correcta no es “cuál es más barato por GB”, sino “qué modelo encaja con cómo se comportan mis datos realmente”.

Qué estás pagando en realidad

Las facturas de object storage se reparten en tres cubos, y cada proveedor los mezcla de forma distinta.

1. Almacenamiento (los datos sentados en el bucket). Se cobra por GB-mes, normalmente promediado a lo largo del mes. Es la cifra que todo el mundo cita.

2. Egress (datos que salen del bucket). Se cobra por GB enviado a tus usuarios, a otra nube o a internet público. Aquí llegan las facturas sorpresa. AWS S3 cobra alrededor de $0.09/GB hacia internet; Cloudflare R2 cobra $0; Backblaze B2 cobra cerca de $0.01/GB con un pequeño cupo diario gratis.

3. Operaciones de API (las peticiones que hace tu app). Las escrituras (PUT, subidas multiparte, listados) suelen costar más que las lecturas (GET, HEAD). R2 cobra unos $4.50 por millón de operaciones Clase A y $0.36 por millón de operaciones Clase B tras un nivel gratuito generoso.

Un modelo mental útil: almacenar es alquiler, el egress es el envío, y las operaciones son la puerta abriéndose cada vez. Una carga de assets estáticos abre mucho la puerta y envía mucho. Una carga de backup paga alquiler durante años y rara vez envía.

Cómo se comporta cada modelo

Pago puro por uso

No pagas nada cuando no almacenas nada, y pagas más a medida que creces. Sin compromisos, sin contratos y sin penalización por probar. La desventaja es que la factura es un objetivo móvil: un pico de tráfico repentino — un post en Hacker News, un demo viral, un cron mal configurado — puede multiplicar tus cargos de egress de la noche a la mañana.

Para un fundador indie en el primer año, suele ser el modelo más seguro. Todavía estás aprendiendo la forma real de tu almacenamiento y ancho de banda. Bloquearte en una tarifa plana antes de conocer esa forma es una apuesta con dinero attached.

Suscripción de tarifa plana

Pagas una cantidad fija al mes o al año y recibes un bucket de almacenamiento, a veces con egress incluido, a veces con topes. Wasabi es el ejemplo más claro: alrededor de $0.0049/GB-mes con un compromiso mínimo de 90 días de almacenamiento y egress incluido en el precio del almacenamiento. Backblaze B2 Reserve ofrece un plan anual por capacidad con egress y operaciones API agrupados.

El atractivo es la previsibilidad presupuestaria. La contrapartida son los mínimos y los topes. Un mínimo de 90 días significa que borrar un bucket de prueba el día diez no te ahorra nada. Una cláusula de “egress gratis hasta 3× los datos almacenados” es generosa para backups y penalizadora para servir subidas de usuarios. Lee la letra pequeña.

Los modelos de tarifa plana brillan cuando tu carga es estable, bien entendida y tu egress es muy bajo o muy predecible. Encajan mal cuando todavía no sabes cómo es tu carga.

Almacenamiento por niveles

Standard, acceso infrecuente, archivo, archivo frío: cada nivel es más barato por GB cuanto más prometas que los datos se quedarán sin tocar. A cambio, pagas tarifas de recuperación y, a menudo, penalizaciones por duración mínima de almacenamiento.

Es una optimización real, pero también un lugar donde los fundadores pagan de más sin darse cuenta. El error clásico es mover backups a un nivel de archivo y luego necesitar restaurar tras un incidente para descubrir que la tarifa de recuperación más la duración mínima se come seis meses de ahorro. Solo usa niveles cuando tu patrón de acceso sea realmente predecible.

Un ejemplo práctico en tres tamaños

Imagina una app indie que guarda imágenes subidas por usuarios y las sirve a través de una CDN. La app almacena 100 GB, envía unos 500 GB al mes y hace un número moderado de llamadas API (unos pocos millones de lecturas, unos pocos cientos de miles de escrituras).

Modelo Factura mensual aproximada
AWS S3 Standard, sin CDN Almacenamiento ≈ $2.30, egress ≈ $45, operaciones ≈ $1. Total: alrededor de $48.
Cloudflare R2 Almacenamiento ≈ $1.50, egress $0, operaciones dentro del nivel gratis. Total: alrededor de $2–$3.
Backblaze B2 + CDN de Cloudflare (Bandwidth Alliance) Almacenamiento ≈ $0.60, egress $0 por la alianza, operaciones pequeñas. Total: alrededor de $1–$2.

Escala eso a 10 TB almacenados y 5 TB de egress al mes, y la imagen se voltea otra vez: la tarifa por GB más alta de R2 se vuelve relevante, el egress de S3 duele, y B2 + Cloudflare sigue ganando porque su tarifa de almacenamiento es tan baja.

El punto no son los números exactos. El punto es que el proveedor más barato a 100 GB a menudo no es el más barato a 10 TB. Vuelve a hacer las cuentas cada pocos meses.

Cómo estimar tu factura real antes de registrarte

Paso 1. Mide tres cifras de tu configuración actual (o un pronóstico realista):

  • GB promedio almacenados al mes
  • GB promedio de egress al mes
  • Operaciones API mensuales estimadas, separadas en lecturas y escrituras

Paso 2. Mételas en la página de precios publicada por cada proveedor. No te fíes de calculadoras de terceros que redondean de forma agresiva.

Paso 3. Añade un multiplicador de 2–3× al egress durante el primer año. Los productos indie crecen de forma desigual. Un momento viral, una mención en un podcast o un bot scrapeando tus assets públicos pueden triplicar tu ancho de banda de la noche a la mañana. Si la factura sigue siendo cómoda a 3× tu estimación, el modelo encaja.

Paso 4. Busca las cláusulas ocultas: duraciones mínimas de almacenamiento, topes de uso justo en niveles “ilimitados”, cargos por requests facturados por 10.000 frente a por millón, y si la transferencia dentro de la misma región es gratis.

Paso 5. Repite el cálculo a 10× tu tamaño actual. El modelo de precios que parece genial a 100 GB puede ser el más caro a 10 TB.

Cuándo encaja cada modelo

  • Elige pago por uso cuando estás pre-lanzamiento, pre-PMF o sirves tráfico variable. AWS S3 solo si necesitas sus funciones avanzadas y ya estás metido en AWS; si no, Cloudflare R2 para cargas con mucho egress, Backblaze B2 para cargas con mucho almacenamiento y poco egress.
  • Elige tarifa plana cuando tu almacenamiento y ancho de banda son estables, tu egress es predecible y valoras una sola línea en tus libros por encima de optimizar el precio por GB. Wasabi o Backblaze B2 Reserve encajan aquí.
  • Elige almacenamiento por niveles cuando realmente tienes datos fríos — proyectos de vídeo terminados, archivos de cumplimiento, snapshots mensuales de base de datos con más de 90 días — y estás seguro de que no los vas a necesitar a menudo.
  • Considera la combinación Backblaze + Cloudflare cuando ya usas Cloudflare como CDN. El egress desde B2 a la red de Cloudflare es gratis, lo que te da el almacenamiento barato de B2 con una economía de entrega parecida a R2. Es el camino de menor coste para servir assets estáticos a escala, con un matiz: el camino gratis solo funciona mientras el tráfico pase por Cloudflare.

La trade-off que nadie menciona

Cada modelo de precios es también un modelo de lock-in. Cambiar de proveedor es técnicamente fácil — todos los servicios importantes hablan la API de S3, así que un cambio de credenciales y endpoint suele bastar — pero los costes operativos se acumulan. Políticas de bucket, reglas de lifecycle, ajustes de CORS, roles IAM y configuraciones de CDN hay que reconstruirlas. Presupuesta una pequeña migración en tu decisión: aunque el nuevo proveedor sea un 40% más barato, un fin de semana de trabajo cuidadoso tiene un coste real para un fundador en solitario.

Preguntas frecuentes

¿El egress en AWS S3 es realmente tan caro? Sí. Para aplicaciones con muchos datos, el egress puede dominar la factura por un factor de cinco a diez frente al coste de almacenamiento. Esa es la razón principal por la que existen R2 y B2.

¿Cloudflare R2 cobra cero egress de verdad? Sí: sin topes, sin umbrales de uso justo, sin necesidad de red asociada.

¿La Bandwidth Alliance de Backblaze y Cloudflare sigue siendo gratis? Históricamente ha sido gratis para el tráfico de B2 a la red de Cloudflare. Trata cualquier cláusula específica como algo que vale la pena revisar en la página de precios del proveedor antes de comprometerte.

¿Cuándo sigue siendo S3 la elección correcta? Cuando necesitas funciones avanzadas (políticas de lifecycle entre muchos niveles, Object Lock para cumplimiento, integración profunda con el resto de AWS), o cuando ya estás pagando a AWS por compute y la facturación consolidada importa.

¿Optimizo primero el coste de almacenamiento o el de egress? Egress, casi siempre. Es la partida que crece más rápido y la más difícil de predecir.

La conclusión

Para la mayoría de fundadores indie en el primer año, un proveedor por uso como Cloudflare R2 — o Backblaze B2 emparejado con la CDN de Cloudflare si necesitas almacenamiento más barato — es el default correcto. Cuesta casi nada a pequeña escala, escala sin negociaciones contractuales y elimina la línea de egress por completo. Pásate a tarifa plana o niveles solo cuando tengas datos reales que muestren que tu carga es lo bastante estable para beneficiarse del trade. Reestima cada trimestre. El proveedor que es más barato en el lanzamiento rara vez es el más barato a 10×.

Fuentes