Today is another big AWS launch day with two important new features available for EC2: a Relational Database Service (RDS) and larger servers and a 15% price reduction on compute cycles.
With the Relational Database Service AWS fulfills a longstanding request from a large number of its users, namely to provide a full relational database as a service. What Amazon is introducing today is slightly different from what most people might have expected - it's really MySQL 5.1 as a service. The RDS product page explains how it works, but the short explanation is that with an API call you can launch a MySQL 5.1 server that is fully managed by AWS. You can't SSH into the server; instead you point your MySQL client library (or command-line tool) at the database across the network. Almost anything you can do via the MySQL network protocol you can do against your RDS instance. It's pretty simple, and the bottom line is that businesses that don't want to manage MySQL themselves can outsource much of that to AWS. For background on RDS I recommend reading Jeff Barr's writeup and Werner's blog, which recaps the data storage options on AWS.
AWS keeps your RDS instance backed up and running, plus gives you automation to upsize and downsize. You can create snapshot backups on-demand from which you can launch other RDS instances, and AWS automatically performs a nightly backup and keeps transaction logs that allow you to do a point-in-time restore.
The way I think of an RDS instance is as a virtual appliance or a special-purpose server. You get an EC2 instance with an EBS volume running a specific version of MySQL plus automation for backups and resizing the storage volume. The API is designed such that additional versions of MySQL and other databases can easily be added in the future. Just like a regular server, each RDS instance lives within an availability zone and access is controlled through a security group (plus MySQL authentication). I haven't had the opportunity to run performance tests, but I surmise that it's not too different from DIY running MySQL on a regular instance.
One of the current shortcomings of RDS is the lack of replication. You're dependent on one server, and it's impossible to add slave MySQL servers to an RDS instance to increase read performance. It's also impossible to use MySQL replication to replicate from a MySQL server located in your datacenter to an RDS instance. But replication is in the works, according to the RDS product page.
In terms of cost, RDS is priced at 30% above the same raw EC2 instance (after the November 1 price reduction), but the comparison is a little tricky because some backup storage is included as well. Of course I quickly compared to the cost of RightScale: If you run three XL RDS instances, the extra cost is already more than a RightScale subscription which (just on the DB end) gives you replication, read-scaling, full control, plus real live support. It's interesting to see how the per-hour price surcharge compares with a more flat-fee subscription to a broad management service.
We want to offer our customers the broadest choice possible, so we'll support RDS instances in the RightScale dashboard within a day or two when we complete our next release.
Larger Instance Sizes
EC2 now sports larger and faster servers: XXL and XXXXL sizes, properly called m2.2XL and m2.4XL. These new server sizes are particularly important for large database users; we've been awaiting them ourselves. We haven't had an opportunity to play with them yet but we'll update our MySQL ServerTemplates as soon as we have a chance. The fact that the new instance size names start with m2 reflects that the speed of each core is significantly higher than that of the m1 series. With the prices being less than 2x and 4x that of a current m1.xlarge instance there's no reason not to keep scaling up in machine size.
Cloud Computing Keeps Getting Better
Amazon shows it again and again: Listen to your customers, implement new features accordingly, and iterate. Tonight's release adds important new capabilities to the AWS cloud offering, and we're sure many of our customers will rapidly adopt them. I remain a little reserved about the database service because it does not currently support replication, which I wouldn't want to live without, but Amazon is definitely on the right track.
The 2XL and 4XL servers will be gobbled up real fast by many of our larger customers. We've seen a trend towards more and larger servers over the past year and I'm sure that will continue. By the way, how fast can you launch 10 68GB servers in your datacenter? ;-)