Subscribe to receive notifications of new posts:

Cache Reserve entlastet den Ursprungsserver, spart Cloud-Egress-Gebühren und sorgt für eine größtmögliche Zahl von Cache-Treffern

11/15/2022

9 min read
Reduce origin load, save on cloud egress fees, and maximize cache hits with Cache Reserve

Zu Beginn dieses Jahres haben wir Cache Reserve eingeführt. Mit Cache Reserve können Nutzer den Inhalt aus dem Cloudflare-Cache länger bereitstellen, indem sie den dauerhaften Datenspeicher von R2 nutzen. Die Bereitstellung von Inhalt aus dem Cloudflare-Cache lohnt sich für Website-Betreiber, denn dadurch sinken ihre Rechnungen für Egress-Gebühren von den Ursprüngen, und gleichzeitig profitieren Website-Besucher von schneller geladenem Inhalt.

Cache Reserve war einige Monate lang in der geschlossenen Beta-Phase, wir haben das Feedback unserer ersten Nutzer gesammelt und das Produkt weiterentwickelt. Nach mehreren Iterationsrunden auf der Grundlage dieser Rückmeldungen freuen wir uns sehr, heute den Übergang von Cache Reserve in die offene Beta-Phase ankündigen zu können. Nutzer können Cache Reserve nun testen und in ihre Strategie zur Inhaltsbereitstellung integrieren, ohne zusätzliche Wartezeiten.

Möchten Sie sich selbst von den Vorteilen von Cache Reserve überzeugen und uns Feedback geben? Dann gehen Sie zum Cloudflare-Dashboard, rufen Sie den Bereich Caching auf und aktivieren Sie Cache Reserve mit einem einzigen Klick.

Wie fügt sich Cache Reserve in das Gesamtkonzept ein?

Inhalt, der aus dem Cache von Cloudflare bereitgestellt wird, beginnt seine Reise bei einem Ursprungsserver, also dort wo der Inhalt gehostet wird. Wenn eine Anfrage den Ursprung erreicht, stellt der Ursprung den für die Antwort benötigten Inhalt zusammen und sendet ihn an den Besucher zurück.

Die Entfernung zwischen dem Besucher und dem Ursprung kann sich auf die Performance des Assets auswirken, da der Inhalt eventuell eine lange Strecke für die Antwort zurücklegen muss. Hier fallen auch Gebühren für den Nutzer an, und zwar für die Übertragung des Inhalts vom Speicherort am Ursprung zum Besucher, der den Inhalt anfordert. Diese Gebühren, auch „Bandbreiten-“ oder „Egress“-Gebühren, sind altbekannte monatliche Rechnungsposten für Nutzer, die ihre Inhalte bei Cloud-Providern hosten.

Das CDN von Cloudflare steht sich zwischen dem Ursprung und dem Besucher, es bewertet die Antwort des Ursprungs und prüft, ob sie gecacht werden kann. Wenn der Inhalt in den Cloudflare-Cache aufgenommen werden kann, antwortet Cloudflare auf die nächste Anfrage nach diesem Inhalt mit dem gecachten Asset. Die Anfrage muss also nicht mehr an den Ursprung gesendet werden, was die Egress-Gebühren für unsere Kunden reduziert. Außerdem cachen wir den Inhalt in Rechenzentren in der Nähe des Besuchers, das verbessert die Performance und verkürzt die Transitzeit der Antwort.

Damit die Assets länger gecacht bleiben, haben wir vor einigen Jahren den Tiered Cache eingeführt. Tiered Cache gliedert unsere mehr als 250 globalen Rechenzentren in eine Hierarchie von unteren Stufen (in der Regel näher am Besucher) und oberen Stufen (in der Regel näher am Ursprung). Wenn eine Inhaltsanfrage nicht aus dem Cache einer unteren Stufe bedient werden kann, wird die obere Stufe überprüft, erst dann wird eine neue Kopie des Inhalts am Ursprung angefordert. Durch die Einteilung unserer Rechenzentren in Stufen können wir Inhalt länger an den richtigen Stellen cachen, indem wir mehrere Caches zwischen die Anfrage des Besuchers und den Ursprung schalten.

