Wechsel von Cloudflare zu bunny.net
(jola.dev)- Ein Praxisbeispiel für die Migration eines persönlichen Blogs zu bunny.net, um die zentralisierte Abhängigkeit von Cloudflare zu verringern
- bunny.net ist ein in Slowenien ansässiger europäischer CDN-Dienst und bietet weltweit schnelle Leistung sowie ein effizientes PoP-Netzwerk
- Für die Domain-Registrierung wird Porkbun verwendet, und die „Orange Cloud“-Funktion von Cloudflare wird in die bunny.net-Umgebung übertragen
- Das CDN wird über schrittweise Konfigurationen wie Pull Zone, Caching-Richtlinien, SSL-Zertifikate und Edge Rule vollständig eingerichtet
- Bereits mit Grundfunktionen wie DDoS-Schutz, Origin Shield und Stale Cache ist der Dienst stabil und kann für Privatnutzer eine praktische Alternative zu Cloudflare sein
Migration von Cloudflare zu bunny.net
- Eine Zusammenstellung des Migrationsprozesses und der Konfigurationsmethode für den Umzug eines persönlichen Blogs zu bunny.net, um die Abhängigkeit von Cloudflare und Probleme der Zentralisierung zu reduzieren
- Cloudflare bietet kostenlos leistungsstarke Funktionen, führt aber zu einer starken Abhängigkeit von einem einzelnen Unternehmen, und Ausfälle können sich strukturell auf das gesamte Internet auswirken
- Aus Unbehagen über die Konzentration des Internets auf US-Unternehmen und aufgrund verschiedener Kontroversen wurde nach einer Alternative gesucht
Überblick über bunny.net
- bunny.net ist ein in Slowenien ansässiges europäisches Unternehmen, das einen mit Cloudflare konkurrenzfähigen CDN-Dienst anbietet
- Weltweit werden hohe Leistung und Geschwindigkeit erreicht; das PoP-Netzwerk ist zwar kleiner, aber effizient
- Positiv bewertet wird auch, dass damit das Wachstum des europäischen Tech-Ökosystems unterstützt wird
Weg von Cloudflare
- Für die Registrierung der Blog-Domain wurde zwar Cloudflare genutzt, doch war es schwierig, eine Alternative innerhalb Europas zu finden
- INWX schied wegen fehlendem kostenlosem WHOIS-Datenschutz aus, stattdessen fiel die Wahl auf Porkbun
- Porkbun nutzt Cloudflare-Infrastruktur, bietet aber eine hohe Support-Qualität
- Die Cloudflare-Funktion „Orange Cloud“ (automatisches Caching, Verbergen des Origin, Schutzfunktionen) wird zu bunny.net migriert
Schritte zur Einrichtung von bunny.net
-
Konto erstellen
- Bei der Anmeldung gibt es 20 US-Dollar Guthaben für 14 Tage, bei Hinterlegung einer Kreditkarte weitere 30 US-Dollar
- Nach der E-Mail-Verifizierung kann die Einrichtung beginnen; es gilt nutzungsbasierte Abrechnung (mindestens 1 US-Dollar pro Monat)
- Damit findet ein Wechsel zu einer Struktur statt, in der „der Nutzer nicht das Produkt, sondern der Kunde ist“
-
Pull Zone erstellen
- Zentrale Komponente zur Aktivierung des CDN; der Server wird über die Angabe der Origin URL verbunden
- Wenn mehrere Apps betrieben werden, sollte im Host-Header die Domain angegeben werden
- Nach Auswahl des Standard-Tiers lassen sich regional unterschiedliche Zonen mit verschiedenen Preisen festlegen
- Nutzer aus deaktivierten Regionen werden zur nächstgelegenen aktiven Zone umgeleitet
-
Pull Zone verbinden
- Unter „Add a custom hostname“ die Domain der Website eingeben
- Entsprechend der Anleitung einen CNAME-Record hinzufügen, um den CDN-Pfad zu verbinden (in der Form
website.b-cdn.net) - Nach der DNS-Propagation mit „Verify & Activate SSL“ die SSL-Zertifizierung abschließen
- Bei Erfolg wird die Website über das bunny.net-CDN ausgeliefert
Caching-Einstellungen
- Wenn die Website passende Cache-Control-Header zurückgibt, respektiert bunny.net diese
- Unter „Caching → General“ prüfen, ob „Respect origin Cache-Control“ aktiviert ist
- Wenn
no-cachegesetzt ist, wird nicht gecacht
- Falls keine Cache-Header vorhanden sind, werden über Smart Cache automatisch nur Bilder, CSS, JS usw. gecacht
- In einem auf Elixir Phoenix basierenden Blog wurde der
public-Pipeline eine benutzerdefinierte Middleware für Cache-Header hinzugefügt- Mit
cache-control: public, s-maxage=86400, max-age=0werden auch HTML-Seiten gecacht - Beim Veröffentlichen neuer Beiträge muss der Pull-Zone-Cache manuell geleert werden, damit das aktuelle HTML übernommen wird
- Mit
- Messungen mit dem Tool Larm zeigten verbesserte Antwortzeiten an mehreren Standorten weltweit
Empfohlene Grundeinstellungen
- „Force SSL“ aktivieren, um alle Anfragen auf HTTPS zu erzwingen
- DDoS-Schutz ist standardmäßig enthalten; zusätzlich reduziert aktiviertes Origin Shield die Serverlast
- Dabei wird ein Standort in der Nähe des Origin gewählt, um den Cache zu zentralisieren, und Edge-Server fragen zunächst Origin Shield ab
- Mit den Optionen „Stale Cache: While Origin Offline / While Updating“
- werden gecachte Inhalte auch bei einem Origin-Ausfall weiter ausgeliefert
- und während Updates vorübergehend ältere Cache-Inhalte bereitgestellt
- Eine Edge Rule hinzufügen, um die automatisch generierte Pull-Zone-Domain auf die eigentliche Domain umzuleiten
- Regelname: „Default domain redirect“
- Aktion: Redirect, Statuscode 301
- Bedingung: Bei Anfragen an
*://<slug>.b-cdn.net/*Weiterleitung zuhttps://jola.dev{{path}}
Abschluss und Bewertung
- Diese Konfiguration behandelt nur die Grundfunktionen von bunny.net; Edge Rules, erweiterte Cache-Konfiguration, Security Shield, Video-Streaming, Edge Scripting, Edge Containers werden noch nicht behandelt
- Statistiken, Logs und Metriken im Dashboard sind äußerst detailliert, und auf Anfragebene lässt sich verfolgen, ob ein Objekt aus dem Cache kam und wo Probleme auftraten
- Künftig sollen alle Dienste zu bunny.net migriert werden; erwartet wird auch die Einführung von S3-kompatiblem Storage
- Auch für Privatnutzer ist dies eine ausreichend konkurrenzfähige Alternative zu Cloudflare
1 Kommentare
Hacker-News-Kommentare
Bei einem positiven Blogpost wäre es für transparente Offenlegung wohl besser, ausdrücklich zu erwähnen, dass alle Links auf das Bunny Affiliate Program verweisen
Ich nutze bunny.net für CDN und DNS
Da kostenlose Dienste irgendwann kostenpflichtig werden können, finde ich es besser, von Anfang an wenigstens einen kleinen Betrag zu zahlen. Ein Anstieg von 2 auf 3 Dollar ist okay, aber von kostenlos auf 20 Dollar wäre riskant
Außerdem bevorzuge ich kleine, unabhängige Unternehmen, die Rücksicht auf Entwickler nehmen. Deshalb nutze ich bunny.net, transistor.fm und Plausible Analytics
Ich betreibe ein SaaS mit Cloudflare Workers + Pages. Dass man serverlose Funktionen und statische Websites aus demselben Repository deployen kann, sorgt für eine sehr gute Developer Experience
Allerdings hatte ich zuletzt ein Problem, bei dem der CDN-Edge-Cache auch nach einem Deployment noch veraltetes HTML ausgeliefert hat. Das Debugging ist schwierig, und man muss raten, welche Cache-Ebene schuld ist
Trotzdem ist es zum Starten mit dem kostenlosen Tier unschlagbar. Mit Workers, Pages, KV und R2 kann man praktisch kostenlos eine produktive App betreiben
Cloudflare ist inzwischen nicht mehr nur ein CDN, sondern eine Edge-Plattform. Wenn man problemlos zu Bunny wechseln kann, hat man die eigentlichen Cloudflare-Funktionen wahrscheinlich gar nicht genutzt
Schade ist, dass Standards wie WinterTC nicht richtig unterstützt werden. Eine dedizierte serve-Funktion wie in BunnySDK zu verwenden, ist sogar noch stärkere proprietäre Abhängigkeit
Wir nutzen Bunny für verschiedene Zwecke und sind sehr zufrieden. Besonders die Support-Qualität ist hervorragend. Cloudflare ist gut, stößt aber ohne kostenpflichtigen Enterprise-Support an Grenzen. Auch UpCloud hat exzellenten Support
Man hört oft den Satz „Cloudflare ist ein Single Point of Failure des Internets“, aber in Wirklichkeit ist es komplizierter
Wenn kleine Dienste breit genutzt werden, könnte sich die Verteilung von Ausfällen ändern. Dafür könnte es häufiger kleinere Ausfälle geben
Außerdem ist Cloudflares Infrastruktur nicht vollständig zentralisiert. Einige Dienste sind regional voneinander unabhängig
Ich bin vor einem Jahr zu Bunny gewechselt und sehr zufrieden. Es ist auch gut, einen EU-basierten CDN unterstützen zu können, und dank Magic Containers kann man für etwa 1 Dollar im Monat eine weltweit skalierbare API betreiben
Der Beitrag mag wie Werbung wirken, war aber tatsächlich nur ein geteilter Erfahrungsbericht. Die Affiliate-Links waren gekennzeichnet, und es gab keine Absicht, etwas zu verbergen
Ein Punkt, auf den man achten sollte: In Bildungseinrichtungen usw. wird die Domain
*.b-cdn.netoft blockiertSchade ist, dass es kein kostenloses Hosting gibt. Selbst bei wenig Traffic muss man 1 Euro pro Monat zahlen (zzgl. MwSt.)
Außerdem gibt es nicht viele DNS-Anbieter, die CNAME flattening unterstützen. Auch die Cache-Invalidierung muss zweimal erfolgen, damit sie wirklich greift