Skip to content
Dashboard

Fluid: How we built serverless servers

Software Engineer, Infrastructure

Link to headingIt all started with a simple idea

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

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

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.

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

Link to headingEnabling an even more efficient pricing model