La mayoría de los posts de “comparación de CDN” que vas a encontrar miden el TTFB desde un data center en EE.UU. sobre un sitio hospedado en EE.UU. Eso no es lo que la mayoría de nuestros clientes necesita. Necesitábamos saber: si sos un e-commerce en San José sirviendo clientes en Costa Rica, Panamá y España, ¿qué CDN gana de verdad?
Corrimos el mismo storefront de Magento 2 en ambos, durante 90 días, con chequeos sintéticos más RUM (Real User Monitoring) y datos reales de clientes.
El setup
- Origen: Linode en São Paulo, 8 vCPU / 16 GB
- Akamai: Linode CDN + Image Manager
- Cloudflare: plan Pro, Polish + Mirage activados, APO desactivado (lo probamos, más sobre eso abajo)
- Tráfico: ~140k únicos/mes, 60% Costa Rica, 22% Panamá, 12% España, 6% otros
Qué medimos
| Métrica | Akamai | Cloudflare |
|---|---|---|
| p50 TTFB (CR) | 142ms | 168ms |
| p95 TTFB (CR) | 380ms | 410ms |
| p50 TTFB (ES) | 38ms | 31ms |
| Bytes de imagen ahorrados | -47% | -52% |
| Egress de origen (mensual) | 480GB | 410GB |
| Costo mensual | $89 | $20 (plan Pro) |
Dónde cada uno se ganó su lugar
Akamai (bundle de Linode) ganó en:
- Cobertura de PoPs en LATAM. La latencia en Costa Rica fue notablemente mejor. El PoP en San José está ahí, mientras que el tráfico “Costa Rica” de Cloudflare en realidad termina en Miami.
- Soporte. Cuando tuvimos que enviar un cambio de certificado TLS un sábado para el lanzamiento de un cliente, tuvimos un humano en Slack en 14 minutos.
Cloudflare ganó en:
- Tráfico de España / UE. Sin competencia — la densidad de PoPs de CF aplasta a Linode ahí.
- Precio. $20 vs $89.
- Transformaciones de imagen. Polish + Mirage fue medible mejor en bytes de imagen ahorrados que el Image Manager de Linode.
APO: no te molestes (para Magento)
Probamos Cloudflare APO por dos semanas. Cacheaba demasiado agresivo para un flujo de carrito con sesión iniciada y terminamos con contenidos de carrito desactualizados para ~3% de los visitantes recurrentes. El arreglo es posible pero no vale la pena para el throughput que teníamos. Para sitios estáticos / Astro / Jamstack este cálculo es completamente distinto: ahí APO es excelente.
Nuestra conclusión
Para tráfico puramente LATAM, ahora usamos por defecto Akamai (vía el bundle de Linode): en parte porque la ganancia de latencia es real, pero sobre todo porque la relación con el partner nos da soporte 24/7 que ha salvado fines de semana de clientes.
Para tráfico mixto LATAM + UE donde el cliente es sensible al costo y el tráfico se inclina a UE, usamos por defecto Cloudflare Pro.
Para sitios puramente estáticos (este, ejem ejem), corremos Cloudflare Pages — pero esa es otra conversación.