LaravelCloud Ready for the audit

A decider story

One data layer.
Chosen by context.

Eloquent does not care which engine sits under it, but your bill, your recovery plan and your auditor do. Laravel Cloud offers managed MySQL, Postgres and a Redis-compatible cache on every plan, AWS-native stores inside Private Cloud, and a path for the database you already have.

Open the rack

The idea in one line Pick the store for the shape of the work, not for the brand of the engine.

The store rackWhat you can attach

Serverless Postgres · autoscaling, sleeps when idleEvery plan
Laravel MySQL · Flex sleeps, Pro stays onEvery plan
Laravel Valkey · cache, sessions, queuesEvery plan
RDS MySQL and Postgres · replicas, Multi-AZPrivate Cloud
ElastiCache · Valkey or Redis OSSPrivate Cloud
Your own database · Atlas, PlanetScale, anythingBring it
SQLite · on your laptop and in testsLocal only

Injected on attach: DB_HOST, DB_DATABASE, REDIS_HOST

Resources attached

The options, one at a time

Eight stores.
Each has a context.

For every option: when to choose it, what to watch for, how it grows, and which plan carries it. Sizes and limits are taken from the Laravel Cloud docs; prices live there too and are not repeated here.

Laravel Serverless Postgres

Managed Postgres, powered by Neon. Compute moves within a range you set and storage grows with your data. It supports pgvector for embeddings.

Choose it when
Load is uneven or unknown, you want Postgres features such as pgvector, or the database should sleep with the rest of a quiet environment
Watch for
Connection limits under many replicas and workers: connect through the pgbouncer pooler (append -pooler to the host). Changing the compute range restarts compute and drops connections.
Scales by
Compute units from 0.25 (1 GB RAM) to 10 (40 GB), autoscaled within your range; storage autoscales; up to 500 databases per cluster; pooler up to 10,000 connections
Available on
Every plan. Compute ceiling: Starter up to 1 CU, Growth up to 4, Business up to 16. Also offered to Private Cloud customers, outside the dedicated VPC.

Source: Serverless Postgres docs, Plans and Pricing, laravel.com/cloud/private-cloud FAQ.

Sources: Laravel Cloud docs, database, cache and Private Cloud sections, read 8 October 2026; laravel.com/cloud/private-cloud FAQ; Monitor ids as given in each panel.

If you are

Five situations.
Five starting points.

Starting points, not verdicts. Each can be changed later: a database can be resized, a cache upsized, and an environment can attach a different store on the next deploy.

If you are

Prototyping

Use stores that sleep with the environment. Serverless Postgres or MySQL Flex, a Valkey Flex cache, and Flex compute, all scaling to zero, mean a quiet project is not billed for idle compute. Storage is still billed.

Serverless Postgres or MySQL FlexValkey FlexStarter plan or above. Laravel MySQL and Laravel Valkey docs.
If you are

A steady SaaS

Predictable load rewards a fixed size. MySQL Pro stays awake, so the first query of the morning is never the slow one. Give your reporting tool its own read-only database user instead of the default credentials.

Laravel MySQL ProValkey for cache and sessionsGrowth or Business. Monitor 467.
If you are

Facing spiky traffic

Let compute stretch and protect the database from the spike. Serverless Postgres autoscales within your range and pools connections; cache what can be held even briefly. Sportmonks caches anything static for 10 or 20 seconds.

Serverless Postgres, pooledValkey in front of hot readsPostgres docs; Monitor 993.
If you are

Regulated

Keep the data inside an isolated network you can describe to an auditor. Private Cloud places RDS and ElastiCache inside your dedicated VPC, with Multi-AZ, point-in-time recovery and private links to your own AWS accounts. A HIPAA BAA is available on Private Cloud.

RDS, Multi-AZ, PITRElastiCachePrivate Cloud. RDS and Private Cloud docs; Monitor 494, 479.
If you are

Running very large Postgres

Spread reads across replicas, or talk to Laravel about PlanetScale. RDS Postgres takes up to 15 read replicas on the largest instances; PlanetScale is provisioned and billed through the Laravel team.

RDS Postgres with replicasPlanetScale Postgres Through LaravelPrivate Cloud. Monitor 494, 236.

Laravel MySQL and Serverless Postgres are also offered to Private Cloud customers, but they are not provisioned inside the dedicated VPC; RDS and ElastiCache are (laravel.com/cloud/private-cloud FAQ).

One query, one sleeping database

Storage stays awake.
Compute sleeps.

The idle timeout passes

No connections for the configured time, between one minute and one hour. Compute stops billing; storage stays online and billed.

Cloud

A request arrives

The application opens a connection to DB_HOST exactly as it always does. Nothing in the code knows the database was asleep.

Your app

The proxy holds the connection

The connection waits at the proxy layer while the cluster's compute resumes.

Proxy

The first query answers

Waking adds a few hundred milliseconds to that first query, more as the cluster's RAM grows. The queries after it run at normal speed.

Cloud

Backups keep their schedule

Scheduled backups and manual snapshots wake the cluster briefly, then let it return to sleep. Pro sizes never sleep.

Cloud

Sources: Laravel MySQL docs, Scale-to-Zero; Monitor 472 (20 July 2026). Serverless Postgres and Valkey Flex sleep too (their docs). Application compute wakes in under 500 ms on the current Flex sizes only; legacy Flex sizes take 5 to 20 seconds (Compute docs).

How teams chose, in their own figures

Four teams.
Four data layers.

Each figure below is the customer's own, from their published story. Two kept a database Cloud does not run; one learned what SQLite had been forgiving.

Booking software · Private Cloud

Trybe

1.6 TBof MongoDB kept on Atlas, reached by VPC peering
  • Laravel opened an Ireland region so the app could sit next to it
  • A DNS change forced IPv4 for Atlas
Monitor 990 · customer story
Sports data API · Private Cloud

Sportmonks

24,000database queries a second at peak, on a 450 GB PlanetScale primary
  • Three billion cache events on ElastiCache for the API product
  • Cursor pagination stored in ElastiCache replaced costly offset queries
Monitor 993 · customer story
Bank of Georgia campaign · Cloud

Redberry

150,000visitors in four hours, on one managed PostgreSQL database and one Redis cache
  • 63,622 submissions in the same four hours
  • Compute: Pro 2 vCPU, 2 GB, scaling to two instances
Monitor 1002 · customer story
Open source · Forge to Cloud

Pinkary

5+ hoursof live streams to move from SQLite to managed MySQL
  • UUIDs had sat in integer columns for over a year
  • A grouped query failed under ONLY_FULL_GROUP_BY
Monitor 5 · Laravel blog

Eloquent stays the same.
The store fits the work.

Three questions before you choose: how many hours a day does this database actually do work; which data could you not afford to lose a second of; and which store is so large or so shared that it should stay where it is.