# Serverless

Serverless is not the recommended approach for Vela projects. Vela projects are designed as traditional full-stack applications: a database and an application. With the database running alongside the application, we see baseline performance that's significantly better than a serverless PaaS paired with a hosted database. We believe it's the better starting point for most projects.

Regardless, with some limitations, serverless can be a viable option:

### Limitations

#### Database latency overhead

When using a serverless PaaS, the database is hosted on a remote server. This introduces latency overhead on every request.

#### Reduced caching

A long-running server process can cache data in memory and avoid database queries. This is not possible with serverless, as the server is terminated after each request.

#### Automatic migrations

With separate database and application hosts, automatic migrations are not supported. You'll need to manually run migrations after each deploy.

#### A platform adapter

Each platform needs its own SvelteKit adapter in place of `@sveltejs/adapter-node`, and [`vela deploy`](/deploy) won't deploy a project built with one.

### PocketBase hosting

We recommend PocketHost as a hosted solution for PocketBase. Set up a database instance and then configure the `POCKETBASE_URL` environment variable in your project.