Cloudflare-Mitarbeiter

Schnelle serverlose Funktionen, gehostet von Cloudflares CDN

Serverlose Funktionen im Edge-Netzwerk

Cloudflare verfügt über eine ganze Suite von Cloud-basierten Produkten, die Ihnen einen „Backend-as-a-Service“ bieten, und Cloudflare Workers ist ein wichtiger Bestandteil dieser Suite. Cloudflare Worker sind serverlose Funktionen, die in Javascript (oder vorzugsweise Typescript) geschrieben sind und in einer Node.js-Umgebung gehostet werden, die von der V8-Engine angetrieben wird. Sie können sie lokal schreiben und über die „wrangler“-CLI bereitstellen oder direkt in der Cloud entwickeln.

// This is a minimal example for a
// serverless function hosed by
// Cloudflare. You define this code
// in a JS-file and upload it via the
// 'wrangler'-CLI.

addEventListener("fetch", event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  return new Response("Hello world")
}

Wenn Sie hier zum ersten Mal von „serverlosen Funktionen“ hören, hier eine kurze Erklärung. Serverlose Funktionen sind buchstäblich Funktionen, die die Geschäftslogik Ihres Dienstes kapseln und in der Cloud gehostet werden. Der Hauptvorteil besteht darin, dass Sie keine Sekunde Ihrer Zeit damit verschwenden müssen, einen Server selbst zu hosten, zu patchen und zu warten. Sie „laden“ einfach Ihre Funktionen hoch und schon sind sie in wenigen Minuten weltweit verfügbar.

Cloudflare fördert insbesondere die Geschwindigkeit seiner Produkte, da es ein sehr großes Netzwerk zur Bereitstellung von Inhalten mit vielen Endpunkten auf der ganzen Welt kontrolliert. Natürlich wird dieses CDN auch für die Cloudflare-Worker genutzt.

So verteilen Sie Ihr Backend rund um den Globus

Jedes Mal, wenn Sie Ihre Cloudflare-Worker bereitstellen, werden sie an vielen Standorten weltweit geteilt und aktualisiert. Dadurch kann Cloudflare eingehende Anfragen an den immer nächstgelegenen Endpunkt weiterleiten, um Ihre serverlosen Funktionen aufzurufen, wodurch die Netzwerkverzögerung auf wenige Millisekunden reduziert wird. Dieses von Cloudflare durchgeführte Routing ist bei Anfragen transparent - das Routing und das Laden der Balance erfolgt automatisch im Hintergrund.

Um die Topologie der Cloudflare Worker-Architektur besser zu verstehen, hier eine Aufschlüsselung von hoher zu niedriger Ebene:

Wie bereits erwähnt, verfügt Cloudflare über ein CDN, das aus vielen Servern an verschiedenen Standorten auf der Welt besteht
Ein einzelner Standort selbst besteht aus vielen Servern, die eingehende Anfragen verarbeiten
Wenn wir auf einen einzelnen Server hineinzoomen, sehen wir, dass auf dieser Maschine eine sogenannte „Workers Runtime“ läuft, die von der Javascript V8-Engine angetrieben wird powered
Schließlich ist Ihre serverlose Funktion nur ein „Isolat“ innerhalb dieser Laufzeit; eine einzige Laufzeit kann Tausende von Funktionen gleichzeitig hosten

Eine besonders wichtige Information: Jeder Cloudflare-Worker, den Sie bereitstellen, hat seinen eigenen Speicher, der von jedem anderen Prozess isoliert ist. Dadurch wird sichergestellt, dass Ihre Daten wirklich nur für Ihre Instanz zugänglich sind.

Wann Sie Cloudflare Worker verwenden sollten und wann nicht

Cloudflare Workers klingen sehr spannend und sind auf jeden Fall einen Versuch wert, auch wenn Sie bereits Apps haben, die serverlose Funktionen anderer Anbieter nutzen. Dies könnte aber auch auf den Hauptgrund hinweisen, warum das Produkt von Cloudflare schwieriger zu übernehmen ist: Viele Dienste wie Next.js in Kombination mit Vercel oder Firebase von Google bieten ebenfalls solche Lösungen an. Wenn Sie derzeit deren Produkte verwenden, macht ein Wechsel zu Cloudflare nicht viel Sinn.

Wenn Sie jedoch ein neues Projekt starten, sollten Sie Cloudflare Workers als Backend verwenden. Ihre Nutzung ist in Bezug auf die Anwendungsfälle praktisch unbegrenzt. Darüber hinaus bietet Cloudflare eine Vielzahl anderer Dienste, die möglicherweise genau Ihren Anforderungen entsprechen.

Vorschläge

Verwandt

Anhang

Sprachen