Warum kommt es zu Cache-Misses?
Misses treten auf, wenn Cloudflare den Inhalt nicht aus dem Cache bedienen kann und für eine neue Kopie zum Ursprung zurückkehren muss. Dies kann passieren, wenn ein Kunde die Cache-Kontrollzeit so einstellt, dass sie den Inhalt als veraltet (stale) kennzeichnet und er als zu revalidieren gilt. Das andere Element, das dabei eine Rolle spielt – nämlich wie lange das Netzwerk den Inhalt gecacht lassen will – ist etwas komplizierter und kann je nach Räumungskriterien variieren.

CDN müssen abwägen, ob sie den Inhalt bei vollem Cache-Speicher frühzeitig räumen, um die Speicherung anderer Assets zu optimieren. Bei Cloudflare priorisieren wir die Räumung je nachdem, wann ein gecachter Inhalt zuletzt angefordert wurde, dafür verwenden wir einen Algorithmus namens „least recently used“ oder LRU. Das bedeutet: Selbst wenn die Cache-Kontrolle anzeigt, dass ein Inhalt viele Tage lang gecacht werden sollte, kann es sein, dass wir ihn früher aus dem Cache räumen müssen (wenn er in diesem Cache am wenigsten angefordert wurde), um dann beliebteren Inhalt zu cachen.

Das funktioniert für die meisten Kunden und Website-Besucher, verwundert aber oft alle, die sich fragen, warum ein Inhalt unerwartet einen Miss anzeigt. Ohne eine Räumung müsste Inhalt in Rechenzentren gecacht werden, die weiter von den Anfragenden entfernt sind – das würde die Performance des Assets beeinträchtigen und den Betrieb des Cloudflare-Netzwerks ineffizienter machen.

Einige Kunden haben jedoch große Inhaltsbibliotheken, die vielleicht über längere Zeiträume hinweg nicht angefordert werden. Mit einem herkömmlichen Cache würden diese Assets wahrscheinlich geräumt und bei einer erneuten Anfrage vom Ursprung aus zugestellt. Um Assets im Cache zu halten, müssen sie auch weiterhin im Internet beliebt sein, aber was beliebt oder aktuell ist, ändert sich immerzu. Das Räumen von Inhalt, der nicht mehr aktuell sind, bedeutet für den Kunden zusätzlichen Egress am Ursprung, wenn dieser Inhalt wiederholt vom Ursprung abgerufen werden muss.

Hier kommt Cache Reserve ins Spiel
An dieser Stelle überzeugt Cache Reserve. Cache Reserve dient als ultimatives Rechenzentrum der oberen Ebene für Inhalt, der andernfalls aus dem Cache geräumt werden könnte. Einmal in Cache Reserve aufgenommen, kann der Inhalt für einen viel längeren Zeitraum gespeichert werden – standardmäßig 30 Tage. Wenn während dieses Zeitraums eine weitere Anfrage eingeht, kann dieser Zeitraum um weitere 30 Tage verlängert werden (und so weiter) oder bis die Cache-Kontrolle signalisiert, dass wir diesen Inhalt nicht mehr aus dem Cache bereitstellen sollten. Cache Reserve dient als Sicherheitsnetz, um sämtlichen gecachten Inhalt zu speichern, dann muss sich der Kunde keine Sorgen machen über ungewollte Cache-Räumungen und Egress-Gebühren am Ursprung.

Wie spart Cache Reserve Egress-Gebühren?

Cache Reserve verspricht höhere Trefferquoten und geringere Egress-Gebühren von den Ursprüngen für Long Tail-Inhalt, der nur selten angefordert und möglicherweise aus dem Cache entfernt wird.

