Edge Computing ist ein Modell, das Rechenleistung nah bei Nutzern oder Datenquellen ausführt; Edge Functions sind Serverless-Code an CDN-Standorten. Der weite Begriff – kanonisch definiert von Shi et al. als Berechnung nah an den Datenquellen – reicht vom IoT in der Fertigungshalle bis zur MEC-Infrastruktur der Telekommunikation. Für Backend-Entwickler bedeutet er etwas Bestimmtes: kleine Funktionen, die auf dieselben weltweiten Points of Presence deployt werden, die auch ein CDN nutzt, und in dem PoP laufen, der jeder Anfrage am nächsten liegt – die Entwicklung des CDN vom Cachen von Inhalten zum Ausführen von Code.
Das Wichtigste in Kürze
| Frage | Antwort |
|---|---|
| Warum der Edge schnell ist | Physik – die RTT ist Distanz; ein naher PoP ~5 ms, ein Ozean ~150 ms |
| Der Trick der Runtime | V8-Isolates: Sandboxes wie Browser-Tabs, Start in ~ms, kein Container-Boot |
| Was dorthin gehört | Zustandslose Gateway-Logik – Auth-Prüfungen, Weiterleitungen, Personalisierung |
| Was nicht | Datenarbeit – die Datenbank liegt weiterhin an einem Ort |
| Der ehrliche Vorbehalt | Der Edge verschiebt den Roundtrip; nur eine Datenstrategie beseitigt ihn |
Eine Edge Function und die Schicht, in der sie lebt
// JavaScript — an edge function (web-standard APIs, runs at every POP)
// Gateway logic at the edge; the backend stays the source of truth
export default async function handler(request) {
const url = new URL(request.url);
const country = request.headers.get('x-user-country') ?? 'US';
if (url.pathname === '/' && country !== 'US') {
return Response.redirect(`${url.origin}/${country.toLowerCase()}/`, 302);
}
// Reject requests without credentials at the edge; full verification and data work go to the origin
const auth = request.headers.get('Authorization');
if (!auth) return new Response('Unauthorized', { status: 401 });
return fetch(request); // pass through to the origin backend
} // Flutter / Dart — Back4app Flutter SDK
// The three-layer picture from the client's seat:
// CDN serves static assets · edge handles gateway logic · origin owns data
final query = QueryBuilder<ParseObject>(ParseObject('Post'))
..whereEqualTo('status', 'published')
..setLimit(20);
final response = await query.query();
// This query talks to the ORIGIN backend — where the database lives.
// Moving it "to the edge" would move the round trip, not remove it. // iOS / Swift — Back4app Swift SDK
// The three-layer picture from the client's seat:
// CDN serves static assets · edge handles gateway logic · origin owns data
let query = Post.query("status" == "published")
.limit(20)
let posts = try await query.find()
// This query talks to the ORIGIN backend — where the database lives.
// Moving it "to the edge" would move the round trip, not remove it. // Android / Kotlin — Back4app Android SDK
// The three-layer picture from the client's seat:
// CDN serves static assets · edge handles gateway logic · origin owns data
val query = ParseQuery.getQuery<ParseObject>("Post")
query.whereEqualTo("status", "published")
query.limit = 20
val posts = query.find()
// This query talks to the ORIGIN backend — where the database lives.
// Moving it "to the edge" would move the round trip, not remove it. Der JavaScript-Tab ist die Edge Function selbst – Request/Response nach Web-Standard, kein Framework, Abfangen des Traffics vor dem Origin. Die Client-Tabs zeigen die andere Seite der Architektur: Anwendungsdaten fließen weiterhin zum Origin-Backend, denn dort liegt die Datenbank – der Satz, zu dem dieser ganze Artikel immer wieder zurückkehrt.
Isolates vs. Container: warum der Edge in Millisekunden startet
| V8-Isolates (Edge) | Container / Micro-VMs (regionales FaaS) | |
|---|---|---|
| Start | unter 5 ms – einen JS-Kontext erzeugen | 100–1.000 ms – Runtime booten, Cold Start |
| Speicher pro Tenant | ~2 MB | 30–50 MB und mehr |
| Isolationsgrenze | Sandbox im Prozess (Browser-Tab-Technik) | OS/Hypervisor – stärker |
| API-Oberfläche | Teilmenge des Web-Standards | Vollständige Sprach-Runtime |
| Ausführungsgrenzen | Einige Dutzend ms CPU, kleine Bundles | Minuten, Gigabyte |
| Passt für | Gateway-Logik pro Anfrage | Echte Anwendungslasten |
Tausende Isolates teilen sich pro Maschine einen einzigen, lang laufenden Prozess – derselbe Mechanismus, der Browser-Tabs auseinanderhält –, sodass das “Starten” einer Funktion bedeutet, einen Kontext zu erzeugen, nicht eine Runtime zu booten. Diese Architektur, nicht warme Pools, ist der Grund, warum Edge-Plattformen ehrlich nahezu null Cold Starts angeben können. Die Rechnung steht in der dritten und vierten Zeile: eine schwächere Isolationsgrenze (mit sorgfältigen Gegenmaßnahmen abgefedert) und eine Runtime, in der ein Großteil von npm nicht läuft – kein Dateisystem, keine nativen Module, keine dynamische Auswertung; die portable Oberfläche ist inzwischen als Minimum Common API (ECMA-429) standardisiert.
Edge vs. Origin: die Aufteilung der Arbeitslast
| Arbeitslast | Läuft am | Warum |
|---|---|---|
| Token-/Session-Prüfung, Bot-Blocking | Edge | Schlechten Traffic abweisen, bevor er einen Ozean quert |
| Weiterleitungen, Geo-Routing, A/B-Zuteilung | Edge | Pro Anfrage, zustandslos, spürbar in der Latenz |
| Header-/Cookie-Rewrites, Cache-Logik | Edge | Der natürliche Lebensraum des CDN |
| Lese- und Schreibzugriffe auf die Datenbank | Origin | Dort liegen die Daten; sonst eine RTT pro Abfrage |
| Geschäftslogik, Transaktionen | Origin | Zustandsbehaftet, mehrstufig, braucht die volle Runtime |
| Medienverarbeitung, lange Aufgaben | Origin | Die CPU-Grenzen verbieten es am Edge |
Der ehrliche Teil: Ihre Datenbank liegt weiterhin an einem Ort
Der Abschnitt, den Anbieter-Erklärungen auslassen. Die Berechnung an den Edge zu verlagern, verlagert die Daten nicht – es verschiebt den Roundtrip von Nutzer → Server zu Funktion → Datenbank, und bei geschwätzigen Arbeitslasten ist das ein Rückschritt: Eine Edge Function 5 ms vom Nutzer entfernt, die fünf aufeinanderfolgende Abfragen an eine 150 ms entfernte Datenbank schickt, verbraucht 750 ms, wo eine regionale Funktion neben derselben Datenbank ~5 ms bräuchte. Diese Rechnung erklärt die stille Kurskorrektur der Branche – einige große Edge-Plattformen empfehlen inzwischen ihre regionalen Runtimes für die meisten Arbeitslasten und haben Optionen ergänzt, Funktionen nah an der Datenbank festzupinnen: das denkbar deutlichste Eingeständnis, dass Datenlokalität die Rechenlokalität schlägt. Die Teillösungen, nach Praxistauglichkeit geordnet: datenintensiven Code am Origin ausführen (die Aufteilungstabelle oben); auf einen Roundtrip bündeln, wenn Edge-Code die Daten berühren muss; und Lesezugriffe nach außen replizieren über Key-Value-Caches am Edge – inklusive der Trade-offs von Eventual Consistency (letztendliche Konsistenz). Edge Functions gewinnen, wenn sie am Edge fertig werden; sobald sie pro Anfrage beim Origin nachfragen müssen, hört die Geografie auf, für Sie zu arbeiten.
Wann der Edge Over-Engineering ist
Die meisten Anwendungen sind ein CRUD-Backend mit regionaler Nutzerbasis – für sie ist ein Backend in einer Region plus ein CDN für statische Assets einfacher und oft Ende-zu-Ende schneller als eine Edge-Schicht, die ohnehin zur selben Datenbank zurückreist. Edge Functions verdienen ihren Platz, wenn die Logik am Edge fertig wird, für ein weltweit verteiltes Publikum, auf einem Pfad, auf dem die Latenz spürbar ist – drei Bedingungen, alle drei nötig. Das Kostenmodell erzählt dieselbe Geschichte von der anderen Seite: Edge-Plattformen rechnen pro Anfrage plus CPU-Millisekunden ab (günstig für dünne Gateway-Logik), während regionale Funktionen die tatsächlich verstrichene Zeit abrechnen – einschließlich der Zeit, die Ihr Code mit Warten auf die Datenbank verbringt, neben der er hätte sitzen sollen.
Typische Anwendungsfälle
- Authentifizierungs-Schranken – prüfen Sie ein Session Token am PoP; nicht authentifizierte Anfragen queren nie den Ozean.
- Geo-Personalisierung – Sprache, Währung und Compliance-Routing werden Millisekunden vom Nutzer entfernt entschieden.
- A/B-Tests und Feature-Zuteilung – Cookie-Zuweisung am Edge, konsistent, noch bevor die Seite lädt.
- Rate Limiting und Bot-Abwehr – Missbrauch am Perimeter abfangen, Zähler pro PoP im Edge-KV.
- Edge Computing im weiten Sinn – die IoT- und Telekommunikationsbedeutung: Fabriksensoren und 5G-Infrastruktur, die lokal verarbeiten – ein eigener Artikel, hier in einer Zeile anerkannt.
Sollten Sie Edge Functions verwenden? Eine Entscheidungsmatrix
| Situation | Tendenz |
|---|---|
| Weltweite Nutzer, Gateway-Logik mit spürbarer Latenz | Edge – sein Heimspiel |
| Logik, die am Edge fertig wird (ohne Datenbank) | Edge |
| Geschwätzige Datenbankzugriffe pro Anfrage | Origin – jedes Mal |
| Regionale Nutzerbasis, klassische CRUD-App | Origin + CDN; der Edge bringt nichts |
| Schwere Abhängigkeiten, native Module, lange CPU-Zeit | Origin – die Runtime verbietet den Edge |
| Statische Assets | Der CDN-Cache – dafür braucht es keine Funktion |
Grenzen und Trade-offs
- Die Runtime ist eine Teilmenge. Nur Web-Standard-APIs; ORMs mit nativen Bindings, Bildbibliotheken und Code, der ein Dateisystem braucht, laufen nicht – prüfen Sie den Abhängigkeitsbaum, bevor Sie sich festlegen.
- Die CPU-Grenzen sind strikt. Einige Dutzend Millisekunden Rechenzeit sind das Budget; Edge Functions lenken Traffic, sie verarbeiten ihn nicht.
- Zustand liegt per Design woanders. Jeder zustandsbehaftete Bedarf führt zum Origin oder zu einem Edge-KV mit Eventual-Consistency-Semantik – keines von beidem ist umsonst.
- Debugging wird verteilt. Einen Fehler zu reproduzieren, der nur an einem PoP und nur in einer Region auftritt, ist eine eigene Disziplin; zentrales Logging von überall ist die Gegenmaßnahme.
- Das Pendel schwingt. Edge-First-Standards wurden bereits einmal zurückgenommen; behandeln Sie den Edge als präzises Werkzeug für Gateway-Logik, nicht als Architektur-Identität.
Edge Computing mit Back4app
Back4app ist eine Open-Source-Plattform für Backend as a Service (BaaS), die eine verwaltete Datenbank, automatisch generierte REST- und GraphQL-APIs, Authentifizierung, Dateispeicher und Serverless-Funktionen mit Cloud Code kombiniert. Im dreischichtigen Bild, das dieser Artikel zeichnet, ist Back4app der gut gemachte Origin: Die Datenbank und die Geschäftslogik in Cloud Code liegen beieinander – genau die Ko-Lokation, die Datenarbeit schnell macht – hinter einem CDN, das Dateien und statische Assets aus denselben PoPs ausliefert, die auch eine Edge-Schicht nutzen würde. Edge Functions setzen sich dann davor, als dünne Gateway-Logik, wo die drei Bedingungen erfüllt sind: hier eine Weiterleitung, dort eine Token-Prüfung, und durchgereicht an einen Origin, dem die Daten gehören und der bei jeder Anfrage die ACLs durchsetzt. Die Architekturlektion aus dem ehrlichen Abschnitt – Berechnung nah beim Nutzer, Datenarbeit nah bei den Daten – ist genau diese Aufteilung, bei der jede Schicht den Teil übernimmt, den die Geografie begünstigt.
Häufige Fragen
Was ist Edge Computing, einfach erklärt?
Berechnungen dort ausführen, wo Daten entstehen oder wo die Nutzer sind, statt in einem entfernten Rechenzentrum. Weniger Distanz bedeutet weniger Millisekunden und weniger Bandbreite – die ganze Idee ist Geografie. Der Begriff umfasst IoT-Sensoren, Telekommunikationsinfrastruktur und, für Web-Entwickler, Code, der an CDN-Standorten läuft.
Was ist eine Edge Function?
Eine kleine Serverless-Funktion, die auf die weltweiten Points of Presence eines CDN deployt wird und an dem Standort läuft, der jeder Anfrage am nächsten liegt – typischerweise fängt sie HTTP-Traffic ab, um umzuleiten, zu personalisieren oder zu authentifizieren, bevor er das Origin-Backend erreicht.
Was ist der Unterschied zwischen Edge Functions und Serverless-Funktionen?
Beide sind Functions as a Service; sie unterscheiden sich im Wo (Hunderte Standorte vs. eine Region), in der Runtime (leichtgewichtige Isolates mit Web-Standard-APIs vs. vollständige containerisierte Runtimes), bei den Cold Starts (nahe null vs. Hunderte Millisekunden) und bei den Limits (enge CPU- und Größengrenzen vs. Minuten und Gigabyte).
Was sind V8-Isolates?
Leichtgewichtige, gesandboxte JavaScript-Kontexte – derselbe Mechanismus, der Browser-Tabs voneinander trennt –, von denen Tausende in einem einzigen, lang laufenden Prozess arbeiten. Jeder bekommt einen eigenen Heap und eigene Globals, startet in unter fünf Millisekunden bei wenigen Megabyte Overhead und braucht weder Container- noch VM-Start: der Grund, warum Edge-Plattformen praktisch keine Cold Starts melden.
Welche Grenzen haben Edge-Runtimes?
Eine Teilmenge der Web-Standard-APIs – fetch, Request/Response, Streams, WebCrypto – ohne Dateisystem, ohne native Module und ohne dynamische Codeauswertung; enge Grenzen für die CPU-Zeit (einige Dutzend Millisekunden sind üblich) und kleine Bundle-Limits. Viele verbreitete Pakete, von ORMs mit nativen Bindings bis zu Bildbibliotheken, laufen dort schlicht nicht.
Was gehört an den Edge und was an den Origin?
An den Edge: zustandslose Gateway-Logik nah beim Nutzer – Token-Prüfungen, Weiterleitungen, Geo-Routing, A/B-Zuteilung, Header-Rewrites, Rate Limiting. An den Origin: alles Zustandsbehaftete und Transaktionale – Lese- und Schreibzugriffe auf die Datenbank, Geschäftslogik, schwere Verarbeitung. Die Faustregel: Berechnung nah beim Nutzer, Datenarbeit nah bei den Daten.
Ruiniert meine Datenbank die Edge-Latenz?
Oft ja – die Berechnung an den Edge zu verlagern, verlagert nicht die Daten. Eine Edge Function in Tokio, die eine Datenbank in Virginia abfragt, bezahlt pro Abfrage einen vollen transpazifischen Roundtrip; fünf aufeinanderfolgende Abfragen machen aus einer Fünf-Millisekunden-Funktion eine mit 750 Millisekunden. Abhilfen: nah bei den Daten ausführen, auf einen Roundtrip bündeln oder Lesezugriffe am Edge cachen.
Ist ein CDN dasselbe wie Edge Computing?
Ein CDN cacht statische Inhalte und liefert sie an seinen Points of Presence aus; Edge Computing führt Ihren Code an denselben Standorten aus. Edge Functions sind die programmierbare Weiterentwicklung des CDN – dieselbe Geografie, aktive Logik statt passivem Caching.