Browser Rendering-API ist jetzt für alle zahlenden Workers-Kunden verfügbar und bietet auch eine verbesserte Sitzungsverwaltung
Im Mai 2023 haben wir das Open Beta-Programm für die Browser Rendering-API angekündigt. Browser Rendering ermöglicht Entwicklern die programmatische Steuerung und Interaktion mit einer Headless-Browser-Instanz und die Erstellung von Automatisierungsabläufen für ihre Anwendungen und Produkte.
Gleichzeitig haben wir eine Version der Puppeteer-Bibliothekeingeführt, die mit Browser Rendering kompatibel ist. Damit können Entwickler eine vertraute API auf Cloudflare Workers verwenden, um alle Arten von Workflows zu erstellen, z. B. Screenshots von Seiten oder automatische Softwaretests.
Heute gehen wir einen Schritt darüber hinaus, indem wir die Beta-Phase beenden und Browser Rendering für alle kostenpflichtigen Workers-Tarife verfügbar machen. Ferner verbessern wir unsere API und führen eine neue Funktion ein, über die wir in der offenen Beta-Community schon lange diskutiert haben: die Sitzungsverwaltung.
Sitzungsverwaltung (Session Management)
Die Sitzungsverwaltung ermöglicht es Entwicklern, zuvor geöffnete Browser in den Skripten eines Worker wiederzuverwenden. Die Wiederverwendung von Browsersitzungen hat den Vorteil, dass Sie nicht für jede Anfrage und jede Aufgabe einen neuen Browser instanziieren müssen, was die Performance drastisch erhöht und die Kosten senkt.
Um eine Browserinstanz aufrecht zu erhalten und wiederzuverwenden, mussten Sie bisher komplexen Code mit Durable Objects implementieren. Jetzt haben wir das für Sie vereinfacht, indem wir Ihre Browser im Hintergrund laufen lassen und die Puppeteer-API um neue Methoden zur Sitzungsverwaltung erweitern, die Ihnen Zugriff auf alle Ihre laufenden Sitzungen, den Aktivitätsverlauf und die Limitationen für aktive Sitzungen geben.
Hier erfahren Sie, wie Sie Ihre aktiven Sitzungen auflisten können:
Wir haben ein Beispiel für ein Worker-Skript zur Verwendung der Sitzungsverwaltung in die Entwicklerdokumentation aufgenommen.
const sessions = await puppeteer.sessions(env.RENDERING);
console.log(sessions);
[
{
"connectionId": "2a2246fa-e234-4dc1-8433-87e6cee80145",
"connectionStartTime": 1711621704607,
"sessionId": "478f4d7d-e943-40f6-a414-837d3736a1dc",
"startTime": 1711621703708
},
{
"sessionId": "565e05fb-4d2a-402b-869b-5b65b1381db7",
"startTime": 1711621703808
}
]
Analytics und Protokolle
Beobachtbarkeit (Observability) ist ein wesentlicher Bestandteil eines jeden Cloudflare-Produkts. Detaillierte Analysen und Protokolle Ihrer Verwendung von Browser-Rendering finden Sie im Dashboard unter Ihrem Konto im Bereich Worker & Pages.
Browser-Rendering ist jetzt für alle Kunden mit einem kostenpflichtigen Workers-Tarif verfügbar. Jedes Konto ist während dieses Zeitraums auf die kostenlose Ausführung von zwei neuen Browsern pro Minute und zwei gleichzeitigen Browsern beschränkt. Besuchen Sie unsere Entwicklerseite, um loszulegen.
Wir werden den Zugang zu Cloudflare Snippets ausrollen
Leistungsstark, programmierbar und kostenlos – Snippets sind der beste Weg, um komplexe Änderungen an HTTP-Anfragen und -Antworten auf Cloudflare durchzuführen. Was früher zu fortschrittlich war, um es mit Rules-Produkten zu erreichen, ist jetzt mit Snippets möglich. Seit der ersten Ankündigung während der Developer Week 2022 begeistert die Cloudflare-Community das Versprechen, durch das Schreiben von einfachem JavaScript-Code die sofort wirksame Funktionalität von Rules zu erweitern.
Allein in den ersten drei Monaten des Jahres 2024 hat sich der über Snippets abgewickelte Datenverkehr mehr als versiebenfacht: von durchschnittlich 2.200 Anfragen pro Sekunde Anfang Januar auf über 17.000 im März.
Anstatt jedoch die Schleusen zu öffnen und Millionen von Cloudflare-Nutzern hereinzulassen, um Snippets auf höchst unerwartete Weise zu testen (und möglicherweise unbrauchbar zu machen), werden wir es langsam angehen lassen und uns für einen schrittweisen Rollout entscheiden, ähnlich wie bei den kürzlich veröffentlichten Gradual Rollouts für Workers.
In den nächsten Wochen werden 5 % der Cloudflare-Nutzer „Snippets“ unter der Registerkarte „Regeln“ im Zonenmenü in ihrem Dashboard sehen. Wenn Sie zu den ersten 5 % gehören, sollten Sie gleich loslegen und ausprobieren, wie schnell und leistungsstark Snippets sind, selbst für fortgeschrittene Anwendungsfälle wie die dynamische Änderung des Datums in Headern oder A/B-Tests mit der Funktion „math.random“. Wofür auch immer Sie Snippets verwenden, denken Sie daran, dass es sich noch um eine Alpha-Version handelt, also verwenden Sie Snippets bitte noch nicht für den produktiven Traffic.
Halten Sie bis dahin Ausschau nach der neuen Registerkarte „Snippets“ im Cloudflare-Dashboard und informieren Sie sich in der Zwischenzeit in der Entwicklerdokumentation über die Leistungsfähigkeit und Flexibilität von Snippets.
Demnächst verfügbar: Asynchrone Revalidierung mit „stale-while-revalidate“
Eine der von unseren Kunden am häufigsten nachgefragten Funktionen ist die asynchrone Revalidierung mit der Cache-Direktive „stale-while-revalidate“ (SWR), die wir Ihnen in der zweiten Hälfte des Jahres 2024 zur Verfügung stellen werden. Diese Funktion wird als Teil unserer neuen CDN-Architektur, die auf Rust basiert und bei der Performance und Speichersicherheit an erster Stelle stehen, von vornherein verfügbar sein.
Wenn ein Client eine Ressource anfordert, z. B. eine Webseite oder ein Bild, prüft Cloudflare derzeit, ob sich das Asset im Cache befindet, und stellt, falls verfügbar, eine Kopie im Cache bereit. Befindet sich die Datei nicht im Cache oder ist sie abgelaufen und veraltet, stellt Cloudflare eine Verbindung zum Ursprungsserver her, um zu prüfen, ob eine frische Version der Datei vorliegt, und leitet diese frische Version an den Endnutzer weiter. Diese Wartezeit erhöht die Latenzzeit für diese Anfragen und beeinträchtigt die Performance.
Stale-while-revalidate ist eine Cache-Direktive, die es ermöglicht, dass die abgelaufene oder veraltete Version des Assets dem Nutzer zur Verfügung gestellt wird, während Cloudflare gleichzeitig den Ursprung überprüft, um festzustellen, ob eine aktuellere Version der Ressource verfügbar ist. Wenn eine aktualisierte Version existiert, leitet der Ursprung sie an Cloudflare weiter und aktualisiert dabei den Cache. Dieser Mechanismus ermöglicht es dem Client, schnell eine Antwort aus dem Cache zu erhalten und gleichzeitig sicherzustellen, dass er immer Zugriff auf die aktuellsten Inhalte hat. Stale-while-revalidate schafft eine optimale Balance zwischen der effizienten Bereitstellung von Inhalten und der Gewährleistung ihrer Frische, was zu einer verbesserten Performance und einem reibungsloseren Nutzererlebnis führt.
Kunden, die zu unseren Beta-Testern gehören und mitmachen möchten, können sich hier registrieren. Wir werden Sie informieren, sobald die Funktion zum Testen bereit ist!
Erscheint am 16. April 2024: Workers for Platforms für unseren Pay-as-you-go-Tarif
Wir freuen uns, Ihnen heute mitteilen zu können, dass Workers for Platforms ab dem 16. April für alle Entwickler im Rahmen unseres neuen Pay-as-you-go-Tarifs (25 USD) verfügbar sein wird!
Workers for Platforms verändert die Art und Weise, wie wir Software entwickeln – es gibt Ihnen die Möglichkeit, Personalisierung und Anpassung direkt in Ihr Produkt einzubetten. Mit Workers for Platforms können Sie benutzerdefinierten Code im Namen Ihrer Nutzer bereitstellen oder Ihre Nutzer direkt ihren eigenen Code auf Ihrer Plattform bereitstellen lassen, ohne dass Sie oder Ihre Nutzer irgendeine Infrastruktur verwalten müssen. Sie können Workers for Platforms mit all den spannenden angekündigten Funktionalitäten verwenden, die in diesem Developer Week veröffentlicht wurden – es unterstützt alle Bindungen, die mit Workers geliefert werden (einschließlich Workers AI, D1 und Durable Objects) sowie Python Workers.
Hier sehen Sie, was einige unserer Kunden – von Unternehmen bis hin zu Start-ups – auf Workers for Platforms entwickeln:
Shopify Oxygen ist eine Hosting-Plattform für das Remix-basierte E-Commerce-Framework Hydrogen, das auf Workers for Platforms basiert. Die Kombination aus Hydrogen und Oxygen gibt Shopify-Händlern die Kontrolle über ihre Kundenerfahrung ohne die Einschränkungen generischer Schaufenster-Vorlagen.
Grafbase ist eine Datenplattform für Entwickler zur Erstellung einer Serverless GraphQL-API, die Datenquellen innerhalb eines Unternehmens unter einem Endpunkt vereint. Sie verwenden Workers for Platforms, um ihren Entwicklern die Kontrolle und Flexibilität zu geben, ihren eigenen, in JavaScript/TypeScript oder WASM geschriebenen Code bereitzustellen.
Triplit ist eine Open-Source-Datenbank, die Daten zwischen Server und Browser in Echtzeit synchronisiert. Sie ermöglicht es den Nutzern, eine Echtzeit-Anwendung mit niedriger Latenz zu erstellen, die Funktionen wie relationale Abfragen, Schema-Management und serverseitige Speicherung enthält. Ihre Abfrage- und Synchronisations-Engine basiert auf Durable Objects, und sie verwenden Workers for Platforms, um ihren Kunden die Möglichkeit zu geben, benutzerdefiniertes JavaScript neben ihrer Triplit-DB-Instanz zu paketieren.
Tools für Beobachtbarkeit und Kontrollen auf Plattformebene
Workers for Platforms ermöglicht Ihnen nicht nur die Bereitstellung von Workers auf Ihrer Plattform – wir wissen auch, wie wichtig es ist, die Beobachtbarkeit und Kontrolle über die Workers Ihrer Nutzer zu haben. Wir haben ein paar Lösungen, die dabei helfen:
Benutzerdefinierte Limits: Legen Sie Obergrenzen für die CPU-Zeit oder Unteranfragen für die Nutzer Ihrer Worker fest. Damit können Sie Limits festlegen, um Ihre Kosten bei Cloudflare zu kontrollieren und/oder Ihr eigenes Preis- und Paketmodell zu gestalten. Wenn Sie z.B. ein Freemium-Modell auf Ihrer Plattform betreiben, können Sie das CPU-Zeitlimit für Kunden auf Ihrer kostenlosen Tarifstufe senken.
Tail Workers: Tail Worker-Ereignisse enthalten Metadaten über den Worker, console.log()-Meldungen und erfassen alle nicht behandelten Ausnahmen. Sie können verwendet werden, um Ihren Entwicklern eine Live-Protokollierung zur Verfügung zu stellen, um Fehler zu überwachen und Fehler in Echtzeit zu beheben.
Outbound Workers: Verschaffen Sie sich Einblick in alle ausgehenden Anfragen der Worker Ihrer Nutzer. Outbound Workers sitzen zwischen den Workern der Nutzer und den von ihnen gestellten fetch()-Anfragen, so dass Sie vollen Einblick in die Anfrage erhalten, bevor sie ins Internet gesendet wird.
Tarifoptionen
Wir wollten sicherstellen, dass Workers for Platforms für Hobbyisten, unabhängige und Solo-Entwickler erschwinglich ist. Workers for Platforms ist Teil eines neuen 25 USD-kostenden Pay-as-you-go-Tarifs und umfasst folgende Leistungen:
.tg {border-collapse:collapse;border-color:#ccc;border-spacing:0;} .tg td{background-color:#fff;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{background-color:#f0f0f0;border-color:#ccc;border-style:solid;border-width:1px;color:#333; font-family:Arial, sans-serif;font-size:14px;font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-buh4{background-color:#f9f9f9;text-align:left;vertical-align:top} .tg .tg-0lax{text-align:left;vertical-align:top}
Included Amounts | |
---|---|
Requests | 20 million requests/month +$0.30 per additional million |
CPU time | 60 million CPU milliseconds/month +$0.02 per additional million CPU milliseconds |
Scripts | 1000 scripts +0.02 per additional script/month |
Inbegriffene Mengen
Anfragen
20 Millionen Anfragen/Monat+0,30 $ pro zusätzlicher Million
CPU-Zeit
60 Millionen CPU-Millisekunden/Monat+0,02 $ pro zusätzliche Million CPU-Millisekunden
Scripte
1000 Skripte+0,02 $ pro zusätzliches Skript/Monat
Workers for Platforms wird ab dem 16. April 2024 zum Kauf erhältlich sein!
Die Workers for Platforms werden ab dem 16. April 2024 unter der Registerkarte „Workers for Platforms“ auf dem Cloudflare Dashboard zum Kauf angeboten.
Wenn Sie in der Zwischenzeit mehr über Workers for Platforms erfahren möchten, schauen Sie sich unser Starterprojekt und die Entwicklerdokumentation an.