BlogsVercelRuntime Options for Vercel Functions

Runtime Options for Vercel Functions

Runtime Options for Vercel Functions

11
posts
2019–2025

Vercel Functions now support increased concurrency (up to 100,000), a unified Web Standard API signature (Request/Response), zero-config streaming responses, longer execution durations (up to 5 minutes on Pro, 15 on Enterprise), faster cold starts through runtime and framework optimizations, and automatic regional failover for Node.js runtimes. Logging limits have also been increased for better observability. This post highlights how Vercel's autoscaling and serverless capabilities enable platforms to handle dynamic workloads. Additionally, Vercel has introduced default helpers for serverless Node.js functions, providing direct access to request query parameters, cookies, and body, as well as methods for setting response status, sending JSON, and sending plain text or buffers, simplifying development and improving performance compared to frameworks like Express.js.

2025

Bun runtime on Vercel Functions

10/28/2025

Introduces Bun as a new runtime option for Vercel Functions, enabling developers to select between Node.js and Bun via `vercel.json`. Details performance benefits of Bun, citing a 28% reduction in average latency for CPU-bound Next.js rendering workloads compared to Node.js. Explains the technical reasons for Bun's performance gains (Zig-based architecture, optimized I/O and scheduling). Provides configuration examples for `vercel.json` and Hono. Discusses performance characteristics and tradeoffs between Bun and Node.js, including compatibility and cold start considerations. Mentions benchmark results and ongoing optimization efforts.

2024

Serverless servers: Efficient serverless Node.js with in-function concurrency

10/3/2024

Introduces in-function concurrency for Vercel Functions, allowing a single instance to handle multiple calls simultaneously. This optimizes efficiency by leveraging idle time, potentially cutting costs by up to 50%. The implementation involves a Rust-powered runtime and a function load balancer to manage concurrent invocations. This breaks away from the traditional one-to-one mapping of invocation to compute, improving efficiency for interactive workloads like server-rendering, APIs, and AI applications.

Understanding Vercel Functions

7/5/2024

This post details the benefits of Vercel Functions, including secure environments, predictable performance, high availability, automatic scaling, spend controls, and observability. It highlights performance improvements due to Rust-powered core and bytecode caching, and discusses how Vercel Functions abstract operational complexities, allowing developers to focus on building products. It also touches upon framework-defined infrastructure and infinite preview environments.

Function streaming to be framework-agnostic on Vercel

7/4/2024

This post announces the default enablement of streaming for all Node.js Vercel Functions, building upon previous support for frameworks like Next.js. It details the changes in response handling during runtime errors (immediate stream closure vs. buffered 500 error) and the significant improvement in the runtime logs experience, where individual log statements appear in near real-time with precise timestamps, rather than aggregated logs after function completion. It also highlights the impact on Log Drains and provides instructions for early adoption.

Vercel Functions are now faster—and powered by Rust

5/3/2024

Vercel Functions have been rewritten in Rust, leading to significant performance improvements. This includes 30% faster cold starts for smaller workloads and 80ms faster (average) and 500ms faster (p99) execution for larger workloads. The Rust rewrite optimizes environment variable handling, Node.js process spawning, chunked response streaming and encryption, and `waitUntil` API usage. Streaming connection times have also improved by 47% (average) and 77% (p99). These changes result in slightly lower costs for customers and faster execution for Next.js App Router workloads and other streaming applications.

Vercel Functions: Faster, modern, and more scalable

2/14/2024

Introduced increased concurrency limits, adopted Web Standard Request/Response APIs for function signatures, enabled zero-config streaming responses, extended function execution duration to 5 minutes (Pro) and 15 minutes (Enterprise), improved cold start times with runtime and framework optimizations, and added automatic regional failover for Node.js functions. Increased logging limits from 4KB to support larger stack traces.

2023

Managing major traffic spikes during ticket drops with Vercel | Customers | Vercel

3/31/2023

This post details how Vercel's autoscaling and serverless architecture, particularly with Next.js, enabled Shotgun to handle 200x traffic spikes during ticket drops without manual intervention. It also mentions the use of Edge Config for quick configuration of waiting rooms and Vercel Functions for seamless migration from Firebase, contributing to a more robust and scalable infrastructure for handling high-demand events.

2022

AWS and Vercel: Accelerating innovation with serverless computing

12/6/2022

This post highlights Vercel's extensive use of AWS Lambda for its serverless compute layer, enabling millions of functions invoked over five billion times per week. It emphasizes how Vercel's platform, combined with AWS Lambda, provides optimal performance and infinite scale for customers, citing The Washington Post's successful handling of high-traffic election results pages as an example of the benefits of serverless for production environments and edge networks.

2020

Refined Logging on Vercel

3/11/2020

This post introduces refined build logs and serverless function logs for improved observability. It also highlights the existing Log Drains feature for piping invocation logs to external tools like LogDNA or Datadog for more complex log inspection needs.

2019

Inspecting Serverless Functions

11/18/2019

Introduced a "Functions" tab on the Deployment Overview to provide detailed insights into Serverless Functions, including function details (size, computational resources, response time), real-time request streams with logs, and a list of failed requests for up to 30 days. This enhances the observability and debugging capabilities for Serverless Functions.

Helpers for Serverless Node.js Functions

6/19/2019

This post introduces default helpers for serverless Node.js functions on Vercel, including `request.query`, `request.cookies`, `request.body`, `response.status()`, `response.json()`, and `response.send()`. These helpers simplify common tasks like parsing GET parameters, accessing cookies, and handling request bodies, and provide standardized methods for constructing responses. Benchmarks indicate performance gains compared to basic Express.js applications.