Migración de Cloudflare a Bunny.net
(jola.dev)- Un caso de migración de un blog personal a bunny.net para reducir la dependencia centralizada de Cloudflare
- bunny.net es un servicio CDN europeo con base en Eslovenia que ofrece rendimiento rápido a nivel global y una red de PoP eficiente
- Para registrar el dominio se usa Porkbun, y la función “Orange Cloud” de Cloudflare se migra al entorno de bunny.net
- El CDN se configura por completo paso a paso mediante ajustes como Pull Zone, políticas de caché, certificación SSL y Edge Rule
- Incluso solo con funciones básicas como protección DDoS, Origin Shield y Stale Cache, puede ser una alternativa real a Cloudflare para usuarios individuales
Migración de Cloudflare a bunny.net
- Se resume el proceso y la forma de configurar un blog personal en bunny.net para reducir la dependencia de Cloudflare y el problema de la centralización
- Cloudflare ofrece funciones potentes de forma gratuita, pero aumenta la dependencia de una sola empresa y, cuando falla, la estructura hace que afecte a internet en general
- La incomodidad ante la concentración de internet en empresas estadounidenses y varias controversias llevó a buscar una alternativa
Resumen de Bunny.net
- bunny.net es una empresa europea con sede en Eslovenia que ofrece un servicio CDN capaz de competir con Cloudflare
- Muestra alto rendimiento y velocidad a nivel global, y aunque su red de PoP es más pequeña, es eficiente
- Se valora positivamente porque contribuye al crecimiento del ecosistema tecnológico europeo
Salir de Cloudflare
- Se usaba Cloudflare como registrador del dominio del blog, pero fue difícil encontrar una alternativa dentro de Europa
- Se descartó INWX porque no ofrece privacidad WHOIS gratuita, y en su lugar se eligió Porkbun
- Porkbun usa infraestructura de Cloudflare, pero la calidad del soporte es excelente
- La función “Orange Cloud” de Cloudflare (caché automática, ocultación del origen y funciones de protección) se migra a bunny.net
Pasos de configuración de Bunny.net
-
Creación de cuenta
- Al registrarte, ofrece 20 dólares de crédito por 14 días, y 30 dólares adicionales si registras una tarjeta de crédito
- Se puede configurar tras verificar el correo electrónico, y se aplica un modelo de cobro por uso (mínimo de 1 dólar al mes)
- Se cambia a una estructura en la que “el usuario pasa a ser cliente, no producto”
-
Creación de Pull Zone
- Es el componente clave para activar el CDN, ya que conecta el servidor indicando la Origin URL
- Si operas varias apps, especifica el dominio en el encabezado Host
- Al elegir el nivel Standard, se pueden configurar Zones con precios distintos según la región
- Los usuarios de regiones desactivadas son redirigidos a la Zone activa más cercana
-
Conexión de Pull Zone
- Introduce el dominio del sitio web en “Add a custom hostname”
- Siguiendo las instrucciones, agrega un registro CNAME para conectar la ruta del CDN (con formato
website.b-cdn.net) - Tras la propagación DNS, completa la certificación SSL haciendo clic en “Verify & Activate SSL”
- Si todo sale bien, el sitio web queda servido a través del CDN de bunny.net
Configuración de caché
- Si el sitio web devuelve correctamente los encabezados Cache-Control, bunny.net los respeta
- Verifica la opción “Respect origin Cache-Control” en “Caching → General”
- Si está configurado
no-cache, no se almacena en caché
- Si no hay encabezados de caché, la función Smart Cache almacena automáticamente solo imágenes, CSS y JS
- En un blog basado en Elixir Phoenix, se añade un middleware personalizado de encabezados de caché al pipeline
public- Con la configuración
cache-control: public, s-maxage=86400, max-age=0, también se almacenan en caché las páginas HTML - Al publicar una nueva entrada, es necesario vaciar manualmente la caché del Pull Zone para reflejar el HTML más reciente
- Con la configuración
- Según mediciones con la herramienta Larm, se confirmó una mejora en la velocidad de respuesta desde varias ubicaciones del mundo
Configuración básica recomendada
- Activa “Force SSL” para forzar HTTPS en todas las solicitudes
- La protección DDoS viene incluida, y además, al activar Origin Shield, se reduce la carga del servidor
- Selecciona una ubicación cercana al origen para centralizar la caché, y los servidores edge consultarán primero a Origin Shield
- Con las opciones “Stale Cache: While Origin Offline / While Updating”
- se sigue sirviendo contenido en caché incluso si el origen falla
- durante las actualizaciones, se entrega temporalmente la caché anterior
- Agrega una Edge Rule para redirigir el dominio pull zone generado automáticamente al dominio real
- Nombre de la regla: “Default domain redirect”
- Acción: Redirect, código de estado 301
- Condición: cuando se solicite
*://<slug>.b-cdn.net/*, redirigir ahttps://jola.dev{{path}}
Cierre y evaluación
- Esta configuración solo cubre las funciones básicas de bunny.net, y todavía no aborda Edge Rules, configuración avanzada de caché, Security Shield, video streaming, Edge Scripting ni Edge Containers
- Las estadísticas, logs y métricas del panel son muy detallados, y permiten rastrear por solicitud si hubo caché y qué problemas ocurrieron
- A futuro, se está migrando todo a bunny.net y hay expectativa por el lanzamiento de un almacenamiento compatible con S3
- Incluso para usuarios individuales, es una opción suficientemente competitiva como alternativa a Cloudflare
1 comentarios
Comentarios de Hacker News
Si es una entrada de blog positiva, sería bueno indicar para una divulgación transparente que todos los enlaces de la página llevan al Bunny Affiliate Program
Yo uso bunny.net para CDN y DNS
Como me inquieta que los servicios gratuitos algún día se vuelvan de pago, creo que es mejor pagar aunque sea una pequeña cantidad desde el principio. Que suba de $2 a $3 está bien, pero pasar de gratis a $20 es riesgoso
Además, prefiero empresas pequeñas e independientes que se preocupan por los desarrolladores. Por eso uso bunny.net, transistor.fm y Plausible Analytics
Opero un SaaS con Cloudflare Workers + Pages. La experiencia de desarrollo es muy buena porque puedes desplegar funciones serverless y sitios estáticos desde el mismo repositorio
Pero recientemente tuve un problema en el que el caché edge del CDN seguía sirviendo HTML antiguo incluso después del despliegue. Es difícil de depurar y tienes que adivinar qué capa de caché está fallando
Aun así, para empezar con el nivel gratuito es de lo mejor. Con Workers, Pages, KV y R2 puedes operar una app en producción casi gratis
Cloudflare ya no es solo un CDN, sino una plataforma edge. Si puedes migrar fácilmente a Bunny, entonces en realidad no estabas usando las funciones verdaderas de Cloudflare
Es una pena que no soporte bien estándares como WinterTC. Usar una función
servededicada como BunnySDK implica una dependencia propietaria todavía peorNosotros usamos Bunny para varias cosas y estamos muy satisfechos. En especial, la calidad del soporte es excelente. Cloudflare es bueno, pero si no pagas soporte empresarial tiene limitaciones. UpCloud también tiene un soporte muy bueno
Se escucha seguido aquello de que “Cloudflare es un punto único de falla de internet”, pero en la práctica es más complejo
Si los servicios pequeños se usan de forma diversa, la distribución de fallas puede cambiar. A cambio, podría haber fallas más frecuentes pero de menor escala
Además, la infraestructura de Cloudflare no está totalmente centralizada. Algunos servicios son independientes por región
Me cambié a Bunny hace un año y estoy muy satisfecho. También me gusta poder apoyar un CDN con base en la UE, y gracias a Magic Containers puedo operar una API escalable globalmente por alrededor de $1 al mes
Puede que esta publicación parezca publicidad, pero en realidad solo era compartir una experiencia. Los enlaces de afiliado estaban indicados y no había intención de ocultarlo
Un punto a tener en cuenta es que en instituciones educativas y similares muchas veces bloquean los dominios
*.b-cdn.netLo malo es que no hay hosting gratuito. Aunque tengas poco tráfico, tienes que pagar 1 euro al mes (sin VAT)
Además, no hay muchos proveedores de DNS que soporten CNAME flattening. Y también hay que invalidar el caché dos veces para que se refleje bien