Where data lives

Backend platforms

A backend platform gives you the server side of an app ready-made: a database, sign-in, file storage, live updates and a place to run server code, all reached through one SDK. Instead of building and running those pieces yourself, you configure them in a dashboard and pay more as the app grows.

Supabase, Firebase, Appwrite and PocketBase bundle everything. Hosted databases such as Neon, Turso, PlanetScale, MongoDB Atlas and Upstash run just the database for you and leave the rest of the backend to your own code. Either way the trade is speed now against some lock-in and a monthly bill later.

12 terms · 3 comparisons · prices checked September 2026

12 terms, click any to open

The idea

Backend as a service (BaaS)

Concept
A hosted, ready-made backend: database, sign-in, file storage and server functions that an app uses through an SDK instead of a server you build yourself.

With a BaaS the app talks to the platform directly: the SDK signs the user in, reads and writes data and uploads files, and the platform enforces who may do what through security rules or database policies. Logic that must stay secret, such as charging a card with a private key, runs in the platform's serverless functions.

Firebase popularised the idea for mobile apps; Supabase, Appwrite and PocketBase are open-source alternatives. The appeal is speed and no servers to maintain. The costs are lock-in to the platform's APIs, bills that follow usage, and security that depends entirely on writing the rules correctly, because every client holds a public key.

Also called: BaaS, MBaaS, backend platform

Open Backend as a service (BaaS) as a page

All-in-one platforms

Supabase

PlatformFree tier
An open-source backend platform built on PostgreSQL that bundles a database, sign-in, file storage, live updates and server functions, with an API generated from your tables.

Each Supabase project is a full PostgreSQL database with services around it: Auth for sign-in, Storage for files, Realtime for live updates, Edge Functions for server code, and an automatic REST API through PostgREST (plus GraphQL). Client libraries for JavaScript, Flutter, Swift, Kotlin and Python call these directly, and a dashboard, a CLI and a local stack handle migrations and development.

Because apps query tables with a public key, row level security policies are what keep data private: a table without them is open to anyone. Being plain Postgres brings SQL, extensions such as pgvector and pg_cron, and a realistic exit, since the database can be dumped and moved anywhere. The whole stack can be self-hosted, although most teams use the hosted service.

Pros

  • A real relational database with SQL, joins and transactions
  • Auth, storage, realtime and functions in one place
  • Open source and standard Postgres, so leaving is realistic
  • Free plan for small projects, then a flat monthly plan plus usage
  • Extensions such as pgvector for AI search

Cons

  • Security depends on writing correct row level security policies
  • Free projects pause after a week without activity
  • No offline sync built into the client libraries
  • Self-hosting the full stack takes real effort

Pick it when

  • Web and mobile apps with users, orders or other relational data
  • Small teams that want a backend without running servers
  • You want SQL and an exit path rather than a proprietary database

Skip it when

  • Offline-first mobile apps that need built-in sync, where Firestore fits better
  • You need full control over every server setting

What it costs · Free tier

Free plan for small projects (two active projects, 500 MB database, pauses after a week idle); Pro from $25 a month (about ₹2,100) plus usage.

Supabase pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Supabase Cloud, supabase-js

Open Supabase as a pageOfficial site (opens in a new tab)

Firebase

PlatformFree tier
Google's app development platform that bundles a realtime database, sign-in, file storage, hosting, server functions and push notifications, used most for mobile apps.

Firebase started as a realtime database startup and was bought by Google in 2014. Today it combines Cloud Firestore and the older Realtime Database, Authentication, Cloud Storage, Cloud Functions (Node.js or Python), Hosting and App Hosting, Cloud Messaging for push notifications, plus Crashlytics, Analytics, Remote Config and App Check. SQL Connect (formerly Data Connect) adds a managed PostgreSQL option.

Apps use the Firebase SDKs directly, and security rules decide who may read or write each document or file. Its strengths are mobile SDKs with offline support and instant updates. The costs are proprietary APIs that are hard to leave, per-operation billing that grows with reads, and some services (Cloud Functions, Cloud Storage) that need the pay-as-you-go Blaze plan.

Pros

  • Mature mobile SDKs with offline support and realtime sync
  • Many services under one console, including free push notifications
  • Scales automatically with no servers to manage
  • Local Emulator Suite for development and testing

Cons

  • Proprietary, so moving away means rewriting data access
  • Per-read billing can grow quickly with traffic
  • Firestore queries are limited: no joins and restricted filters
  • Functions and Cloud Storage require a billing account

