tezvyn:

Amazon RDS: Managed Relational Databases in the Cloud

AI-drafted, machine-checkedSource: docs.aws.amazon.combeginner

Amazon RDS is like hiring a DBA to manage your database's plumbing. It's for when you need a SQL database like PostgreSQL or MySQL without the hassle of patching and backups. The footgun is assuming it's 'serverless'—you still manage cost and performance.

WHY IT EXISTS: Running a production database requires constant, specialized effort beyond just installing the software. Teams must manage hardware provisioning, OS patching, database software updates, security, backups, and failover logic. This is undifferentiated heavy lifting that distracts engineers from building the actual application.

THE MENTAL MODEL: Think of RDS as a "database-as-a-service" wrapper around popular relational database engines like PostgreSQL or MySQL. You give up direct server access (no SSH) in exchange for AWS handling the operational drudgery. You manage the database's configuration, not the machine it runs on.

HOW IT WORKS: When you launch an RDS instance, AWS provisions a virtual machine, installs your chosen database engine, and provides you with a connection endpoint. AWS manages the underlying OS and database software, applying patches during a maintenance window you can configure. For high availability, you can enable a Multi-AZ (Multi-Availability Zone) deployment. This creates a synchronous standby replica in a different physical location. If the primary instance fails, RDS automatically fails over to the standby with minimal downtime. Scaling is done by either resizing the instance to a more powerful type (vertical scaling) or by adding read replicas to offload read traffic (horizontal scaling for reads).

WHEN TO USE IT: RDS is the default choice for most applications on AWS that require a traditional relational (SQL) database. It's perfect for web backends, content management systems, and e-commerce platforms where you want the power of SQL without the full operational burden of self-hosting. It lets smaller teams operate with the reliability of a dedicated DBA team.

WHEN NOT TO USE IT: If you need root access to the database server to install specific extensions, custom software, or use specialized monitoring tools, RDS is too restrictive. In that case, you'd run the database yourself on an EC2 instance. Also, if your application requires a non-relational data model or extreme horizontal write scaling, a NoSQL database like Amazon DynamoDB may be a better fit.

ONE CANONICAL EXAMPLE: A team building a new web service needs a PostgreSQL database. They create an RDS for PostgreSQL instance. Initially, they choose a small instance size. As user load increases, they monitor CPU and memory metrics in CloudWatch. When performance degrades, they resize the instance to a larger one with a few clicks in the AWS Console, scheduling the change for a low-traffic period.

Read the original → docs.aws.amazon.com

Get five bites like this every day.

Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.