I have written about Amazon’s Elastic Beanstalk for Java and more recently for PHP. This Platform as a Service (PaaS) is incredibly good and eliminates the need for much of the traditional administration required when running Web applications. For Java and PHP developers, as well as Ruby, Python and other languages, there is a wide choice of PaaS available from different vendors, which means that there is no fear of vendor lock-in when selecting a PaaS.
For .NET developers, the choice of PaaS has been limited to Microsoft Azure, or as of this week, Cloud Services. This is not a reason not to use the Azure PaaS, but with little competition, price , quality and performance, pressures do not come so readily to bear as when the market is competitive. Using other cloud vendors for deploying .NET applications, such as Amazon, means using their Infrastructure as a Service (IaaS) where servers are provisioned and configured behind a load balancer. This leaves all responsibility for updates and patches on server software with the end user–something PaaS eliminates. Today the landscape changes significantly for the better for .NET developers. Amazon announced the release (in Beta) of Elastic Beanstalk for .NET. This is a significant move by Amazon in the PaaS market and provides, immediately, a proven deployment platform for .NET application deployment.
Beanstalk for .NET uses Windows Server 2008 R2 virtual machines with IIS 7.5 installed for hosting the .NET applications. The AWS toolkit for Visual Studio enables the development of standard .NET Web applications, including Web Forms and ASP.NET MVC, and via the toolkit these applications can be deployed to Beanstalk. There is no additional cost for using Beanstalk. You just pay for the AWS resources provisioned. By default this is a micro instance machine and a load balancer. For new accounts a micro instance is free for the first year.
For anybody wanting to use SQL Server in the cloud, SQL Azure, or as its known as of this week, SQL Database has been a zero administration solution. Again this has changed as of this week as Amazon have announced that it has expanded its Relational Data Service–a Cloud managed database service offering MySQL and Oracle to now also include Microsoft SQL Server. Multiple editions including Express, Web, Standard and Enterprise Editions of SQL Server 2008 R2 are available, and support for SQL Server 2012 will be available later this year. For organisations that already have licenses for SQL Server, Amazon has a “bring your own license” agreement where you pay just for the compute on an hourly basis. If you are not familiar with Amazon’s RDS, it handles the administrative side of databases, that is, the deploying, scaling, patching, and backing up as part of the price plan.
So in summary, Amazon’s releases relating to Microsoft products is a direct, proven alternative to Microsoft’s cloud services, which enable developers to work with their standard tools, build applications using proven techniques and deploy with minimal effort. It will be interesting to see how this pushes Microsoft, both on pricing and innovation. My own view is that Amazon may well have just eaten Microsoft’s lunch in the PaaS and relational data area of Cloud Computing.