I have heard about different cloud offerings for SQL Server and one of these
platforms is Amazon Web Services. Can you tell me more about this offering
and how it could be used to host SQL Server databases?
Amazon Web Services (AWS) is one of many cloud computing platforms that provides clients with the ability to host and scale applications without having the high initial investment required to procure servers, network infrastructure, and personnel. AWS has eight geographical Regions across the globe that are contained within the host country. A GOVCloud is also available in the United States for government clients. Within each Region are multiple Availability Zones (AZ), which are locations within the Region and are sequestered to mitigate the likelihood or multi-AZ outages.
Amazon launched AWS in 2006; however, the Relational Database Service was rolled out in October, 2009. At that time only Amazon SimpleDB and MySQL instances were supported. Oracle database support was added in June, 2011, and in May, 2012 SQL Server support was added.
Of the benefits of using Amazon RDS, the one that is most appealing to startup companies and lone developers is that the bulk of instance administration and management is handled automatically. Another benefit is that spinning up a SQL instance is quick, usually less than 10 minutes. You can create a DB instance of SQL Server Express, Web, Standard, or Enterprise Edition. In addition to the DB instance, Amazon RDS also has instance classes, which determine both the computation and memory resources available to the instance, as well as the cost.
One of the big concerns with Cloud Computing is security. Amazon offers a number of services that can be used either singly or together to provide security to fit your desires and needs. DB Security groups can be created to lock down your database instance. These groups use either Classless_Inter-Domain_Routing (CIDR), which specifies which IP addresses can connect, or a Security Group created for one of the web applications. You can even use Active Directory Federation Services to provide Single Sign-On authentication.
So, this all sounds good, but the question is: How much does it cost to get started? The great news is that Amazon has a Free Usage Tier, which provides free services (with some restrictions) for 12 months. This gives you adequate time to test AWS and see if/how you can incorporate it into either your new application or even as a co-location solution for increased application availability.
On thing to note is that when you set up your account you must provide a valid credit card.
Creating an Account
To create an account go to http://aws.amazon.com/. Once there you can either use an existing Amazon account or create a new one:
Go to the next screen and enter your valid credit card information and billing address:
Click Continue. On the next screen you will be asked to provide a phone number. Once you provide the phone
number, click Call Me Now:
An Amazon service will call and provide a four-digit code, which you will enter in the appropriate textbox:
The service will then verify that the code is correct and you can hit Continue:
The last screen is a verification screen that lets you know that your account is being created. You will receive an email when your account is ready to use:
Getting Started with RDS
Once your account is created you can manage it through the AWS Management Console. The section for database management is on the bottom left section of the console
(RDS - Managed Relational Database Service):
This is the console to manage your databases:
When you click on the RDS link in the Database section you are navigated to the RDS console dashboard. On this page is a summary of your available instance objects for the specified Region. The Region dropdown menu is on the top right of the screen, so if you have deployed database instances to multiple Regions then you can select the Region of choice. You can also create or modify DB Security Groups, modify the configuration parameters, or access documentation. You can even create an in-memory cache using Amazon ElastiCache to increase the performance of the database instance.