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.
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.
The following link was used for the pricing details:
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.
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).