Das Produkt bietet jedoch noch weitere eingebaute Egress-Einsparungen. Zum Beispiel werden Objekte bei Misses in die Cache Reserve geschrieben. Das bedeutet: Wenn wir bei einem Cache-Miss den Inhalt vom Ursprung abrufen, verwenden wir diesen, um auf eine Anfrage zu antworten, und schreiben gleichzeitig das Asset in die Cache Reserve, so dass die Kunden lange Zeit keinen Egress von der Bereitstellung dieses Assets verzeichnen werden.

Cache Reserve wurde entwickelt, um den Ursprungs maximal für die Verwendung mit aktiviertem Tiered Cache abzuschirmen. Bei einem Cache-Miss sowohl in der unteren als auch in der oberen Stufe wird Cache Reserve überprüft. Bei einem Treffer wird die Antwort sowohl in der unteren als auch in der oberen Stufe auf dem Weg zurück zum Besucher gecacht. Der Ursprung muss die Anfrage weder sehen noch zusätzliche Daten liefern.

Cache Reserve erzielt diese Einsparungen beim Ursprung zu einem niedrigen Preis, der sich an den R2-Kosten orientiert. Weitere Informationen zu den Preisen und Funktionen von Cache Reserve finden Sie hier in der Dokumentation.

Skalierung von Cache Reserve auf der Entwicklerplattform von Cloudflare

Bei der ersten Ankündigung von Cache Reserve war die Resonanz überwältigend. Mehr als 20.000 Nutzer meldeten sich für die Beta-Version, und wir erfuhren schnell, wie die Nutzer Cache Reserve verwenden wollten.

Die erste große Herausforderung, die wir feststellten: Nutzer hassten Egress-Gebühren genauso wie wir und wollten so viel Inhalt wie möglich in Cache Reserve speichern. Während der geschlossenen Beta-Phase verzeichneten wir eine anhaltende Nutzung von über 8.000 PUT-Operationen pro Sekunde – und Objekte, die mit einer Rate von über 3.000 GETs pro Sekunde bedient wurden. Außerdem haben wir für einige unserer Großkunden rund 600 TB gecacht. Da wir das Produkt allgemein zugänglich machen wollten, mussten wir rasch einige Änderungen vornehmen, um der Nachfrage gerecht zu werden. Also wandten wir uns an die Entwicklerplattform von Cloudflare.

Cache Reserve speichert Daten auf R2 über seine S3-kompatible API. Hinter den Kulissen bewältigt R2 die gesamte Komplexität eines Objektspeichersystems mithilfe unserer performanten und skalierbaren Entwicklerprimitive: Workers und Durable Objects. Wir haben uns für die Verwendung von Entwicklerplattform-Tools entschieden, weil wir auf diese Weise verschiedene Skalierungsstrategien schnell umsetzen können. Der Vorteil des Aufbaus auf der Cloudflare-Entwicklerplattform ist, dass Cache Reserve problemlos experimentieren konnte. Wir konnten so herausfinden, wie wir die hohe Last am besten verteilen, während wir die Komplexität von Cache Reserve vor den Nutzern abschirmten.

Mit einem einzigen Klick führt Cache Reserve folgende Funktionen aus:

  • Bei einem Cache-Miss wendet sich Pingora (unser neuer L7-Proxy) an den Ursprung des Inhalts und schreibt die Antwort an R2. Währenddessen setzt der Inhalt seine Reise zurück zum Besucher fort (wodurch eine unnötige Latenz vermieden wird).
  • Innerhalb von R2 schreibt ein Worker den Inhalt in den persistenten Datenspeicher von R2 und verfolgt mit Hilfe des Durable Objects-Speichers auch die wichtigen Metadaten, die Pingora über das Objekt sendet (z. B. Header zum Ursprung, Freshness-Werte und Informationen zur Aufbewahrung).
  • Wenn der Inhalt das nächste Mal angefordert wird, ermittelt Pingora über die Berechnung des Cache-Schlüssels, wo die Daten in R2 gespeichert sind. Der Hash des Cache-Schlüssels bestimmt sowohl den Objektnamen in R2 als auch den Bucket, in den er geschrieben wurde, wobei die Assets jeder Zone zur Lastverteilung auf mehrere Buckets aufgeteilt werden.
  • Sobald das Objekt gefunden wurde, fügt Pingora die entsprechenden Metadaten hinzu und sendet den Inhalt von R2 an die nächstgelegene obere Stufe, die gecacht werden soll, dann an die untere Stufe und schließlich zurück an den Besucher.

