Earlier, the company released Edge Functions as a public beta and improved performance by placing deployed functions into a specific region. In addition, it added other features such as support for WebAssembly and cache-control standard for function responses and the ability to express region preference.
By default, Edge Functions run in the region closest to the request for the lowest latency possible. In addition, these functions run after the cache and, therefore, can both cache and return responses. Next.js and many other frameworks like Nuxt, Astro, and SvelteKit natively support Edge Functions. Yet, developers can also create a standalone function using the Vercel CLI.
Under the hood, Edge Functions use Vercel’s Edge Runtime, built upon the V8 engine used by the Chrome browser, and doesn’t run within a MicroVM. The benefit of the V8 engine is that Edge Functions run in an isolated environment and do not require a VM or container. It limits the runtime yet keeps it lightweight and requires fewer resources than a Vercel Serverless Function, effectively eliminating cold boot times and making them more cost-effective.
In the future, the company will continue to improve its compute products, Edge Functions, and Serverless Functions by improving the compatibility between Edge Functions and Serverless Functions. In a blog post, the company stated:
Our goal is for the Edge Runtime to be a proper subset of the Node.js API. We want users to be able to choose their execution environment based on performance and cost characteristics, not the API.
Malte Ubl, CTO at Vercel, told InfoQ:
With Vercel Edge Functions, we’re enabling the seamless deployment of functions around the globe. Our latest offering will create unprecedented improvements in building performant web experiences at the edge, which is critical to end-users no matter their geography or device.
The Edge Functions offering from Vercel will compete with others like Cloudflare Workers, which feature 0 ms initialization time (i.e., no “cold starts”) and run at the edge (i.e., in a data center close to the users).
For me, the biggest value add is that it integrates seamlessly with existing Vercel project deployments.
Lastly, Edge Functions are billed in units of 50 ms CPU time per invocation, called execution units. Developers interested in trying out Edge Function can have 500,000 units per month through the hobby plan. In comparison, pro and enterprise teams have 1 million monthly Edge Function execution units included for free and can add on additional usage.