Amazon Offers New RDS (Aka MySQL) Service and New Database Related Virtual Machines

Amazon Web Services has announced a new service it is touting as Amazon Relational Database Services, designed to operate the operational management side of running a relational database. To be specific, the service is built around MySQL, and as the announcement reads

“Amazon RDS provides a fully featured MySQL database, so the code, applications, and tools that you use today with your existing MySQL databases work in Amazon RDS without modification. The service automatically handles common database administration tasks, such as setup and provisioning, patch management, and backup.”
It is certainly an interesting offering for folks running MySQL, especially if you are managing you’re own MySQL instances in Amazon’s cloud infrastructure already. I didn’t see anywhere where it listed the storage engines that would be available with the offering, which would be the first blocker for moving to such a service (I’m guessing that it will offer both InnoDB and MyISAM, but it doesn’t say)

There are also some questions I have about how its back-up system works. It mentioned several times that backups can be done “automatically”, and that you can use file system snapshots to restore your database to “any point in time” once deployed on their service. I’m a little skeptical about that, as filesystem snapshots don’t necessarily just work (tm) when it comes to database backups, and MySQL backups are easy enough to get wrong in general, but it’s certainly testable and would be a nice approach to solving the problem if it works.

The other thing worth noting is that the service doesn’t offer replicated slaves, yet. From the Amazon RDS site, one of the new services they plan to offer “soon”:

“High Availability Offering — For developers and business who want additional resilience beyond the automated backups provided by Amazon RDS at no additional charge. With the high availability offer, developers and business can easily and cost-effectively provision synchronously replicated DB Instances in multiple availability zones (AZ’s), to protect against failure within a single location.”
Well, that doesn’t sound like MySQL replicated slaves anyway, so running multiple services might still be a manual exercise. It’s actually an important detail in my book; while Amazon is talking up the ability to scale up the new RDS service, MySQL is probably the worst of the 5 major databases (Oracle, DB2, MS SQL, MySQL, Postgres) for scaling up a database instances; being designed far better for scaling out; so any tools to help with this operation are key factors to the new service for me.

Speaking of scaling up, tucked away in the overall Amazon RDS announcement is also the announcement of new higher class EC2 instances, designed with running databases in mind.

\* Double Extra Large: 34.2 GB memory, 13 ECU (4 virtual cores with 3.25 ECU each), 850 GB storage, 64-bit platform \* Quadruple Extra Large: 68.4 GB memory, 26 ECU (8 virtual cores with 3.25 ECU each), 1690 GB storage, 64-bit platform
Perhaps I’m just biased by the number of large scale instances we work with, but 32GB seems about the baseline of where I’d want to start out with for my database servers, so these new instances look promising. These EC2 instances aren’t tied to the RDS service, you can run Oracle, Postgres, or whatever on them. I’d still like to see this scale up more (if folks running Postgres could go from the current “large” instance up to a 32 core, 256/512GB machine without having to get new hardware… the software could handle that and there would be no additional licensing… well that would be pretty compelling).

Anyway, Amazon has made a pretty big move into the database space with these announcements. I’m kind of curious what impact this might have on Microsoft’s Azure service actually. Anyway, I’d encourage you to check out the new Amazon RDS site, and the new EC2 instance information (they’ve lowered some prices btw).