Sample Pricing Comparison: Amazon AWS and Windows Azure

As my journey to the cloud continues, many people have asked me whether or not Amazon AWS was more expensive than Windows Azure. As you can imagine comparing pricing alone can be very deceiving because there are various gaps in the service offering of both providers. So I would like to disclose right away that comparing pricing between cloud providers must be taken as just one data point for choosing your cloud provider. Nevertheless, when it comes down to it, pricing is important, so let’s get to it!

Scenario and Assumptions

The first thing I will do is outline a specific scenario so that we can start comparing. Let’s assume we have a website that uses 10 web servers to run, 2 middle-tier servers for business rule processing and a database server (SQL Server 2012). Let’s further assume we need to perform some reporting activities using SQL Server Reporting Services. Let’s assume that we do not need high availability for the database (if we did, this would negatively impact the Amazon pricing model), and that the database can run on a Windows Azure SQL Database instance (if it didn’t, this would negatively impact the feasibility and the pricing of the Microsoft Azure model). Here are the high level system requirements that we will use for the estimated financial model.

  • SQL Server database, Enterprise Edition, 10GB of storage, 1CPU, 1 million requests, 10GB per month of data tx
  • 10 Websites running ASP.NET, 1CPU, 1TB of data tx out to Internet per month
  • 2 Middle-tier Servers running .NET, 2CPUs
  • Reporting Services - 10 reports run daily, 1GB of data out to Internet per month

Here are some of the general guidelines and assumptions I have used for this comparison:

  • Use License-free model as much as possible
  • Use equivalent service configuration as much as possible
  • Ignore temporary/promotional offers
  • Using North America pricing
  • SQL Server database can run in Windows Azure SQL Database (SQL Database in short) for comparison purposes

The above assumptions and guidelines ensure that the comparison is as close as possible to an apple-to-apple comparison between Amazon AWS and Windows Azure.

Amazon AWS Pricing

Regarding the database platform on RDS, I chose the On-Demand EC2 servers and the License Included pricing model of RDS for SQL Server. This allows the pricing model to be calculated on an hourly/monthly basis. Note however that the Licensing Included model of Amazon does not provide the ability to run other services, like SSRS or SSIS, which is fine because this compares nicely with Windows Azure SQL Database. However, SQL Database does offer high availability, which RDS doesn’t offer in this model. Still this was the closest database service in terms of features and capabilities between Amazon and Microsoft. Regarding the websites, I chose to use the EC2 Small and Medium on-demand instances for Windows. And for the reporting services environment, I chose to use the free SQL Express edition of SQL Server, which includes basic, but sufficient SSRS capabilities.

image

The following links were used to obtain pricing and service/product details:

http://aws.amazon.com/rds/, http://aws.amazon.com/ec2/pricing/ , http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx#Reporting

Windows Azure Pricing

Regarding the Windows Azure pricing estimation process, I used SQL Database because it closely matches the Included Licensing model of Amazon RDS. I also used Web Roles and Worker Roles for the web and middle-tier servers, because the overall I/O, CPU and Memory specifications were comparable to those offered by Amazon at the service levels selected previously. I also selected the Windows Azure Reporting Service as the reporting mechanism in Windows Azure; there really isn’t another choice right now in Windows Azure, although this may change in the future. The Reporting Service in Azure does not provide all the features that a full-blown reporting service would offer, so although the pricing is important, as I mentioned earlier, you need to make sure the feature sets are sufficient for your needs.

image

The following link was used for the pricing details:

http://www.windowsazure.com/en-us/pricing/calculator/

Conclusion

In this specific example, given all the assumptions and constraints mentioned previously, Windows Azure offers a less expensive service with a price advantage of about 18%. As mentioned earlier, this price difference comes with multiple service differences as well, some of which favor the Microsoft Azure platform, while others favor the Amazon platform. It is interesting however to note that the major difference in price is related to the database platform price, as shown in the graph below. Because SQL Database is a full Platform as a Service offering Microsoft is able to offer a significant price break on that service compared to Amazon. However, Microsoft Azure doesn’t yet offer the flexibility of configuration that RDS can offer for higher throughput requirements, so as long as SQL Database can deliver the required performance levels of your applications, Windows Azure may be noticeably less expensive. 

image

This post is specifically looking at a simple website configuration with limited throughput and processing requirements and does not intend to make a general statement regarding Amazon AWS and Windows Azure. Last but not least, other financial considerations are not taken into account, such the maintenance costs of each environment, which would tend to favor the Windows Azure platform in this scenario because there is no server/service maintenance associated with Windows Azure Reporting Services.

About Herve Roggero

Herve Roggero, Windows Azure MVP in South Florida, works for AAJ Technologies (http://www.aajtech.com) and is the founder of Blue Syntax Consulting (http://www.bluesyntax.net). Herve's experience includes software development, architecture, database administration and senior management with both global corporations and startup companies. Herve holds multiple certifications, including an MCDBA, MCSE, MCSD. He also holds a Master's degree in Business Administration from Indiana University. Herve is the co-author of "PRO SQL Azure" and “PRO SQL Server 2012 Practices” from Apress and runs the Azure Florida Association (on LinkedIn: http://www.linkedin.com/groups?gid=4177626).

Print | posted @ Monday, February 18, 2013 9:58 AM

Comments on this entry:

Gravatar # re: Sample Pricing Comparison: Amazon AWS and Windows Azure
by Nathan Lewis at 3/1/2013 5:38 PM

Your comparison is valid, as long as you do not care about performance of your SQL database. The problem with SQL Azure is that it offers NO performance guarantees. Queries that run sub-second today may take minutes tomorrow. Speaking from experience, this can ruin your application's performance in the blink of an eye. After the second time we experienced serious performance degredation that needed an Azure Support ticket (and several hours) to resolve, we were forced to switch to hosting our own SQL server on dedicated VMs.

Until Microsoft can offer a performance guarantee on SQL Azure, comparisons like this are flawed and meaningless for real world use.
Gravatar # re: Sample Pricing Comparison: Amazon AWS and Windows Azure
by Herve Roggero at 3/2/2013 1:12 AM

Nathan - I agree that you need to know what to put in Azure, Amazon or keep on premise. But a lack of performance SLA doesn't prevent thousands of successful real-world applications from running just fine in Windows Azure. The comparison is only relevant for those of us that can use the cloud, granted.
Gravatar # re: Sample Pricing Comparison: Amazon AWS and Windows Azure
by Shekar at 3/6/2013 11:00 PM

Does either of them offer a solution where the database resides on premise and only the application processing sits out of the cloud? Is this even a sensible approach? This would to an extent address the data complaince issue.
Gravatar # re: Sample Pricing Comparison: Amazon AWS and Windows Azure
by Herve Roggero at 3/7/2013 4:44 AM

Yes - you can create virtual networks and connect them to on-premise VPN devices allowing you to have your cloud services connect to internal resources, like databases and even Active Directory.
Comments have been closed on this topic.
Twitter