I was playing around with Amazon RDS today. It’s a web service that makes it easy to set up, operate, and scale a relational database in the cloud. In other words, Amazon manages MySQL on the server level and you can connect to it via your application or a MySQL command line. You are also able to perform various database administration tasks via an Amazon API or using something like a RightScale management platform.
Here are some of the cool things Amazon lets you do via a single API call:
- Create a new MySQL instance and specify such parameters as: instance size, storage volume size, admin user/password, availability zone and many others
- Deploy a MySQL instance into two availability zones which essentially gives you two servers in different data centers that are kept in sync. If one of them fails automatic fail-over is performed.
- Vertical scaling of instances with no downtime (cpu, ram, storage)
- Automatic and configurable database snapshots and point in time recovery (you can start up a new MySQL instance from a backup in minutes)
- Replication slaves can be created from a master and be used as read-only slaves
- Options typically set in my.cnf are configurable using “Parameter Groups”
- Configure access to MySQL instances via “Security Groups”
- Monitor MySQL logs and events via “RDS Events”
The coolest thing is how fast all these operations can be done. Most of them take only 5-10 minutes. Creating a MySQL slave in 5 minutes or scaling a server vertically with no downtime? You can’t beat that! Amazon automated all the the fancy footwork that is required to perform these operations. I have not done any benchmarking yet, this is coming next!
More info about Amazon RDS can be found in the Amazon Relational Database Service User Guide.
Get in touch today to speak with a Cloud expert and discuss how we can help: