Jetzt abonnieren, um Benachrichtigungen über neue Beiträge zu erhalten:

Ein einheitliches Entwicklererlebnis für Cloudflare Workers und Pages

2023-05-17

Lesezeit: 6 Min.
Dieser Beitrag ist auch auf English, Français, 日本語, Español, und 简体中文 verfügbar.

Wir freuen uns, heute die Zusammenführung von Pages und Workers zu einem einzigen Produkt bekannt geben zu können.

Bringing a unified developer experience to Cloudflare Workers and Pages

Welcher Entwickler kennt das nicht: Während einer kreativen Phase entwirft man eine Anwendung im Kopf in allen Einzelheiten, sodass alles Bestandteile perfekt ineinandergreifen, etwa mit einem serverseitig gerenderten Frontend und einer SQLite-Datenbank für das Backend. Man setzt sich voller Ideen mit der Gewissheit an den Rechner, dass man seine Vision umsetzen kann, sofern man über die richtigen Werkzeuge verfügt. Doch nach dem Login beim Cloudflare-Dashboard stellt sich dann die Frage:

Cloudflare Workers oder Pages?

Die beiden Lösungen sind sich auf den ersten Blick sehr ähnlich und scheinen sich nur in Details zu unterscheiden. Mit welcher von beiden lässt sich die Idee also am besten umsetzen? Was, wenn man sich für die falsche entscheidet? Welche Kompromisse muss man eingehen? Darüber sollten sich unsere Nutzer eigentlich keine Gedanken machen müssen, doch in Wahrheit sind sie genau mit diesen Fragen häufig konfrontiert. Das wird uns aus unserer breitgefächerten Nutzer- und Kunden-Community immer wieder berichtet. Weil sowohl Pages als auch Workers auf die Entwicklung von Serverless-Anwendungen ausgelegt sind, fällt die Wahl besonders schwer.

Lange Rede, kurzer Sinn: Wir möchten das unseren Nutzern künftig ersparen. Vor allem, wenn sie eine gute, wenn nicht sogar großartige Idee umsetzen wollen. Deshalb freuen wir uns, nun den ersten Meilenstein bei der Zusammenführung der besten Eigenschaften von Workers und Pages zu einer einzigen, leistungsstarken Plattform verkünden zu können. Wir stellen damit die Weichen für eine stärkere Harmonisierung dieser beiden Produkte und möchten die Gelegenheit ergreifen, um Ihnen unsere Beweggründe zu erläutern. Außerdem erfahren Sie, was Sie jetzt schon nutzen und worauf Sie sich als Nächstes freuen können.

Mehr zu den Hintergründen

Es bestanden schon immer Verknüpfungen zwischen Pages und Workers. Bis heute betrachten wir beide als verwandte Produkte. Jedes hat seine individuellen Merkmale, doch mit beiden können Nutzer vielseitige und effektive Anwendungen erschaffen. Bislang war jede Lösung für spezifische Anwendungsfälle bestimmt.

Workers bot zu Beginn einfach eine Möglichkeit, unser CDN auszubauen. Mit der Zeit entwickelte sich daraus eine in hohem Maße konfigurierbare Allzweck-Plattform für Rechenleistung. Pages wiederum bot anfangs Hosting für statische Websites, im Lauf der Zeit wurde das Angebot aber um den Bereich Jamstack erweitert. Nach und nach übernahm Pages die leistungsstarken Rechenfunktionen von Workers, während bei Workers die vielfältigen Entwicklerfunktionen von Pages Einzug hielten. So verschwamm die Abgrenzung zwischen den beiden Produkten mit der Zeit immer mehr. Das macht es für Nutzer heute schwierig, sie auseinanderzuhalten und die Lösung zu wählen, die für ihre Applikation am besten geeignet ist.

Wir wissen, dass wir mehr tun können, um ihnen die Entscheidung zu erleichtern und den Entwicklungsprozess allgemein zu beschleunigen.

Aber was heißt das konkret?

