☁️ AWS - RDS
Amazon RDS offer managed databases as a service.
- Automatic backups using snapshots.
- Automatic updates applied on specified maintenance window.
- Optional automatic failover with a standby database in another zone.
- Optional read replicate to improve performance.
- Supports PostgreSQL, MySQL, Oracle Database and SQL Server.
RDS databases makes backups automatically if you enable automated backups. RDS databases can be set a maintenance window when software updates are installed. Most databases should work with 5GB of storage, you can increase it anytime.
Automated snapshots are deleted after 1 day by default. You can configure this to be anything between 1 to 35 days though. After that, you need to save them to S3 or copy them to a manual snapshot as manual snapshots are not automatically deleted. Setting automated backup retention period to 0 disables them.
RDS snapshots are for creating new databases. You cannot use snapshots to populate an existing database, you need to create a new one. This is one of the main reasons why your database should always be referred though Route 53, not the database identifier itself.
RDS snapshots allow relocating your database to another region. Snapshots themselves are regions specific but you can easily copy them over to relocate or to recover from massive AWS disaster.
RDS provides improved security if you host your application in AWS. You can keep database in private subnet and allow only traffic from your application server.
RDS pricing is fair. Many providers offer free or cheap first tiers to get you locked in their infra and as you gain traffic, you get to the "enterprise" pricing tier which is ridiculous. For example, AWS can easily start at $100 / month and stay under $200 for years whereas Heroku starts from free but very fast goes to $350 / month. It all depends on your DB usage though.
- AWS in Action, Michael Wittig and Andreas Wittig