Amazon launches Relational Database Service and larger server sizes

Today is another big AWS launch day with two important new features available for EC2: a Relational Database Service (RDS) and larger servers. Plus a 15% price reduction on compute cycles: yay!

Relational Database Service

With the Relational Database Service AWS fulfills a long standing 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 than what most people might have expected, it’s really MySQL5.1 as a service. The RDS product page has the low-down on how it works, but the short is that with an API call you can launch a MySQL5.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. 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’d also recommend reading Jeff Barr’s write-up and Werner’s blog which recaps the data storage options on AWS.

What AWS does is keep your RDS instance backed up and running, plus give you automation to up-size (and down-size). 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 really 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 the MySQL authentication). I haven’t had the opportunity to run some performance tests, but I would 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. This means you’re dependent on one server and it’s impossible to add slave MySQL servers to an RDS instance in order 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 Nov 1st 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. Interesting to see how the per-hour price surcharge compares with a more flat-fee subscription to a broad management service.

But our core conviction is that we want to offer our customers the broadest choice possible and 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 and 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? ;-)

RightScale User Meetup

In case you’ve missed it: we’re hosting a RightScale User Meetup next Monday (11/2) in Santa Clara collocated with the Cloud Computing Conference & Expo and we’d love to see you there! We’ll be discussing trends in cloud computing that we see in our user base, our current and future product roadmap, and some “from the trenches” stories from several RightScale customers. It’s easy to register, and free. If you know anyone who might be interested send the link along. Hope to see you there!

This entry was posted in AWS, Cloud Computing, EC2, MySQL. Bookmark the permalink.

14 Responses to Amazon launches Relational Database Service and larger server sizes

  1. Pingback: Introducing Amazon RDS – The Amazon Relational Database Service « urban-listening

  2. Pingback: MySQL Relational Database Service on AWS | AF-Design

  3. Erik Giberti says:

    I wonder if Amazon is using an upgraded version of EBS / Ephemeral stores to provide higher IOPS for the RDS disk subsystem? Perhaps allocating higher throughput on the giant SAN so snapshots etc all work seamlessly.

    I’d like to see greater than the 72 IOPS they suggest EBS provides as an option. Amazon could allow selection of IOPS as an alternate parameter during EBS allocation. They could offer EBS stores that are 2x, 4x, 8x, Nx as fast – placing the volume on more spindles in the SAN environment and thus giving the higher IOPS needed for high write or very large data warehouse style databases.

    Alas, a boy can dream can’t he?

    • Thorsten says:

      Erik, I doubt that RDS runs on anything but stock EC2 instances. Having a special pool with special connection to EBS wouldn’t be practical, plus AWS would benefit from making that available as raw EC2 instances also. Note that to get higher I/O performance you can stripe EBS volumes. We offer that option in our MySQL ServerTemplates, and they include everything to create consistent snapshot backups across the stripe and to provide backup rotation (that’s where the real work is).

  4. Iolaire McFadden says:

    I’ve always assumed that there is some configuration needed on my part via my.cnf for MySQL depending on your use, hence the default my.large.cnf etc.. templates.

    Would this type of service assume that Amazon is doing something to optimize the configurations of the MySQL server based on it’s use patterns?

    Or do the my.cnf settings not matter if they are set appropriately for the instance size – regardless of the use type?

    i.e. would there really be one setting for a server with 1,000′s of tinny queries versus a server with 10′s of huge queries?

    • Thorsten says:

      You can actually change a lot of the my.cnf parameters through the API (as well as through the std mysql protocol from a command line client), so you can adapt settings for your needs. Overall the memory size of buffers and caches are already pre-set for you by AWS, but in the end, they don’t act as a DBA who would tune the database for you in any way. If the DB is slow, it’s up to you to figure out what to do, or if you’re transforming huge tables (like adding a column) you still need someone who knows all the tricks for doing this effectively with mysql. All these things get into the application domain…

  5. Pingback: Amazon RDS 海外メディア・リンクなど « Agile Cat — Azure & Hadoop — Talking Book

  6. Pingback: Amazon RDS: Eine Datenbank in der Cloud

  7. Pingback: Rackspace Cloud Computing & Hosting |  How do you put a Database in the Cloud?

  8. Pingback: Cloud scaling considerations « The AppGirl Blog

  9. Pingback: Amazon Relational Database Service (Amazon RDS) « Life, the Universe and Everything

  10. S kumar says:

    Hi,
    I have to move a small set of mysql databases into Amazon RDS environment . But before that i have to give a presentation regarding the advantages and disadvantages ARDS and managing our own server.And i have made the presentation by reading the ARDS documentation and some blogs.I have get all the pros and cons but still could not figure out weather we should go for ARDS or not , or managed the mysql databases in our own?
    Basically we have data for websites and forums.

    • Thorsten says:

      I can’t really give you a blanket recommendation, it really depends on your use-case and your familiarity with mysql. If you do not need replication and you can schedule the daily backups at a convenient time, then RDS is a good option. I wouldn’t want to run mysql without replication for any app that is business critical. Also, we tend to run 24×7 stuff where the impact of EBS snapshot backups is often painful. Plus with the RightScale mysql Server Templates the replication setup is easy and has so many advantages. But, of course, I’m biased ;-) The best I can recommend is to give the alternatives a spin.

Comments are closed.