Pick it when

  • Mobile apps that need offline support, push and live updates
  • Prototypes and small teams already using Google Cloud

Skip it when

  • Relational data and reporting, where SQL fits better
  • You want to be able to self-host or switch providers easily

What it costs · Free tier

Spark plan is free with daily quotas (for example 50,000 Firestore reads a day). Blaze is pay as you go, keeps those free quotas, and is required for Cloud Functions and Cloud Storage.

Firebase pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Google Firebase, Firebase SDK

Open Firebase as a pageOfficial site (opens in a new tab)

Appwrite

PlatformFree tier
An open-source backend platform with a database, sign-in, file storage, functions, messaging and web hosting, which you can use as a cloud service or run on your own server.

Appwrite puts the usual backend pieces behind one API, with SDKs for web, Flutter, Android, Apple platforms and React Native: Auth (email, phone, magic links, OAuth and teams), Databases with permissions on tables and rows, Storage with image resizing, Functions in many languages (Node.js, Python, PHP, Dart, Go and more), Messaging for email, SMS and push, Realtime subscriptions, and Sites for hosting frontends.

The self-hosted version runs as a set of Docker containers on any server, and Appwrite Cloud is the managed service from the same company, which has added native PostgreSQL and MySQL databases. Unlike Supabase, its default database sits behind Appwrite's own API rather than open SQL, which is simpler for beginners and less flexible for complex queries.

Pros

  • Open source, with the same features self-hosted or in the cloud
  • Broad feature set, including messaging and hosting
  • SDKs for most platforms and functions in many languages
  • Simple permission model that is easy to reason about

Cons

  • The default database is not queried with SQL, which limits complex queries
  • Self-hosting means running and upgrading many containers
  • Smaller community and ecosystem than Firebase or Supabase

Pick it when

  • You want a Firebase-style backend that you can also run yourself
  • Flutter and mobile apps that want auth, storage and push in one place

Skip it when

  • The data needs heavy SQL reporting or joins

What it costs · Free tier

Free to self-host. Appwrite Cloud has a free plan (two projects, paused after a week of inactivity) and Pro from about $25 a month plus usage.

Appwrite pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Appwrite Cloud

Open Appwrite as a pageOfficial site (opens in a new tab)

PocketBase

PlatformOpen source
An open-source backend in a single file: one small program gives you a database, sign-in, file storage, live updates and an admin dashboard.

PocketBase is a single Go executable with SQLite built in. Run ./pocketbase serve and you have a REST-style API, a web dashboard for managing collections and records, user sign-in (password, one-time codes, OAuth and MFA), file uploads to disk or S3-compatible storage, and realtime subscriptions over Server-Sent Events. JavaScript and Dart SDKs talk to it.

It can be extended with JavaScript hooks or used as a Go framework, and schema changes are saved as migration files. Everything lives on one server, which keeps it cheap and simple but limits growth to the size of that machine. It has not reached version 1.0 yet, so upgrades can require manual migration steps.

Pros

  • Simple to deploy: one file with no dependencies
  • Admin dashboard, auth, files and realtime included
  • Runs well on a small, cheap server
  • Free and open source, with no vendor account

Cons

  • Grows on one machine only, not across many
  • Pre-1.0, so breaking changes between versions are possible
  • You run backups, updates and monitoring yourself

Pick it when

  • Side projects, internal tools and small apps
  • Prototypes that need a real backend in minutes
  • Self-hosting on a VPS with a small budget

Skip it when

  • Large, fast-growing apps that need several servers or managed hosting

What it costs · Open source

Free (MIT). You pay only for the server you run it on; there is no official hosted version.

Approximate, checked September 2026.

Also called: Pocket Base

Open PocketBase as a pageOfficial site (opens in a new tab)

Supabase pieces

Supabase Realtime

ServiceFree tier
The part of Supabase that pushes live updates to connected apps over WebSockets: chat messages, who is online, and changes to database rows.

Realtime offers three features over one WebSocket connection. Broadcast sends low-latency messages between clients, such as chat or cursor positions. Presence tracks who is online in a channel. Postgres Changes listens for inserts, updates and deletes in chosen tables and pushes them to subscribers, checking row level security for each one.

It is an Elixir server that reads database changes through Postgres logical replication. For busy apps Supabase recommends Broadcast, sent from database triggers, over Postgres Changes, because it scales better and gives finer control over who receives what. Usage counts towards each plan's quota of concurrent connections and messages.

What it costs · Free tier

Included in every plan: Free covers 200 concurrent connections and 2 million messages a month, Pro 500 connections and 5 million messages, then usage pricing.