Damit Sie künftig bei dieser Entscheidung die Vor- und Nachteile der jeweiligen Lösung nicht mehr gegeneinander aufwiegen müssen, möchten wir ihnen das Beste aus beiden Welten bieten: eine übergreifende Entwicklungsplattform, die sowohl hohe Rechenleistung als auch blitzschnelles Hosting statischer Assets bereitstellt, sich nahtlos mit R2, Queues, D1 und unseren anderen Speicherlösungen kombinieren lässt und eine Vielzahl von Tools wie CI/CD, Git-ops-Workflows, Live-Vorschauen und flexible Konfigurationen von Laufzeitumgebungen zu bieten hat.

Alles an einem Ort

Heute nutzen viele unserer Entwickler sowohl Pages als auch Workers, um verschiedene Teile ihrer Anwendungen zu programmieren. Allerdings sind die Lösungen im Cloudflare-Dashboard weiterhin voneinander getrennt. Eine Übertragung von der einen auf die andere ist nicht immer möglich. Das macht es schwierig, Einzelbestandteile miteinander zu kombinieren und den Überblick über den Stack der Anwendung zu behalten. Wir stehen beim Design der neuen Lösung zwar noch am Anfang, verfolgen aber die Vision, dass die Nutzer irgendwann alle Anwendungen von einem einzigen, zentralen Ort aus verwalten können.

Sie müssen sich dann die Einzelbestandteile Ihrer Anwendung nicht mehr mühsam im Dashboard zusammenklauben, sondern haben alle benötigten Informationen für ein Projekt direkt zur Hand.

Grundbausteine

Durch die Zusammenführung von Pages und Workers wird auch das Konzept des „Projekts“ neu definiert und eine neue, leere Leinwand voller Möglichkeiten zum direkten Ausprobieren geschaffen. Innerhalb eines Projekts werden (1) statische Assets, (2) Serverless-Funktionen (Workers) und (3) Ressourcen hinzugefügt oder (4) beliebig kombiniert werden können.

Damit Sie das Potenzial Ihrer Anwendung voll ausschöpfen können, loten wir Projektfunktionen aus, mit denen sich Ressourcen wie KV, Durable Objects, R2 und D1 automatisch bereitstellen und direkt integrieren lassen. Sie werden also die Möglichkeit haben, alle einzelnen Grundbausteine in einem einzigen Projekt einzusetzen. Damit lassen sich insbesondere Rollbacks und Vorschauen sicher durchführen, da wir die Versionen Ihrer Assets, Funktionen und Ressourcen bei jeder neuen Bereitstellung synchronisieren. Sie brauchen also nicht zu befürchten, dass sie bei der nächsten Bereitstellung veraltet sind.

Bereitstellungen

Eine der bemerkenswertesten Eigenschaften von Pages ist die Git-ops-zentrierte Bereitstellung. Nach der Zusammenführung unserer beiden Lösungen werden Sie bei Bedarf Git-Repositorys verbinden, erstellen und bereitstellen können, die eine beliebige Kombination aus statischen Assets, Serverless-Funktionen und Bindungen an Ressourcen enthalten. Diese werden das gleiche leistungsstarke CI-System nutzen, das sich heute in Pages findet.

Wie bei Pages werden Sie in der Lage sein, sich Bereitstellungen Ihres Projekts mit eindeutigen, durch Cloudflare Access geschützten URLs als Vorschau anzeigen zu lassen, die in Ihren Pull Requests oder per Wrangler-Befehl verfügbar sind. Uns ist bewusst, dass auch die besten Ideen vor dem Release immer wieder auf Herz und Nieren geprüft werden müssen. Deshalb werden wir auch über ein erstklassiges Laufzeitumgebungskonzept verfügen, mit dem das Testen unter verschiedenen Konstellationen möglich sein wird.

Lokales Entwickeln

Einer der wohl wichtigsten Aspekte der Zusammenführung ist die lokale Entwicklung. Für Entwickler sollte während der Verschmelzungsphase beim Nutzererlebnis keine Änderung spürbar sein. Wenn Sie in Zukunft mit unserer Wrangler-Kommandozeile arbeiten, wird Ihnen dafür ein einheitlicher und vorhersehbarer Satz von Befehlen zur Verfügung stehen, die Sie für Ihr Projekt verwenden können – z. B. ein einfaches „wrangler dev“ und „wrangler deploy“. Weil eine gemeinsame Konfigurationsdatei für alle Komponenten Ihres Projekts verwendet wird, können Sie sich darauf verlassen, dass Ihr Befehl nicht nur auf einzelne Elemente, sondern auf das gesamte Projekt angewandt wird.

