Amazon Relational Database Service

logo_awsI’m pretty excited about this new service from Amazon. They’ve taken a lot of the pain out of running a relational database in the cloud. Specifically, they now support managed instances running MySQL. Amazon RDS handles provisioning, operating and scaling your database. Much like Elastic Load Balancing and Auto Scaling did for the application tier, RDS does for the database tier.

Amazon RDS provides APIs and command line tools to manage your database, removing complicated scripts and much of the “muck” that was somewhat tricky before. There are additional Cloud Watch fields that give additional information about the state of the database, such as # open connections.

There are 4 main groups of commands with RDS.

  • High Level Instance Management
  • Database Configuration
  • Security Group Management
  • Backup and Restore Services

Initially, you might create a db instance, authorize access to an existing EC2 security group (perhaps for your application tier auto scaling group). Going further, you can get more sophisticated about configuring the database. You can configure a parameter group and set the types of things you’d have configured in your my.cnf file. You can also add storage while the database is running. Finally, you’ll want to make use of snapshots to make backups of your database.

To help monitoring, Amazon RDS provides more than additional CloudWatch parameters. They’ve added the ability to track access details, so you can request events related to instances and security groups for the past 2 weeks.

To support relational databases in the EC2, there are 2 new instance types, m2.2xlarge and m2.4xlarge which are both high memory and higher I/O. This is great news and dovetails nicely with Amazon RDS (not by mistake either).

  • High-Memory Double Extra Large Instance 34.2 GB of memory, 13 EC2 Compute Units (4 virtual cores with 3.25EC2 Compute Units each), 850 GB of instance storage, 64-bit platform
  • High-Memory Quadruple Extra Large Instance 68.4 GB of memory, 26 EC2 Compute Units (8 virtual cores with 3.25 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform

I think they’ve done a good job of making database deployment and management easier in their cloud! I’m considering adding support to the typica java client. I’d appreciate feedback to help with that decision.

Some folks have been questioning the relevancy of SimpleDB in light of RDS. I think Mitch does a great job on elastician.com of discussing that topic. I have to agree that the scale issue still applies. Some applications can live with the limitations of SimpleDB and gain the advantage of massive scale. That is something that RDS cannot provide. Amazon RDS does give a good set of management APIs for running MySQL in the cloud, and people shouldn’t expect more than that.

Upgrading to Donut (Android 1.6)

This summer, I got a Google Ion, I’ve been mostly happy with it. It sometimes seems a little sluggish, and the camera lag and performance hasn’t been somewhat disappointing.  Enter Donut, the latest release of Android. HTC has a special page devoted to support of the Ion, which was handed out at the Google IO conference. It provides details of how to upgrade. This isn’t nearly as easy as iPhone OS updates which are managed pretty much hands-off via iTunes. So, I downloaded the latest Android SDK. I didn’t want to be an early adopter of Donut since there is a certain fear of bricking the phone. (btw, this is the same reason most companies wait till SP1 to install a new Windows OS!) Thankfully, there is a really nice forum for owners of the Ion (aka, the Google IO device). Once I saw that some other people had sorted out the initial wrinkles, I downloaded the image and forged on. I used the “recovery” image and the adb tool from the SDK to copy the image to the phone’s SD card. Then, restarted the phone with “home” held down. then, at the “!” prompt, press “home-end” and select the SD card image to upgrade from. (follow the directions on the HTC page above).

I was happy to see the new features that everyone’s been talking about were now available on my phone! The camera interface is nice, and I swear, a little faster. I noticed the universal search, which turns out to be nicer than I initially thought! It not only searches on the phone, but at google as well. Watch the video for examples. I can search for pizza here instead of in maps. I get the option to use maps at that point, but I can call the pizza joint directly, thereby saving time! There is also text-to-speach, which sounds cool, but I just am not sure where I’ll use it. I suppose if I were driving, and it could read new e-mails or tweets, that might be cool (not cool, awesome!). Then, I discovered the voice search. I can say “Call Wendy Mobile” and it will select her number and start dialing! I’m sure there is more this can do, but I need time to play with it.

The android marketplace has also been updated. Browsing and finding apps on the device is much nicer. They make it easier to look through top apps and give more information about each app (like screenshots right on the app summary). They’ve also added gesture support. It looks like it will make it easier for app developers to include gesture support in their apps. I played around in the photo gallery and it didn’t seem like swipe or pinch work, so bah! Of course, I’m not sure how much IP Apple has protecting those gestures.

Summary: Worthwhile upgrade. Wish it was easier, less angst-filled process.