Skip to content
Dashboard

Fluid: How we built serverless servers

Software Engineer, Infrastructure

Copy link to headingIt all started with a simple idea

Copy link to headingBuilding a new transport

System architecture showing our custom transport layer with TCP tunnels connecting Lambda functions to the Vercel Function Router for streaming responsesSystem architecture showing our custom transport layer with TCP tunnels connecting Lambda functions to the Vercel Function Router for streaming responses
System architecture showing our custom transport layer with TCP tunnels connecting Lambda functions to the Vercel Function Router for streaming responses

Copy link to headingA revelation leading to new possibilities

Architecture diagram illustrating how the transport layer enables multiplexing multiple concurrent requests to the same Lambda instance, breaking the traditional one-invocation-per-instance modelArchitecture diagram illustrating how the transport layer enables multiplexing multiple concurrent requests to the same Lambda instance, breaking the traditional one-invocation-per-instance model
Architecture diagram illustrating how the transport layer enables multiplexing multiple concurrent requests to the same Lambda instance, breaking the traditional one-invocation-per-instance model

Copy link to headingThe work (and challenges) began

Multiple regions each contain distributed Proxy and Function Router replicas, creating a coordination challenge for routing requests to reuse existing connections.Multiple regions each contain distributed Proxy and Function Router replicas, creating a coordination challenge for routing requests to reuse existing connections.
Multiple regions each contain distributed Proxy and Function Router replicas, creating a coordination challenge for routing requests to reuse existing connections.

Copy link to headingKeeping functions healthy

Timeline showing request multiplexing with a nack response when the Lambda instance cannot handle additional trafficTimeline showing request multiplexing with a nack response when the Lambda instance cannot handle additional traffic
Timeline showing request multiplexing with a nack response when the Lambda instance cannot handle additional traffic

Copy link to headingEnabling an even more efficient pricing model

Ready to deploy?