RightScale Blog

Cloud Management Blog
RightScale 2014 State of the Cloud Report
Cloud Management Blog

Amazon Launches Relational Database Service & 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 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? ;-)

Comments

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 24x7 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.
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.
Posted by S kumar (not verified)   Ι   January 26, 2010   Ι   06:14 AM
[...] it’s much easier to grab a binary copy of the DB every few hours. One last limitation is replication isn’t an option. I suspect AWS will be working on this soon as part of a HA (High Availability) release [...]
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?
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).
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?
Posted by Iolaire McFadden (not verified)   Ι   October 27, 2009   Ι   11:55 AM
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...
Response by Iolaire McFadden (not verified)   Ι   October 27, 2009   Ι   02:02 PM
Thank you for the info.
[...] in-cloud database gets MySQL option (Posted on CNET News.com at Tue, Oct 27, 2009 at 06:05AM) Amazon launches Relational Database Service and larger server sizes (Posted on RightScale Blog at Mon, Oct 26, 2009 at 09:43PM) Amazon slashes cloud prices, offers [...]
[...] Rightscale: Amazon launches Relational Database Service and larger server sizes [...]
[...] Rightscale makes the point that RDS instances are basically MySQL appliances, at the core just EC2 instances running MySQL. This is a capability RightScale has offered for years on top of the same infrastructure. The RDS instances then have some valuable, automated services layered on top to back up and scale the resources available to that EC2 instance. This is similar to the value added services Rightscale has offered as well as similar to the snapshot backups and in-place scaling Cloud Servers offers for all server types. A side note is that this is obviously a step that will be worrisome for some of the Amazon partners who are building businesses on top of Amazon’s infrastructure services. [...]
[...] Under the covers, RDS instances are essentially EC2 images with MySQL with added services to automated the backup and scaling capabilities. Scaling, or elasticity, has been one of the lures in placing workloads in the cloud. Cloud computing will reach nirvana when compute resources are automagically provisioned and de-provisioned as workloads increase and decrease. [...]

Post a comment