Wo liegen die Vorteile?

Durch die Zusammenführung von Workers und Pages vereinen wir nicht nur alle wichtigen Entwicklerfunktionen der beiden Produkte auf einer Entwicklungsplattform – damit gehen auch alle Performance-, Kosten- und Lastverteilungsvorteile einher. Dazu gehören:

  • Äußerst niedrige Latenz mit über die ganze Welt verteilten statischen Assets und Rechenleistung auf unserem Netzwerk, das nur 50 ms von 95 % aller Internetnutzer weltweit entfernt ist.

  • Kostenloser Ausgangs-Traffic und Gratis-Hosting von statischen Assets.

  • Auf Standards basierende JavaScript-Laufzeitumgebung, die nahtlos mit den ihnen bereits vertrauten Paketen und Bibliotheken kombinierbar ist.

Reibungslose Migrationen für alle

Wenn Sie Pages oder Workers bereits nutzen und sich nun Gedanken darüber machen, was unsere Pläne für Ihre bestehenden Projekte bedeutet, können Sie ganz beruhigt sein. Die Ermöglichung einer reibungslosen Migration hat beim Aufbau dieser kombinierten Architektur oberste Priorität. Sie bildet den Fixpunkt bei der Erstellung unser neuen, übergreifenden Entwicklungsplattform. Bestehende Projekte sowohl auf Pages als auch auf Workers werden auch in Zukunft ohne weiteres Zutun der Nutzer funktionieren. Gleichzeitig werden mit der Zeit immer mehr Funktionen zur Anreicherung bestehender Projekte und Arbeitsabläufe zur Verfügung stehen – unabhängig davon, mit welchem Produkt das Projekt begonnen wurde.

Was bringt die Zukunft?

Wir werden im Lauf des Jahres an der Verschmelzung von Pages und Workers arbeiten und dafür hinter den Kulissen nicht nur die Lösungen selbst, sondern auch unsere Produkt-, Technik- und Designteams zusammenlegen.

Wir können es zwar kaum erwarten, Ihnen das Endergebnis zu präsentieren, allerdings wird es nicht über Nacht soweit sein. Damit ein reibungsloser Übergang gelingt, möchten wir in den nächsten Quartalen einige wichtige Meilensteine erreichen. Während der aktuellen Developer Week unternehmen wir dafür den ersten Schritt. Wundern Sie sich also nicht, wenn Sie auf dem Dashboard gewisse Veränderungen bemerken.

Gemeinsam loslegen

Im Zuge der Zusammenführung von Pages und Cloudflare werden Sie bei der Erstellung neuer Projekte einige Veränderungen in unserem Dashboard bemerken. Die Verschmelzung wird schrittweise erfolgen. Wir werden den Ablauf der Projekterstellung vereinheitlichen, sodass Sie von einem Bildschirm aus entweder ein Pages-Projekt oder einen Worker erstellen können.

Schnelleres Arbeiten mit Vorlagen

Uns ist bewusst, dass Entwickler gern einfach die Ärmel hochkrempeln und damit beginnen, ihre Ideen umzusetzen. Künftig wird es deshalb einfacher denn je sein, aus Ideen Anwendungen zu entwickeln, die im Cloudflare-Netzwerk betrieben werden. Sie werden mit wenigen Klicks eine Startvorlage bereitstellen können, die von einem einfachen „Hello World“-Worker bis zu einem ChatGPT-Plugin reichen kann. Wir arbeiten daran, Pages-Vorlagen in unserem Dashboard verfügbar zu machen, mit denen automatisch ein neues Repository erstellt und Starter-Full-Stack-Anwendungen mit ein paar Schaltflächen bereitgestellt werden können.

Bevorzugte Full-Stack-Frameworks jederzeit in Reichweite

