Amazon has launched a hosted relational database service, Amazon RDS, as part of the suite of services available at AWS. The new service is a hosted MySQL database instance with the full capabilities and access rights as a normal self-hosted DB. As a hosted solution, instances are easily created and available almost immediately. Pricing stars at $0.11c per hour for the smallest scale specification, and is available now on the AWS site.
Unlike completely elastic hosted DB services, which abstract a large-scale cluster into a shared environment for customers, the Amazon model is to step up or down through tiers of service based on requirements. The tiers of service (with names that seem to be inspired by a fast food restaurant menu) and pricing are:
|Name||Memory||Comp||Price per hour|
|Small DB Instance||1.7 GB||1 ECU||$0.11 USD|
|Large DB Instance||7.5 GB||4 ECUs||$0.44 USD|
|Extra Large DB Instance||15 GB||8 ECUs||$0.88 USD|
|Double Extra Large DB Instance||34 GB||13 ECUs||$1.55 USD|
|Quadruple Extra Large DB Instance||68 GB||26 ECUs||$3.10 USD|
You also have to provision a set amount of storage, which is charged at $0.10 per GB-month (pre-provisioning means that you can run out of disk space, it wont grow out). Requests are charged at an additional $0.10 per million requests.
Backups are available (full, snapshots etc.) and backup space equivelant to the provisioned storage space is available for free. Additional space is $0.15 per month. Data transfer is charged at the standard AWS rates, with no charge for data transfers between AWS services (ie. if you have your web server at one host, and the DB with AWS, you will be charged for all the traffic between the web server and the DB).
AWS offer a large range of services, and full RDBMS hosting seemed like an obvious service to offer. AWS has the existing SimpleDB service, which is a key-value based data store.
My initial take on the new RDS service is that it seems that it involves pre-defined and pre-configured EC2 instances with MySQL running. This makes the task of creating and starting new DB instances easier, but does not mean that your resource allocation will automatically grow and scale with resource requirements. There are existing third-party services, such as Fathom, that are built on AWS and use EC2 to create and manage DB instances.
Your application will have to recognize that more resources are required, and make the appropriate API calls to either step up or down along the tiers of instances available. RDS, like most AWS services, provides building blocks for developers to use.
Update: Amazon has now officially announced the service on the AWS blog.