Thursday, March 17, 2011

Oracle Database on Amazon RDS

Recently, Amazon and Oracle announced that they are going to make "Oracle 11g Database" available on Amazon AWS as a service. It's being brought into AWS's RDS feature which currently offers "MySQL database as a service".

Amazon RDS is a web service that allows you to set up, operate, and scale a relational database in the cloud. You can provision a relational database (currently only MySQL) on RDS in just a few minutes. Amazon RDS will also manage database administration tasks including continuous backups, software patching etc.
When launched (sometime in Q2 of 2011), you will have the option to choose from the licensing options for running the Oracle Database on Amazon RDS ->
  • Bring Your Own License – (BYOL): Customers with existing Oracle Database licenses can run Oracle Databases on Amazon RDS with no additional software licensing or support cost. Oracle will provide the technical support required in case BYOL DB instances. 
  • On-Demand Database Instances: This is a pay-by-the-hour licensing option with no up-front licensing fee or long-term commitment required. One simply pays by usage depending on the database edition and size of the instance. Brings it on par with other AWS offerings. Technical support for On-demand instances will be provided by AWS.
  • Reserved DB Instances: Make a commitment and pay a one-time fee to get a DB instance with a significant discount on the hourly usage charges. The commitment required would be 1 or 3 years. Technical support for On-demand instances will be provided by AWS.
 While you can still choose to install Oracle on an AWS EC2 instance but it had a few drawbacks –>
  • Licensing fee – Oracle is an expensive product and it acted as a deterrent to use Oracle on a cloud hosting platform such as Amazon.
  • High availability – currently setting up of Oracle RAC is not possible on AWS EC2 hence one cannot achieve high-availability
Given the above mentioned points it definitely was not possible for startups, SMB segments to consider Oracle as the database of their choice. So I believe making Oracle available on RDS is a very good move. However a few things to watch out for –
  • Upgrades – Can I choose to opt out of any future upgrades because I don’t want to be forced for an upgrade. E.g. they have similar option available for MySQL so will it be extended to Oracle as well?
  • High availability – Would I get RAC? Will it be made available on-demand or forced choice? 
  • Data security – Database on shared infrastructure adds the same security concern that’s being on people’s mind for quite some time. Admin controls being with Amazon could be another concern.
  • Manageability – How much control do I get and the need to learn a new API to manage the databases.
  • TCO – Don’t just go by the hourly usage charges as Amazon will also charge for storage (backup and data), bandwidth / data transfer etc.
It would be good to hear about others opinion and experience.

1 comment:

Gary Myers said...

I did use Oracle on Amazon a couple of years back. The project got canned before go-live unfortunately.

I like the idea of the pay by the hour, though it obviously depends on cost.

It will be interesting to see they handle patching/CPUs. I'd like to see them *available* asap, but with some cutover time to allow for regression testing.

The other nice-to-have would be the ability to use one the extra-cost options on an as needs basis. If you are using SE, you get the chance to try your batch job on an EE+Diagnostics+Tuning pack instance for a day.