Unsere Pläne beschränken sich jedoch nicht auf statische Vorlagen oder unser Dashboard. Beim Einsatz des Frameworks Ihrer Wahl müssen Sie nicht auf bereits vertraute und geschätzte Tools verzichten. Sie möchten mit eigenen Augen sehen, was wir meinen, wenn wir sagen, dass Sie für Bereitstellungen ihr bevorzugtes Full-Stack-Framework nutzen oder sich von den Stärken von Workers überzeugen sollen? Dann führen Sie einfach den folgenden Befehl über ihr Terminal aus:

Diese Kommandozeile verfügt über eine Integration mit CLIs von einigen unserer erstklassigen und solide unterstützten Full-Stack-Frameworks wie Angular, Next, Qwik und Remix. Damit können Sie vollständig selbst bestimmen, wie Sie neue Projekte erstellen. Über dieses Tool können Sie auch eine Vielzahl von Workern mit unseren leistungsstarken Starter-Vorlagen bereitstellen, wobei die Erfahrung ähnlich ist wie beim Einsatz eines Wizard.

npm create cloudflare@latest

Alle Ihre Anwendungen an einem Ort

Mit der Zusammenführung der Projektlisten-Dashboards von Pages und Workers nähern wir uns einer einheitlichen Nutzererfahrung weiter an. Nach Bereitstellung Ihrer Anwendung werden Ihnen alle Ihre Pages- und Workers-Projekte auf einer einzigen Seite angezeigt. So sind Sie nicht gezwungen, dafür verschiedene Bereiche Ihres Dashboards aufzurufen. So haben Sie die Nutzungsanalysen für Workers- und Pages-Funktionen von einem Ort aus im Blick. In Zukunft wird dabei nicht mehr zwischen den beiden Lösungen unterschieden. Es handelt sich schlicht um „Projekte“ mit ihren verschiedenen Assets, Funktionen und Ressourcen.

Was kommt als Nächstes?

Während der Umsetzung unseres Vorhabens werden Sie feststellen, dass sich die einzelnen Produkte mit der Zeit langsam immer mehr ähneln werden. Wir werden neue Funktionen immer für beide Plattformen freischalten, bis sie für eine Verschmelzung bereit sind, z. B. eine Git-Integration für Ihre Worker und eine Konfigurationsdatei für Ihre Pages-Projekte.

Wenn Sie mehr über die neuesten Funktionen und bevorstehende Meilensteine erfahren möchten, halten Sie auf Twitter Ausschau nach Neuigkeiten von uns.

Was denken Sie?

Um eine rundum gelungene Plattform erstellen zu können, brauchen wir den Input unserer Community. Wir haben deshalb eine Umfrage erstellt, um mehr über unsere Nutzer und Ihre Wünsche zu erfahren. Falls Sie ein paar Minuten erübrigen könnten, würden wir uns freuen, wenn Sie die Fragen beantworten oder uns über den Discord-Kanal von Cloudflare für Entwickler oder Twitter @CloudflareDev Rückmeldung geben.

Wir schützen komplette Firmennetzwerke, helfen Kunden dabei, Internetanwendungen effizient zu erstellen, jede Website oder Internetanwendung zu beschleunigen, DDoS-Angriffe abzuwehren, Hacker in Schach zu halten, und unterstützen Sie bei Ihrer Umstellung auf Zero Trust.

Greifen Sie von einem beliebigen Gerät auf 1.1.1.1 zu und nutzen Sie unsere kostenlose App, die Ihr Internet schneller und sicherer macht.

Wenn Sie mehr über unsere Mission, das Internet besser zu machen, erfahren möchten, beginnen Sie hier. Sie möchten sich beruflich neu orientieren? Dann werfen Sie doch einen Blick auf unsere offenen Stellen.
Developer Week (DE)Entwickler

Folgen auf X

Nevi Shah|@nevikashah
Cloudflare|@cloudflare

Verwandte Beiträge

24. Oktober 2024 um 13:00

Durable Objects aren't just durable, they're fast: a 10x speedup for Cloudflare Queues

Learn how we built Cloudflare Queues using our own Developer Platform and how it evolved to a geographically-distributed, horizontally-scalable architecture built on Durable Objects. Our new architecture supports over 10x more throughput and over 3x lower latency compared to the previous version....