Das ist Zauberei! Der Nutzer muss nichts von alledem selbst verwalten. Durch die Kombination von R2, Workers, Durable Objects, Pingora und Tiered Cache konnten wir Cache Reserve schnell aufbauen und modifizieren, um es nach Bedarf zu skalieren ...

Was ist die Zukunft von Cache Reserve?

Neben der Arbeit, die wir für die Skalierung von Cache Reserve geleistet haben, öffnet die allgemeine Veröffentlichung des Produkts auch die Tür für weitere Features und Integrationen bei Cloudflare. Wir wollen den Nutzern von Cache Reserve zusätzliche Analytics und Metriken an die Hand geben, damit sie genau wissen, was sich in Cache Reserve befindet und wie viel Egress sie dadurch einsparen. Außerdem planen wir komplexere Integrationen mit R2, so dass Kunden, die ihren Speicher selbst verwalten möchten, diesen Übergang problemlos vollziehen können. Und schließlich sollen unsere Kunden mehr Möglichkeiten erhalten, genau zu kontrollieren, was für Cache Reserve in Frage kommt. Diese Features sind nur der Anfang davon, wie Kunden ihren Cache bei Cloudflare kontrollieren und anpassen werden.

Wie waren die bisherigen Rückmeldungen?

Als langjähriger Cloudflare-Kunde waren wir sehr gespannt auf Cache Reserve, um Kosteneinsparungen und eine verbesserte Performance für unsere Nutzer zu erzielen. Für Delivery Hero ist es sehr wichtig, dass die Performance unserer Anwendung für unsere weltweiten Partner und Zusteller stets optimal bleibt. Mit Cache Reserve hat sich unsere Cache-Trefferrate um 5 % verbessert, so dass wir unsere Infrastruktur verkleinern und vereinfachen konnten, was für den Betrieb unserer globalen Site erforderlich ist und zusätzliche Kosteneinsparungen ermöglicht.
Wai Hang Tang, Director of Engineering bei Delivery Hero
Mit dem globalen Cache von Cloudflare konnte Anthology die Performance des Inhalts für unsere Nutzer an Schulen und Universitäten drastisch verbessern. Mit einem einzigen Knopfdruck zur Aktivierung von Cache Reserve konnten wir Lehrkräften und Lernenden ein großartiges Erlebnis bieten und zwei Drittel unseres täglichen Egress-Traffics reduzieren.
Paul Pearcy, Senior Staff Engineer bei Anthology
Bei Enjoei suchen wir immer nach Möglichkeiten, wie wir unsere Endnutzer-Websites schneller und effizienter gestalten können. Mit Cloudflare Cache Reserve konnten wir unsere Cache-Trefferrate um mehr als 10 % verbessern und so unsere Ursprung-Egress-Kosten senken. Cache Reserve verbesserte auch die Performance vieler unserer Händlerseiten in Südamerika, das verbesserte ihr SEO und ihre Auffindbarkeit im Internet (Google, Criteo, Facebook, Tiktok) – und die Einrichtung dauerte nicht lange.
Elomar Correia, Head of DevOps SRE | Enterprise Solutions Architect bei Enjoei
In der Branche der Live-Events können die Größe und die Nachfrage nach unserem cachefähigen Inhalt extrem schwanken, was zu unvorhersehbaren Schwankungen unserer Egress-Gebühren führt. Außerdem müssen wir die Daten unbedingt so nah wie möglich am Nutzer halten, um die Kundenerfahrung in Fällen von hohem Traffic und geringer Bandbreite zu verbessern (wie bei Kongressen und Musikfestivals). Cache Reserve bekämpft diese beiden Probleme mit minimalen Auswirkungen auf unsere Entwicklerteams. So können wir unsere Kosten besser kalkulieren und haben eine geringere Latenz als bei bestehenden Lösungen.
Jarrett Hawrylak, VP of Engineering | Enterprise Ticketing bei Patron Technology

