Contents

Infrastructure & Operations › Cloud Computing

Managed Database

A database the cloud provider runs for you.

Also known as: DBaaS, RDS, Cloud SQL, database as a service

A managed database is a database that a cloud provider installs, runs and maintains for you. You create it with a few clicks or one command and get a connection string. Examples: Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL. Running your own database on a plain VM is the alternative.

What the provider usually handles:

  • Installing the database and applying minor updates and security patches
  • Automated backups and point-in-time restore
  • Replication and automatic failover to a standby (often an option you enable)
  • Monitoring, disk growth and basic tuning knobs
# From your app it looks like any other database
import psycopg2
conn = psycopg2.connect("postgresql://app:***@mydb.abc123.region.rds.example.com:5432/app")

Why teams choose it

Running a database well is a specialist job, and mistakes (no tested backups, a missed patch, a full disk) lose data. For most teams, paying for someone else to do the routine parts is a good trade. See managed vs self-hosted.

What you still own

  • Schema, queries and indexes. A slow query is slow on managed hardware too.
  • Connections and credentials. Don’t expose the database to the public internet; allow only your app’s network. See security groups.
  • Checking that backups restore. The provider takes them; proving they work is on you.
  • **Cost. Size, storage, replicas and data transfer all bill.
  • Limits.** You usually can’t install arbitrary extensions or change low-level settings; each provider supports its own list.

Major upgrades and failover events can still cause a short outage, so read the provider’s behaviour before relying on it. See database high availability.