Amazon takes on Microsoft Azure head-on
Ballmer-less elastic SQL Server and .NET frameworks
If you are thinking about deploying .NET applications on a platform cloud and whacking them against an SQL Server database embedded in that platform cloud, Microsoft's The Cloud Formerly Known As Azure is not your only option. Amazon Web Services has fired up its own analog to Azure.
The two new services, Amazon RDS for SQL Server and .NET support for Elastic Beanstalk, give developers alternatives underneath the AWS umbrella and at the same time offer an alternative to Microsoft's Azure platform cloud, which supports a .NET framework and a hosted database service derived from SQL Server.
The RDS service was launched in October 2009 based on the open source MySQL 5.1 database running atop Amazon's EC2 compute cloud, a more sophisticated database than its SimpleDB service. In February 2011, Amazon plunked Oracle 11g R2 onto the RDS service.
In either case, the point of RDS is to expose the database as a service and have the underlying EC2 infrastructure automagically expand and contract as the database workload dictates. The RDS service allows you to just buy the raw service, with all of its management features, if you already have licenses, or pay a higher hourly fee if you don't already have MySQL, Oracle, and now SQL Server licenses.
The Express, Web, Standard, and Enterprise Editions are supported on Amazon RDS for SQL Server, but online pricing and configuration information was not revealed for Amazon RDS running SQL Server Enterprise Edition. Amazon said that it was planning to add support for SQL Server 2012 later this year.
RDS for SQL Server starts out with a free usage tier aimed at application developers that includes 750 hours per month on a micro EC2 instance that is loaded up with SQL Server 2008 R2 Express Edition, has 20GB of database storage, 20GB of backup storage, and 10 million I/O requests per month. If you don't have Microsoft Windows and SQL Server licenses, or you don't want any, you can pay 3.5 cents per hour for the service on this micro instance on EC2.
In the US East data center in Virginia, a small instance runs 14 cents per hour with SQL Server Express, while the Web Edition will run you between 17 cents and $2.88 per hour, depending on the underlying capacity, for the service. If you want instances running SQL Server 2008 R2 Standard Edition, you are looking at paying between 65 cents and $3.85 per hour, depending again on the instances.
Those are prices for on-demand instances; if you want to reserve capacity for one or three years ahead of time, you will spend considerably less per unit of performance. You don't have to pay bandwidth fees for putting data into the AWS database service, but you do pay each time the bits fly out after the first gigabyte per month of bandwidth (anywhere from a high of 12 cents to a low of 5 cents per GB per month, depending on the volume).
Microsoft has a license mobility program for customers that have volume licensing agreements and Software Assurance support contracts that will let them move their in-house SQL Server licenses out to the Amazon RDS service.
The raw RDS infrastructure service will be more expensive than plain vanilla EC2, but less expensive than the database-included pricing outlined above. (You can see the full price list here.)
If you want to have a cloudy and scalable Microsoft database, then you probably also want a cloudy and scalable ASP.NET runtime environment for applications to frolic within as they occasionally, or rather frequently, tickle those fluffy SQL Server database tables out on the RDS service.
And thus, the Elastic Beanstalk service, which debuted back in January 2011, is also getting a makeover and now supports the .NET framework and can run ASP.NET applications in a scalable and cloudy fashion.
Elastic Beanstalk runs Java middleware (Tomcat 6 and 7 to be precise) on the EC2 cloud and makes it similarly scalable as the RDS database service, and was tweaked earlier this year to support PHP 5.3 and the Apache web server if you like PHP instead of Java.
Now, Elastic Beanstalk supports the Windows Server 2008 R2 Amazon Machine Image (AMI) with the IIS 7.5 Web server as the .NET runtime, and the AWS Toolkit for Visual Studio allows developers to deploy existing ASP.NET apps to Elastic Beanstalk; the toolkit can also link to Amazon RDS database instances running SQL Server.
A micro instance of the Windows-based Elastic Beanstalk on EC2 running the middleware service, including its S3 storage needs, is on the order of $42 per month, according to Amazon's pricing examples, which is a tad bit more than the $35 it is charging for a Linux-Tomcat variant of the stretchy and fluffy middleware. The Elastic Beanstalk service is itself free, and in some cases, you can run it on the freebie tiers that Amazon started offering recently.
The addition of Microsoft's SQL Server 2008 R2 support in the database service and upcoming support for SQL Server 2008 R2 begs the following question: When will IBM's DB2 database and the open source PostgreSQL database be added? ®