What is the difference between the database on Amazon EC2 and Amazon AWS
In terms of the functionality they will both work the same way and applications would work transparently switching from one to the other.
If you are planning to manage just a handful of Databases, going with RDS would be a much better option than managing your own Database in an EC2. You might see benefits both on the operational fronts as well as financial side in doing so.
Here are some of the benefits that a RDS offering provides which you will have to develop yourself if you were to manage the Database yourself,
- Provisioning an EC2 instance and setting up a database
- Setting up a public DNS hostname for your database instance, to use the same address when replacing the EC2 instance
- Snapshotting & Monitoring infrastructure for the database
- Database updates/upgrades (Newer version or a different EC2 instance)
- Setting up read replicas, and the list goes on
Essentially you would be performing all the DBA related activities or investing resources in automating many of these activities, which is exactly what RDS provides.
Now in terms of financial aspects, lets looks at how the two options fare. For illustration, I took an EC2 instance R3.2xLarge EC2 and a DB.R3.2Xlarge offering for a 3 year term commitment.
Database on EC2 Instance $ 6,130
MySQL on RDS $ 8,825
Oracle BYOL on RDS $ 8,825
Aurora on RDS $10,629
Oracle License Included on RDS $18,186
Considering the maintainance cost as well as development cost for the different features, the different of around $ 2,000 over 3 years may not be worth it.
However some of the cases where you might benefit from managing your own database on EC2 are,
- If you have hundreds of Database instances to manage, you would could automate the various steps to see cost benefits
- If you need complete control of the Database instances. For instance you do not have sysadmin permissions on the RDS instance and will not be able to perform some of the operations which need that permission
- If you would like to install additional applications along with your Database instances. RDS instances can just have the database and you cannot run any other applications alongside, but can do so with custom installation.