Wie kann ich es heute nutzen?

Ab heute befindet sich Cache Reserve in der offenen Beta-Phase, d. h. jeder, der es nutzen möchte, kann es verwenden.

So aktivieren Sie Cache Reserve:

  • Gehen Sie einfach zur Kachel Caching auf dem Dashboard.
  • Gehen Sie zur Seite Cache Reserve und klicken Sie auf die Schaltfläche Datenabgleich aktivieren (enable data sync) oder auf die Schaltfläche Kaufen.

Enterprise-Kunden können den Zugang zu Cache Reserve mit ihrem Cloudflare-Kundenteam regeln.

Um sicherzustellen, dass Cache Reserve funktioniert, schauen Sie sich die Basisdaten an, die zeigen, wie viele Daten gecacht werden und wie viele Vorgänge wir im Abschnitt Cache Reserve des Dashboards gesehen haben. Spezifische Anfragen, die von Cache Reserve bedient wurden, sind über Logpush v2 und die Suche nach HTTP-Anfragen mit dem Feld „CacheReserveUsed“ verfügbar.

Wir werden Ihre Rückmeldungen auch weiterhin zügig bearbeiten und Verbesserungen vornehmen, damit Cache Reserve benutzerfreundlich und nützlich ist und Ihre Wahl für die Senkung der Egress-Gebühren für gecachte Inhalte ist.

Probieren Sie es aus

Wir freuen uns schon sehr darauf, Cache Reserve mehr Personen zur Verfügung zu stellen. Rechnen Sie mit weiteren spannenden Entwicklungen bei Cache Reserve, denn wir investieren weiterhin in die Bereitstellung aller Tools, die Sie für Ihren perfekten Cache benötigen.

Testen Sie Cache Reserve noch heute und teilen Sie Ihre Meinung mit uns.

We protect entire corporate networks, help customers build Internet-scale applications efficiently, accelerate any website or Internet application, ward off DDoS attacks, keep hackers at bay, and can help you on your journey to Zero Trust.

Visit 1.1.1.1 from any device to get started with our free app that makes your Internet faster and safer.

To learn more about our mission to help build a better Internet, start here. If you're looking for a new career direction, check out our open positions.
Developer Week (DE)Cache Reserve (DE)Product News (DE)CDN (DE)R2 Storage (DE)Egress (DE)Deutsch

Follow on X

Alex Krivit|@ackriv
Cloudflare|@cloudflare

Related posts

April 05, 2024 1:01 PM

Browser Rendering-API allgemein verfügbar, Einführung von Cloudflare Snippets, SWR, und Bereitstellung von Workers for Platforms für alle Nutzer

Browser Rendering-API ist jetzt für alle zahlenden Workers-Kunden verfügbar und bietet auch eine verbesserte Sitzungsverwaltung...

April 04, 2024 1:05 PM

Neue Tools für die Produktionssicherheit — Gradual Deployments, Source Maps, Rate Limiting und neue SDKs

Heute geben wir fünf Updates bekannt, die Ihnen noch mehr Möglichkeiten bieten: Gradual Deployments, Source Mapped Stack Traces in Tail Workers, eine neue Rate Limiting API, brandneue API SDKs und Updates für Durable Objects – alle mit Blick auf geschäftskritische Produktionsdienste...

April 03, 2024 1:30 PM

R2 fügt Ereignisbenachrichtigungen, Unterstützung für Migrationen von Google Cloud Storage und eine Speicherebene mit seltenem Zugriff hinzu

Wir freuen uns, drei neue Funktionen für Cloudflare R2 ankündigen zu können: Ereignisbenachrichtigungen, Unterstützung für Migrationen von Google Cloud Storage und eine Speicherebene für seltenen Zugriff...