I spent some time in Silicon Valley last week and late one afternoon I spoke to a group of Engineering VPs drawn from area companies. Although many of them were already AWS customers, it turned out that not everyone knew about the Amazon Relational Database Service (Amazon RDS) so I spent some time showing them how it worked. They watched as I created an RDS database instance running MySQL and showed them how easy it was to scale, backup, upgrade, and modify the instance. I even created a read replica for them!
I also talked about our new EBS Provisioned IOPS offering which allows you to specify both volume size and volume performance in term of number of I/O operations per second (IOPS), and Amazon EBS will consistently deliver the desired performance over the lifetime of the volume. Unfortunately, our session ended before anyone had time to ask me about RDS and Provisioned IOPS. Many of them are running very I/O-intensive database workloads on AWS and talking about switching their workloads to Amazon RDS, so it would clearly make sense to provide the same capabilities for Amazon RDS customers.
Enough sense, in fact, that we've done exactly that! You can now create an RDS database instance and specify your desired level of IOPS in order to get more consistent throughput and performance.
We are rolling this out in two stages. Here's the plan:
- Effective immediately, you can provision new RDS database instances with 1,000 to 10,000 IOPS, and with 100GB to 1 TB of storage for MySQL and Oracle databases. If you are using SQL Server, the maximum IOPS you can provision is 7,000 IOPS. All other RDS features including Multi-AZ, Read Replicas, and the Virtual Private Cloud, are also supported.
- In the near future, we plan to provide you with an automated way to migrate existing database instances to Provisioned IOPS storage for the MySQL and Oracle database engines. If you want to migrate an existing database instance to Provisioned IOPS storage immediately, you can export your data and re-import it into a new database instance equipped with Provisioned IOPS storage.
We expect database instances with RDS Provisioned IOPS to be used in demanding situations. For example, they are a perfect host for I/O-intensive transactional (OLTP) workloads. We recommend that customers running production database workloads use Amazon RDS Provisioned IOPS for the best possible performance. (By the way, for mission critical OLTP workloads, you should also consider adding the Amazon RDS Multi-AZ option to improve availability.)
I spoke to Rahul Pathak of the Amazon RDS team to learn more about this new feature and how some of our customers were using it:
"We want to provide the best possible reading and content delivery experience for a rapidly growing base of users and publishers. This requires us not only to use a high performance database today but also to continue to improve our performance in the future. Throughput consistency is critical for our workloads. Based on results from our early testing, we are very excited about Amazon RDS Provisioned IOPS and the impact it will have on our ability to scale. We’re looking forward to scaling our database applications to tens of thousands of IOPS and achieving consistent throughput to improve the experience for our users."
AWS customer Shine Technologies uses RDS for Oracle to build complex solutions for enterprise customers. Adam Kierce, their Director said:
"Amazon RDS Provisioned IOPS provided a turbo-boost to our enterprise class database-backed applications. In the past, we have invested hundreds of days in time consuming and costly code based performance tuning, but with Amazon RDS Provisioned IOPS we were able to exceed those performance gains in a single day. We have demanding clients in the Energy, Telecommunication, Finance and Retail industries, and we fully expect to move all our Oracle backed products onto AWS using Amazon RDS for Oracle over the next 12 months. The increased performance of Amazon's RDS for Oracle with Provision IOPS is an absolute game changer, because it delivers more (performance) for less (cost)."
We are thrilled to see such enthusiastic responses from our early customers and look forward to seeing what you can do with Amazon RDS Provisioned IOPS in your applications.
Amazon RDS Provisioned IOPS is immediately available for new database instances in the US East (N. Virginia), US West (N. California), and EU West (Ireland) Regions. We plan to launch in our other AWS Regions in the coming months.
Let us know how you plan to put all of this power to use in your environment.