We have a short interview here between Robbie Th'ng of Red Gate and Sundar Raghavan - GM, Amazon RDS.
Robbie: Why have you chosen to add SQL Server to the RDS line-up, adding to Oracle and MySQL offerings?
Sundar: Deploying and managing databases is one of the most expensive and time consuming activities in IT. Our customers love Amazon RDS as it allows them to offload the operational burden of managing databases to AWS, while giving them access to native relational engines so that they can seamlessly migrate their applications without having to change code. Many of our Windows customers run applications using SQL Server and have asked us to extend the manageability benefits of Amazon RDS to SQL Server. We are happy to have brought this service to them so that they can spend more time on adding value to their applications and business.
Robbie: What differentiates SQL Server on Amazon RDS to some of your competitors?
Sundar: We spend a lot of time understanding customer pain points and ways in which we can solve their problems instead of obsessing over how to differentiate our products in the market. In the case of Amazon RDS for SQL Server, there were two main requirements: 1) customers wanted a native SQL Server database engine they have used for years, and have built many applications on; and 2) customers wanted to offload the management of these databases. Amazon RDS addresses these requirements by providing a native SQL Server deployment to customers while managing database administration tasks such as software installation and patching, monitoring, and back-ups for disaster recovery.
Robbie: What advantages does using RDS bring over an on-premise SQL Server installation?
Sundar: Amazon RDS for SQL Server takes care of the “undifferentiated heavy lifting” of managing databases – the time consuming administrative effort required to deploy, configure, patch, scale, and backup SQL Server. By letting AWS manage the administration tasks, customers can focus on building, enhancing and optimizing their applications. We see these benefits realized in a variety of customer scenarios. Development and testing scenarios are very popular, as teams can get started quickly, and work in parallel without having to fight for resources. They shut down their instances when they go home, which reduces costs, and start them up again in the morning – exactly where they left off. For production applications in the cloud, Amazon RDS reduces the administrative burden of the database, which makes for very productive developers and DBAs.
Robbie: How would you suggest customers analyze their usage to calculate the costs for their workload?
Sundar: With Amazon RDS, the largest component of the cost for most customers is associated with the compute capacity of the DB Instance. Customers can start with the On-Demand pricing model and multiply the corresponding hourly price with the number of hours they expect to use the service to arrive at an indicative cost of usage. Note that customers running steady state workloads can achieve up to 65% discount using Reserved Instances. There is also an online pricing calculator provided for users who want the fine-grain detail on pricing.
New customers can get started with Amazon RDS for SQL Server with a Free Usage Tier, which includes 750 hours per month of Amazon RDS micro instances with SQL Server Express Edition, 20GB of database storage and 10 million I/O requests per month.
Robbie: How does RDS cope with failures?
Sundar: Amazon RDS detects host hardware failures and automatically replaces the underlying DB Instance. In addition, to provide enhanced data durability, Amazon RDS automatically backs up DB Instances daily and database logs every five minutes for a user specified retention period. You can configure your backup retention period to up to 35 days. Using the “Point in Time Restore” functionality customers can restore their DB instance to any second during the retention period, up to the last 5 minutes.
Robbie: Can you explain the advantages over using SQL Server installed on an EC2 instance?
Sundar: Amazon RDS is a fully managed database service that takes care of time consuming administration associated with deploying and operating SQL Server. For example, Amazon RDS manages the underlying storage to provide enhanced database performance, automatically backs up your databases, provides push button scaling and patches SQL Server software automatically. In addition, Amazon RDS detects host hardware failures and provisions replacement instances (with no change to the DNS Name), which saves a lot of effort compared to a self-managed DB Instance.
Amazon EC2 makes it very easy to provision SQL Server using an Amazon Machine Image (AMI) in a few minutes, and customers will be responsible for creating and configuring storage volumes (if you would like to take advantage of the Elastic Block Store), data durability and disaster recovery.
Both EC2 and Amazon RDS provide the scale and low cost benefits of AWS, and depending on your needs, either could be a great fit.
Robbie: What types of monitoring or security options will customers have as these SQL Server instances are exposed on the internet?
Sundar: Amazon RDS allows you to control access to your DB Instances using database security groups (DB Security Groups). A DB Security Group acts like a firewall controlling network access to your DB Instance. By default, network access is turned off to your DB Instances. If you want your applications to access your DB Instance you can set your DB Security Group to allow access from EC2 Instances with specific EC2 Security Group membership or IP ranges. In addition, you can use AWS Identity and Access Management (IAM) to create users and credentials, and control access to Amazon RDS APIs/operations.
Amazon RDS exposes a number of key operational metrics including swap usage, latency and throughput through Amazon CloudWatch at no extra charge.
Robbie: Can you explain the kind of recovery strategy (backup/restore) that RDS customers should use?
Sundar: Amazon RDS supports two backup/restore models:
- Automated Backups and Point in Time Recovery (PiTR) – Turned on by default, the automated backup feature of Amazon RDS enables point-in-time recovery for DB Instances. Amazon RDS will back up DB Instances daily and transaction logs at 5 minute intervals and stores both for a user-specified retention period. This allows customers to restore their DB Instance to any second during your retention period, up to the last five minutes. Automatic backup retention period can be configured to up to 35 days.
- DB Snapshots and Recovery – DB Snapshots are user-initiated backups of DB Instances. These full database backups will be stored by Amazon RDS until customers explicitly delete them. Customers can clone/create a new DB Instance from a DB Snapshot whenever they desire.
Robbie: Are there any plans to offer SQL Server 2012 at some point?
Sundar: Yes, we are excited to announce that Amazon RDS for SQL Server now supports SQL Server 2012