Supabase Realtime pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Realtime, Broadcast, Presence, Postgres Changes

Open Supabase Realtime as a pageOfficial site (opens in a new tab)

Supabase Edge Functions

ServiceFree tier
Small pieces of server code, written in TypeScript and run on Deno, for work a Supabase app must not do in the browser, such as calling a payment API with a secret key.

Each function is a TypeScript file that handles an HTTP request, deployed with the Supabase CLI and run close to users on a global network. Functions run on Deno, can import npm packages, read secrets from environment variables, and receive the caller's sign-in token so they can act on the user's behalf. Common jobs are webhooks, payments, sending email and calling AI APIs.

They are meant for short tasks: each request gets up to two seconds of CPU time (waiting on the network does not count) and 256 MB of memory, and a worker lives for at most 150 seconds on the Free plan or 400 seconds on paid plans. Outgoing SMTP ports are blocked, so email goes through an HTTP API such as Resend. Long jobs belong in a queue or another service.

What it costs · Free tier

Free plan includes 500,000 invocations a month; Pro includes 2 million, then about $2 per million.

Supabase Edge Functions pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Edge Functions, Supabase functions

Open Supabase Edge Functions as a pageOfficial site (opens in a new tab)

Hosted databases

Neon

ServiceFree tier
A hosted PostgreSQL service that separates storage from compute, so databases can sleep when idle, wake on demand and be copied into branches in seconds.

Neon runs standard Postgres on top of its own storage layer. Compute scales up with load and down to zero when nobody is querying, then wakes on the next query after a short delay. Because storage is copy-on-write, a branch (a full, writable copy of the database) takes seconds and little extra space, which suits preview deployments, tests and experiments.

It includes connection pooling and a serverless driver that queries over HTTP or WebSockets from edge functions. Neon joined Databricks in 2025, and its technology also powers Databricks' Lakebase. It has started adding backend pieces around the database, such as managed authentication (Better Auth) and object storage, but it is still mainly a database rather than a full BaaS.

Pros

  • Standard Postgres, so every tool and ORM works
  • Instant branches for previews, tests and migrations
  • Scales to zero, which keeps idle projects cheap
  • Serverless driver works from edge runtimes

Cons

  • Cold starts add a short delay after idle periods
  • Usage-based bills are harder to predict than a fixed server
  • Mostly a database: auth, storage and APIs are largely up to you

Pick it when

  • Serverless or edge apps that want Postgres
  • Teams that give every pull request its own database branch
  • Many small or occasionally used databases

Skip it when

  • Steady, heavy traffic where a fixed-size server costs less

What it costs · Free tier

Free plan (0.5 GB storage and 100 compute hours a month per project). Paid plans are usage based, from about $0.11 per compute hour plus $0.35 per GB-month; typical spend is around $15 a month.

Neon pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Neon Postgres, Lakebase

Open Neon as a pageOfficial site (opens in a new tab)

Turso

ServiceFree tier
A SQLite-compatible database and cloud service built for running many small databases, such as one per user or customer, locally, in the cloud or both.

Turso is a rewrite of SQLite in Rust that keeps SQLite's file format and SQL and adds concurrent writes, vector and full-text search, encryption and sync. It can run inside an app as a local file, as a remote database in Turso Cloud, or both: with Turso Sync, reads and writes hit the local copy and changes are pushed to and pulled from the cloud, which suits offline-first apps.

Because each database is little more than a file, creating thousands is cheap, which suits a separate database per customer or per AI agent. Turso Cloud adds branching, point-in-time restore and scale to zero for idle databases. The team's older libSQL client, based on its earlier fork of SQLite, still has the widest ORM support (Drizzle, Prisma), and the new engine is far younger than SQLite itself.

Pros

  • SQLite compatibility, with hosting, sync and backups added
  • Thousands of databases stay cheap, which suits per-tenant data
  • Local copies make reads fast and let apps work offline
  • Free plan covers 100 databases and 5 GB

Cons

  • A much younger engine than SQLite or PostgreSQL
  • Smaller ecosystem, and some ORMs still need the older libSQL client
  • Queries across many tenant databases need extra work

Pick it when

  • A separate database for each user, customer or AI agent
  • Apps already built on SQLite that need to go online
  • Offline-first or edge apps that benefit from a local copy

Skip it when

  • You want the mature PostgreSQL ecosystem and its extensions

What it costs · Free tier

Free plan with 100 databases, 5 GB and 500 million rows read a month. Paid plans from about $5.99 a month (Developer) and $29 a month (Scaler).

