You can configure Vercel functions in many ways, including the runtime, region, maximum duration, and memory.
With different configurations, particularly the runtime configuration, there are a number of trade-offs and limits that you should be aware of. For more information, see the runtimes comparison.
The runtime you select for your function determines the infrastructure, APIs, and other abilities of your function.
With Vercel, you can configure the runtime of a function in any of the following ways:
- Ruby, Python, Go: These have similar functionality and limitations as Node.js (Serverless) Functions. The configuration for these runtimes gets based on the file extension
- Community runtimes: You can specify any other runtime, by using the
functionsproperty in your
Your function should execute in a location close to your data source. This minimizes latency, or delay, thereby enhancing your app's performance. How you configure your function's region, depends on the runtime used.
The maximum duration for your function defines how long a function can run for, allowing for more predictable billing.
Serverless Functions have a default duration that's dependent on your plan, but teams on Pro or Enterprise can configure this as needed.
Serverless Functions use an infrastructure that allows you to adjust the memory size.
Edge Functions have a fixed memory limit. This design ensures minimal cold starts in a limited execution environment, providing faster function execution times.