Skip to main content

Serverless functions

If your application is deployed via a "Serverless Function" or "Function-as-a-Service (FaaS)" offering and uses a standard Node.js runtime, it is a serverless app. Common deployment examples include AWS Lambda and Vercel Serverless Functions.

Use Prisma ORM without Rust binaries

If Prisma ORM's Rust engine binaries cause large bundle sizes, slow builds, or deployment issues (for example, in serverless or edge environments), you can use it without them using this configuration of your generator block:

generator client {
provider = "prisma-client-js" // or "prisma-client"
engineType = "client"
}

Prisma ORM without Rust binaries has been Generally Available since v6.16.0.

Note that you need to use a driver adapter in this case.

When using this architecture:

  • No Rust query engine binary is downloaded or shipped.
  • The database connection pool is maintained by the native JS database driver you install (e.g., @prisma/adapter-pg for PostgreSQL).

This setup can simplify deployments in:

  • Serverless functions
  • Edge runtimes
  • Read-only filesystem environments
  • CI/CD pipelines with strict size limits

This setup can simplify deployments in serverless or edge runtimes. Learn more in the docs here.

Curious why we moved away from the Rust engine? Take a look at why we transitioned from Rust binary engines to an all-TypeScript approach for a faster, lighter Prisma ORM in this blog post.

Guides for Serverless Function providers