Turso pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Turso Cloud, libSQL, Turso Sync

Open Turso as a pageOfficial site (opens in a new tab)

PlanetScale

ServicePaid
A managed database service for high-traffic apps, offering MySQL through Vitess and, since 2025, PostgreSQL, with branch-based schema changes that do not lock tables.

PlanetScale began as a hosted version of Vitess, the system YouTube built to spread MySQL across many machines (sharding). Its signature workflow treats schema changes like code: branch the database, change the branch, open a deploy request, and PlanetScale applies the change in production without locking tables or taking the site down.

In 2025 it added PlanetScale Postgres, and it offers Neki for sharded Postgres and Metal clusters on fast local NVMe drives. It dropped its free plan in 2024 and is aimed at production workloads rather than hobby projects, although single-node Postgres databases now start at a few dollars a month.

Pros

  • Proven at very large scale through Vitess
  • Schema changes without downtime through branches and deploy requests
  • Both MySQL and PostgreSQL, with query insights built in

Cons

  • No free plan
  • Highly available and sharded setups cost far more than small hosts
  • More than a small project needs

Pick it when

  • Busy production apps where downtime during migrations is not acceptable
  • MySQL workloads that need to scale out across machines

Skip it when

  • Hobby projects or prototypes that fit a free tier elsewhere

What it costs · Paid

No free plan. Single-node PostgreSQL from about $5 a month, highly available Vitess (MySQL) clusters from about $39 a month, Metal from about $50 a month.

PlanetScale pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Vitess, PlanetScale Postgres, Neki

Open PlanetScale as a pageOfficial site (opens in a new tab)

MongoDB Atlas

ServiceFree tier
MongoDB's own cloud service, which runs and scales MongoDB databases on AWS, Google Cloud or Azure, with search and vector search built in.

Atlas handles what running MongoDB yourself involves: replica sets for failover, backups, upgrades, monitoring, and sharding when data grows. You pick a cloud and region, choose a cluster size and connect with the standard MongoDB drivers. Clusters can span several regions or even several clouds.

On top of the database it adds Atlas Search (full-text search built on Apache Lucene), Vector Search for AI features, triggers, charts and archiving to cheaper storage. Tiers run from a free 512 MB cluster for learning, through Flex clusters billed by usage, to dedicated clusters for production, which is where most of the cost sits.

Pros

  • Fully managed MongoDB with backups and failover
  • Full-text and vector search in the same service
  • Runs on all three major clouds, in many regions
  • Free cluster for learning and prototypes

Cons

  • Dedicated clusters get expensive as data grows
  • Free and Flex tiers have limited performance and features
  • Many features are Atlas-only, which deepens lock-in

Pick it when

  • You have chosen MongoDB and do not want to run it yourself
  • Apps that need document data and search in one place

Skip it when

  • Relational data that fits PostgreSQL better

What it costs · Free tier

Free 512 MB cluster. Flex clusters cost about $8 to $30 a month depending on use; dedicated clusters start around $0.08 an hour (roughly $60 a month).

MongoDB Atlas pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Atlas, MongoDB Cloud, Atlas Search

Open MongoDB Atlas as a pageOfficial site (opens in a new tab)

Upstash

ServiceFree tier
A serverless data service offering Redis, a message queue and scheduler (QStash) and a vector database, billed per request and reachable over plain HTTP.

Upstash Redis accepts Redis commands and also answers over a REST API, so code on Cloudflare Workers, Vercel's edge runtime or other serverless platforms can use it without holding a connection open. It is commonly used for caching, sessions and rate limiting, and the @upstash/ratelimit library does the counting.

QStash delivers HTTP messages to your endpoints later or on a schedule, with retries, which gives serverless apps queues and cron without a worker server. Upstash Vector stores embeddings for AI search, and Workflow builds durable multi-step jobs on top of QStash. Pay-as-you-go pricing suits small or spiky traffic; at steady high volume, fixed plans or a self-run Redis can cost less.

Pros

  • Pay per request, so small or idle projects cost little
  • HTTP access works from edge and serverless runtimes
  • Redis, queues, schedules and vectors from one provider
  • Free tier for prototypes

Cons

  • Per-request billing grows with heavy, steady traffic
  • HTTP calls add some latency compared with a nearby Redis server
  • Not every Redis feature or command is supported

Pick it when

  • Caching and rate limiting in serverless or edge apps
  • Background jobs and cron for apps with no worker server

Skip it when

  • Constant high-volume traffic where a dedicated Redis server costs less

