Netlify Edge Functions are serverless functions that execute at the network edge to personalize content, handle authorization, and implement routing logic before a website responds to user requests. Previously, these functions ran on a third-party hosted platform using V8 JavaScript isolates, which limited Netlify's control over the runtime environment and infrastructure costs. Starting in late 2025, Netlify partnered with the Unikraft project to replace this architecture with a new system where Edge Functions operate on microVMs within Netlify's own edge computing infrastructure.

The new request flow processes traffic entirely inside Netlify's network: an edge node receives the request, terminates TLS connections, checks for matching routes, and forwards it to an internal compute node rather than sending it to an external service. Each Edge Function runs in its own isolated microVM that boots in under 2ms at the 99th percentile, utilizing Unikraft's specialized unikernels that start a minimal Linux environment optimized for the specific workload. Performance data shows median warm invocation time decreased from 25-40 milliseconds to 5-6 milliseconds—a 5x improvement—while achieving 99.998% availability and 5x faster edge function log delivery.

Diagram showing warm and cold Edge Function requests flowing from client through edge node to compute node and MicroVM instance
Illustrates the new request flow inside Netlify's network for Edge Function invocationswww.netlify.com

This image depicts the request flow described in the article, where edge nodes forward requests to internal compute nodes running Edge Functions in isolated MicroVMs.

Bar chart comparing median warm invocation latency of V8 isolates (25–40 ms) versus Firecracker MicroVMs (5–6 ms)
Shows the 5x performance improvement in Edge Function warm start times after migrating to MicroVMswww.netlify.com

This chart visualizes the performance data cited in the article, demonstrating the reduction from 25–40 ms to 5–6 ms median latency.

Screenshot of an edge node evaluating an Edge Function route and forwarding the request to an internal compute node
Depicts the edge node's role in routing Edge Function traffic to internal compute nodeswww.netlify.com

Matches the article's description of edge nodes checking for matching routes and forwarding to compute nodes rather than external services.

Critically, this change requires no modifications from developers; existing Edge Functions continue to function identically with URL imports, npm packages, Node.js built-ins, and netlify.toml declarations working exactly as before. The migration provides Netlify with full authority over the Edge Functions runtime, enabling capabilities previously unattainable with the third-party constrained environment such as native npm package support and filesystem access. However, the initial (cold) invocation of a function in a previously unused geographic region still averages approximately 9ms as the system fetches required container images, affecting roughly 1.2% of requests. Netlify characterizes this as an acceptable trade-off given the substantial performance benefits delivered for the vast majority of Edge Function traffic.

Diagram of an edge node selecting a compute node where Edge Function container images are pulled and cached
Shows how edge nodes cache function images to reduce cold start latencywww.netlify.com

Relates to the article's note about cold invocations fetching container images, affecting ~1.2% of requests.