Definicja
Funkcja brzegowa (edge function) to kod serwerowy uruchamiany w lokalizacji brzegowej CDN znajdującej się fizycznie blisko odwiedzającego, zamiast na pojedynczym serwerze źródłowym. Platformy takie jak Cloudflare Workers, Vercel Edge Functions, Netlify Edge Functions i Deno Deploy wykonują kod w lekkim izolowanym środowisku V8 (V8 isolate) lub środowisku uruchomieniowym Deno w setkach punktów obecności na całym świecie, dzięki czemu żądanie nigdy nie musi wracać do centralnego serwera źródłowego w przypadku prostej personalizacji, przekierowań, sprawdzania uwierzytelnienia czy routingu testów A/B. Wdrożenie polega zazwyczaj na globalnym opublikowaniu w ciągu kilku sekund niewielkiego modułu JavaScript lub WebAssembly. Ceną za tę szybkość jest ograniczone środowisko uruchomieniowe: funkcje brzegowe nie mają dostępu do pełnego API Node.js, są ograniczone czasowo (często do kilku sekund czasu CPU lub mniej, w zależności od planu) i dysponują niewielkim budżetem pamięci, zwykle 128 MB lub mniej, w porównaniu z tradycyjnymi funkcjami serverless. Sprawdzają się w logice wrażliwej na opóźnienia, uruchamianej przy każdym żądaniu, a nie w przypadku ciężkich obliczeń, długich zadań czy dużych drzew zależności.
Jak to działa
Funkcje brzegowe działają na tej samej puli serwerów, która obsługuje treści z pamięci podręcznej (cache) CDN. Kod jest zazwyczaj wdrażany w postaci niewielkich modułów JavaScript lub WebAssembly. Typowe zastosowania: przepisywanie adresów URL, wstrzykiwanie personalizacji, sprawdzanie tokenów uwierzytelniających, routing geograficzny, wyzwalanie optymalizacji obrazów.
Dlaczego to ma znaczenie
W przypadku logiki wrażliwej na opóźnienia (uwierzytelnianie, routing testów A/B, personalizacja na brzegu sieci) funkcje brzegowe eliminują konieczność komunikacji z serwerem źródłowym i poprawiają wskaźnik TTFB oraz Core Web Vitals na całym świecie. W przypadku ciężkich zadań backendowych lepszym rozwiązaniem pozostaje tradycyjny serverless lub prawdziwy serwer.