What it costs · Free tier

Redis: free up to 256 MB and 500,000 commands a month, then about $0.20 per 100,000 commands. QStash: 1,000 free messages a day, then about $1 per 100,000.

Upstash pricing (opens in a new tab)Approximate, checked September 2026.

Also called: Upstash Redis, QStash, Upstash Vector

Open Upstash as a pageOfficial site (opens in a new tab)

Side by side

Differences

How the options in this area compare on the questions that usually decide the choice.

The two backend platforms most often weighed against each other. Both give you a database, sign-in, storage and functions; the difference starts with the database: PostgreSQL tables against Firestore documents.

CompareSupabaseFirebase
DatabasePostgreSQL (relational tables)Firestore (documents in collections)
QueryingSQL, joins and an auto-generated REST APISDK queries, no joins
Access rulesRow level security policies in SQLSecurity rules in their own language
Live updatesBroadcast, presence and table changesBuilt into Firestore listeners
Offline supportNot built inBuilt into the mobile and web SDKs
Server codeEdge Functions (TypeScript on Deno)Cloud Functions (Node.js or Python)
Open sourceYes, and it can be self-hostedNo
PricingFree plan; Pro from $25 a month plus usageFree quotas, then pay per operation (Blaze)
Lock-inLow: standard PostgresHigh: proprietary APIs and data model

How to choose

  • Pick Supabase for relational data, SQL, predictable plans and an exit path through standard Postgres.
  • Pick Firebase for mobile apps that need offline sync, push notifications and Google's wider toolset.
  • Both are quick to start with, so the choice mostly follows the shape of your data.

Supabase vs Appwrite vs PocketBase

Open as a page: Supabase vs Appwrite vs PocketBase

Three open-source backends that bundle a database, sign-in, storage and live updates. They differ mainly in the database underneath and in how much there is to run yourself.

CompareSupabaseAppwritePocketBase
What it isA platform built on PostgreSQLA multi-service backend serverA backend in one file
DatabasePostgreSQLIts own tables API; PostgreSQL and MySQL on CloudSQLite, built in
Self-hostingPossible, with many services to runDocker containers on your own serverOne binary, one command
Hosted serviceSupabase CloudAppwrite CloudNone official
Server codeEdge Functions (TypeScript on Deno)Functions in many languagesJavaScript hooks or Go
Scales toLarge production appsLarge production appsWhat one server can handle
CostFree plan; Pro from $25 a monthFree plan; Pro from about $25 a monthFree; you pay for the server
Best forRelational data and SQLFirebase-style apps you may self-hostSide projects and small apps

How to choose

  • Pick Supabase when you want PostgreSQL, SQL and a managed service that can grow with the product.
  • Pick Appwrite for a Firebase-style feature set, including messaging and hosting, that you can also run yourself.
  • Pick PocketBase for small apps and tools where one cheap server and one file are enough.

Neon vs Turso vs PlanetScale vs MongoDB Atlas

Open as a page: Neon vs Turso vs PlanetScale vs MongoDB Atlas

Four services that run a database for you rather than a whole backend. The first question is which engine you want: PostgreSQL, SQLite, MySQL or MongoDB.

CompareNeonTursoPlanetScaleMongoDB Atlas
DatabasePostgreSQLSQLite-compatible (Rust rewrite)MySQL (Vitess) or PostgreSQLMongoDB
Standout featureBranching and scale to zeroMany cheap databases, local syncSchema changes without downtimeBuilt-in full-text and vector search
Free planYes, 0.5 GB per projectYes, 5 GB across 100 databasesNoYes, one 512 MB cluster
Paid fromUsage based, typically about $15 a monthAbout $6 a monthAbout $5 a month (single-node Postgres)Flex from about $8 a month
Scales toLarge, with autoscaling computeThousands of small databasesVery large, with shardingVery large, with sharding
Watch out forCold starts after idle periodsYoung engine, fewer integrationsCost of highly available setupsDedicated clusters get expensive
Best forServerless Postgres apps and previewsPer-user or per-tenant dataHigh-traffic production workloadsDocument data with search

How to choose

  • Pick Neon for serverless Postgres with a branch for every preview or test.
  • Pick Turso for many small SQLite databases, such as one per customer.
  • Pick PlanetScale for busy production MySQL or Postgres where migrations must not cause downtime.
  • Pick MongoDB Atlas when the data is document-shaped and you want managed search beside it.

Crafted in the dark. Shipped to the world.

Tell us what you are building. You get a private project space with a proposal and a line-by-line quote within a day.