Passer de Cloudflare à bunny.net
(jola.dev)- Exemple de migration d’un blog personnel vers bunny.net afin de réduire la dépendance centralisée à Cloudflare
- bunny.net est un service CDN européen basé en Slovénie, offrant de bonnes performances mondiales et un réseau de PoP efficace
- L’enregistrement du domaine passe par Porkbun, et la fonctionnalité « Orange Cloud » de Cloudflare est migrée vers l’environnement bunny.net
- Le CDN est configuré de bout en bout via des réglages étape par étape comme la Pull Zone, la politique de cache, le certificat SSL et les Edge Rules
- Avec ses fonctions de base comme la protection DDoS, Origin Shield et Stale Cache, le service est déjà stable et peut constituer une véritable alternative à Cloudflare pour les particuliers
Migration de Cloudflare vers bunny.net
- Présentation du processus et de la méthode de configuration utilisés pour migrer un blog personnel vers bunny.net afin de réduire la dépendance à Cloudflare et les problèmes de centralisation
- Cloudflare propose gratuitement des fonctions très puissantes, mais cela renforce la dépendance à une seule entreprise et, en cas de panne, l’impact peut s’étendre à une large partie d’Internet
- Le malaise face à la concentration d’Internet autour d’entreprises américaines, ainsi que diverses controverses, a conduit à chercher une alternative
Présentation de bunny.net
- bunny.net est une entreprise européenne basée en Slovénie qui propose un service CDN capable de rivaliser avec Cloudflare
- Le service affiche de bonnes performances et une grande rapidité à l’échelle mondiale, et même si son réseau de PoP est plus réduit, il reste efficace
- Le fait qu’il contribue à la croissance de l’écosystème technologique européen est perçu positivement
Sortir de Cloudflare
- Cloudflare était utilisé comme bureau d’enregistrement du domaine du blog, mais il était difficile de trouver une alternative en Europe
- INWX a été écarté faute de confidentialité WHOIS gratuite, et Porkbun a donc été choisi
- Porkbun utilise l’infrastructure de Cloudflare, mais la qualité du support est excellente
- La fonctionnalité « Orange Cloud » de Cloudflare (mise en cache automatique, masquage de l’origine, fonctions de protection) est migrée vers bunny.net
Étapes de configuration de bunny.net
-
Création du compte
- À l’inscription, 20 dollars de crédit pendant 14 jours sont offerts, avec 30 dollars supplémentaires en enregistrant une carte bancaire
- La configuration est possible après validation de l’adresse e-mail, avec une facturation à l’usage (minimum 1 dollar par mois)
- Passage à un modèle où « l’utilisateur devient un client, et non le produit »
-
Création d’une Pull Zone
- Élément central pour activer le CDN, permettant de connecter le serveur en indiquant l’Origin URL
- Si plusieurs applications sont exploitées, il faut définir le domaine dans l’en-tête Host
- Après avoir choisi le niveau Standard, il est possible de définir des zones aux tarifs variables selon la région
- Les utilisateurs situés dans une région désactivée sont redirigés vers la zone active la plus proche
-
Connexion de la Pull Zone
- Saisir le domaine du site web dans « Add a custom hostname »
- Ajouter ensuite un enregistrement CNAME conformément aux instructions pour relier le chemin CDN (de la forme
website.b-cdn.net) - Une fois la propagation DNS terminée, cliquer sur « Verify & Activate SSL » pour finaliser le certificat SSL
- En cas de succès, le site web est alors servi via le CDN de bunny.net
Configuration du cache
- Si le site web renvoie correctement un en-tête Cache-Control, bunny.net le respecte
- Vérifier le réglage « Respect origin Cache-Control » dans « Caching → General »
- Si
no-cacheest défini, aucun cache n’est appliqué
- En l’absence d’en-têtes de cache, la fonction Smart Cache met automatiquement en cache uniquement les images, CSS, JS, etc.
- Sur un blog basé sur Elixir Phoenix, un middleware personnalisé d’en-tête de cache a été ajouté au pipeline
public- Avec
cache-control: public, s-maxage=86400, max-age=0, même les pages HTML sont mises en cache - Lors de la publication d’un nouvel article, il faut vider manuellement le cache de la Pull Zone pour refléter le HTML le plus récent
- Avec
- Les mesures effectuées avec l’outil Larm ont confirmé une amélioration des temps de réponse depuis plusieurs emplacements dans le monde
Réglages de base recommandés
- Activer « Force SSL » pour forcer toutes les requêtes en HTTPS
- La protection DDoS est fournie par défaut, et l’activation supplémentaire de Origin Shield permet de réduire la charge sur le serveur
- En choisissant un emplacement proche de l’origine, le cache est centralisé et les serveurs edge consultent d’abord Origin Shield
- Avec les options « Stale Cache: While Origin Offline / While Updating »
- le contenu mis en cache continue d’être servi même si l’origine est indisponible
- pendant une mise à jour, l’ancien cache peut aussi être servi temporairement
- Ajouter une Edge Rule pour rediriger le domaine de pull zone généré automatiquement vers le vrai domaine
- Nom de la règle : « Default domain redirect »
- Action : Redirect, code d’état 301
- Condition : pour toute requête vers
*://<slug>.b-cdn.net/*, rediriger vershttps://jola.dev{{path}}
Conclusion et évaluation
- Cette configuration ne couvre que les fonctions de base de bunny.net ; elle n’aborde pas encore Edge Rules, la configuration avancée du cache, Security Shield, le streaming vidéo, Edge Scripting ni Edge Containers
- Les statistiques, logs et métriques du tableau de bord sont très détaillés, au point de permettre le suivi du cache et des problèmes à l’échelle de chaque requête
- Une migration progressive de tous les services vers bunny.net est en cours, avec l’attente de la sortie d’un stockage compatible S3
- Même pour les particuliers, il s’agit d’une option tout à fait compétitive comme alternative à Cloudflare
1 commentaires
Commentaires sur Hacker News
S'il s'agit d'un billet de blog positif, il vaudrait mieux indiquer, par souci de transparence, que tous les liens de la page renvoient vers le Bunny Affiliate Program
J'utilise bunny.net pour le CDN et le DNS
Comme je crains qu'un service gratuit finisse un jour par devenir payant, je pense qu'il vaut mieux payer une petite somme dès le départ. Passer de 2 $ à 3 $, ça va, mais passer de gratuit à 20 $, c'est risqué
En plus, je préfère les petites entreprises indépendantes qui se soucient des développeurs. C'est pour ça que j'utilise bunny.net, transistor.fm et Plausible Analytics
J'exploite un SaaS sur Cloudflare Workers + Pages. Le fait de pouvoir déployer des fonctions serverless et un site statique depuis le même dépôt offre une expérience développeur très agréable
Mais récemment, j'ai eu un problème où le cache edge du CDN servait encore un ancien HTML après le déploiement. C'est difficile à déboguer, et il faut deviner quelle couche de cache pose problème
Malgré tout, pour démarrer avec l'offre gratuite, c'est ce qu'il y a de mieux. Avec Workers, Pages, KV et R2, on peut faire tourner une application de production quasiment gratuitement
Cloudflare n'est plus un simple CDN, c'est désormais une plateforme edge. Si on peut migrer facilement vers Bunny, c'est qu'on n'utilisait pas vraiment les vraies fonctionnalités de Cloudflare
C'est dommage qu'ils ne prennent pas correctement en charge des standards comme WinterTC. Utiliser une fonction
servepropriétaire comme dans BunnySDK relève d'une dépendance propriétaire encore pireNous utilisons Bunny pour plusieurs usages et nous en sommes très satisfaits. En particulier, la qualité du support est excellente. Cloudflare est bien, mais il y a des limites tant qu'on n'a pas un support enterprise payant. UpCloud offre aussi un excellent support
On entend souvent dire que « Cloudflare est un point de défaillance unique pour Internet », mais dans la réalité c'est plus complexe
Si de petits services sont utilisés de manière plus variée, la répartition des pannes peut changer. En contrepartie, il peut aussi y avoir des pannes plus fréquentes mais de plus petite ampleur
Par ailleurs, l'infrastructure de Cloudflare n'est pas entièrement centralisée. Certains services sont indépendants selon les régions
Je suis passé chez Bunny il y a un an et j'en suis très satisfait. J'apprécie aussi le fait de pouvoir proposer un CDN basé dans l'UE, et grâce à Magic Containers, on peut exploiter une API extensible à l'échelle mondiale pour environ 1 $ par mois
Cet article peut donner l'impression d'être une publicité, mais il s'agissait en réalité d'un simple partage d'expérience. Les liens d'affiliation étaient signalés, sans intention de les dissimuler
Un point à surveiller : dans certains établissements éducatifs, etc., le domaine
*.b-cdn.netest souvent bloquéCe qui est regrettable, c'est l'absence d'hébergement gratuit. Même avec peu de trafic, il faut payer au moins 1 euro par mois (hors TVA)
En outre, il n'y a pas beaucoup de fournisseurs DNS qui prennent en charge le CNAME flattening. Et il faut invalider le cache deux fois pour que ce soit correctement pris en compte