INTRODUCTION: With cloud computing, Amazon has enabled the usage of internet and central remote servers to maintain data and applications and created an environment where connectivity and availability is unobtrusive and prevalent. Amazon offers two options for hosting applications and databases. Amazon EC2 with Elastic Block Storage allows one to run a MySQL database server on Elastic Compute Cloud, an Infrastructure-as-a-Service provider, with Elastic Block Storage (EBS). Meanwhile, another option called Amazon’s Relational Database Services (RDS) is a scalable relational database in the cloud with high availability.
COMPARISON: Below is a detailed comparison of different features of both options.
• SET-UP: Once a MySQL is mounted on an instance of EC2, it can be up and running instantly without much time or effort required. Amazon’s EC2 comes with a set of API command line tools for different Linux distributions and for use with different File Systems to facilitate easy transition to the cloud. If a MySQL database exists already, it can be easily migrated to EC2 by creating an EBS volume, attaching that volume to EC2 and finally mounting the MySQL on that volume.
On the other hand, Amazon RDS has an efficient management console that helps with easy set-up and monitoring of resources. RDS provides instant access to the user’s own database software by deploying it over their own database instance. It also provides 10 GB of free data tier for people to experiment with RDS before taking the big step. Amazon RDS is more suited for new projects because it is easier to start fresh on RDS rather than migrate GBs worth of data to an unfamiliar territory. It also offers multiple features during initial set up such as Multi-AZ deployment, maintenance windows, automatic scaling and so on.
• DATA STORAGE: Both options don’t differ much when it comes to data storage. EBS offers large data storage of up to 1 TB in size and as a result, you can structure your database and tables around different EBS volumes or within the same EBS volume with MySQL hosted over EC2. Hierarchy and management of growth of the Database is relatively simple and traceable with EC2 and EBS.
Amazon RDS also provides large data storage with the pay-per-usage scheme. But to manage different databases, it would be more efficient to create different DB instances. With EBS, a certain amount of pre-determined storage is required initially. But with RDS, we get to create the space that we will definitely use and buy additional storage space only if needed. RDS provides very easy scalability solutions.
• PERFORMANCE AND QUERY-THROUGHPUT: Several tests have been performed by several experts to analyze which option provides high query throughput and performance. The vanilla MySQL over EC2 without RAID0 gives very sub-average performance. MySQL hosted over EC2 with EBS Raid 0, proper optimization and adjusted MySQL parameters produces optimal performance and results. But it fails...