Cloud Spectator has recently updated its website; as a result, some images may be missing from this blog post. To download the latest report, click here!
With a lack of standardization in the IaaS industry, providers freely use unique terminology to describe their VM resource allocations. How do you compare an ECU to an HPCCU to a vCPU? This report examines the performance and pricing of 5 of the world’s largest IaaS providers over a 5-day period, and provides a process to clearly determine the price-performance value of a cloud provider, addressing the issue of standardization in the marketplace.
The Confusing Marketplace
As the market quickly saturates with IaaS providers, the decision-making complexity of choosing the right provider evolves as well. Cloud Spectator monitors IaaS performance of over 20 of the world’s most well-known cloud providers to guide businesses in the selection process to maximize performance efficiency and minimize cost.
This report highlights and analyzes the performance of 5 of the largest cloud providers in the market today: Amazon EC2, Rackspace OpenStack Cloud, HP Cloud, SoftLayer CloudLayer Compute, and Windows Azure. Results from the 5-day experiment prominently display the performance differences in providers, with Windows Azure, the highest-performing provider, scoring 3 times better than Amazon EC2, the lowest-performing provider, on average.
The process of selecting one or many cloud provider(s) from a multitude of options is not easy. Providers allocate and provision resources differently, leading to more confusion and little performance information for users to compare. Since 2011, the IaaS industry has seen a pricing war among the largest competitors, which leads providers like Amazon EC2, HP Cloud, and Windows Azure to attract customers with a low-cost claim. This document, though, provides evidence that those considerations do not yield the best results, and a more detailed roadmap involving performance must be considered alongside other features of a provider.
Singular benchmarks alone should not be used to weigh IT purchase decisions; we recognize this concern and advise this paper only as a starting point for further investigation when selecting a provider. To apply to the widest possible audience, we chose 5 of the most-recognized IaaS providers in the market, and displayed them across the Unixbench test, an open source benchmark application widely used and recognized in the IT world. For more information, please see the methodology section.
The tests were run from the beginning of May 25, 2013 until the end of May 29, 2013. Tests were run 3 times a day, and the highest and lowest scores from each day were recorded and graphed in chronological order.
From speaking with a variety of large and small cloud providers, we have learned that one of the most common sizes for cloud servers is a 4GB configuration; therefore, for the purpose of relevance for the largest readership, we have as closely matched each provider’s offering to the 4GB configuration as possible.
We are using the most updated version of Unixbench (5.1.3, released January 2011), which can handle multi-CPU systems. The purpose of the test is to gauge the performance of a Unix-like system by giving a score at the end of the test; hence, we have used it to measure the performance of Linux operating systems running on top of the virtualized infrastructure. Unixbench calculates its score by running a series of individual tests aimed at stressing a server to test how much load it can handle, and how efficiently it can handle it.
Similar to reading a movie review, the Unixbench score would be the overall rating out of 10 stars, while the individual tests would be specific considerations like plot, flow, characters, etc. Used worldwide as a measurement tool to compare Linux machines, Unixbench is considered a standard for performance evaluation. For more information and to download and run the latest version of Unixbench, please visit https://code.google.com/p/byte-unixbench/.
We are collecting two important pieces of information not easily obtained from providers:
- Performance: how well the provider scores on Unixbench, and how consistent the scores are. By running tests repeatedly over the period of 5 days, we are able to gather information on variability of performance, a common complaint in public cloud environments, where resources are shared and server performance is not always guaranteed.
- Price-Performance: after performance scores are established, we factor in cost to understand how much performance a user can expect on return for every amount of money spent, i.e., the value. By normalizing on a scale of 100 with a relational system called the CloudSpecs Score, we can see how much value each IaaS provider delivers in relativity to the highest-value provider, who receives a score of 100. By doing this, we not only discover which provider delivers the most promise per amount of money, but also how much more value they deliver over competitors.
The Results: Performance Only
Below are the results of the Unixbench test over a period of 5 days. A noticeable difference separates the providers between a score range of 300-600 (Amazon EC2 and Rackspace) and 1100-1500 (SoftLayer, HP Cloud, and Windows Azure).
On average, the highest-performance provider over the test period is Windows Azure, and the lowest-performance provider is Amazon EC2. The difference in performance: Windows Azure scores 3 times higher than Amazon EC2 on average.
By running tests continuously over a period of time, we are able to capture a snapshot of performance variability as well. The coefficient of variation (CV) is a value expressed in a percentage that tells you how much variability occurred around the average; the higher the percentage, the more drastic the variability, equating to less stability in performance.
The most variable providers are Rackspace and Amazon EC2. In the May 26 time frame, both Amazon EC2 scored significantly beyond their average: Rackspace fell below, and Amazon EC2 went above. Over the test period, Amazon EC2 had a CV of 4%; Rackspace had a CV of 6%; HP Cloud had 1%; and SoftLayer and Windows Azure had 0% (all numbers are rounded to the nearest whole number).
Time is on the x-axis, while UnixBench Score is represented on the y-axis:
The Results: Weighing in Cost
To understand the performance value, we factor in the pay-per-hour cost from each provider. Please note that many providers offer long-term discounts, which may increase their price-performance value. Also, qualitative factors, such as services, additional features, etc. are not included in this calculation; i.e., this is a pure price-to-performance calculation.
We begin by averaging the score of each provider over the test period:
By taking each score and dividing by the price, we can get a relative price-to-performance score for each provider. Below is a list of adjusted Unixbench scores by cost, giving perspective into the value (the higher the score, the better):
In this scenario, Amazon EC2, Rackspace, and SoftLayer shift positions; SoftLayer, the most expensive player, drops down close to Amazon EC2 and Rackspace. Rackspace, due to its cost as well, falls below Amazon EC2. Windows Azure, the highest-value provider in this scenario, provides 5x more value than on average throughout the 5-day test period than the lowest-value provider, Rackspace.
The CloudSpecs Score
The CloudSpecs Score is a further normalization of the price-performance values established on the previous page, used to easily understand how much value the best provider gives its user in relation to other providers. The highest-value provider receives a score of 100, and other providers are pegged in relation to it.
Over the course of 5 days, Windows Azure scored highest in performance and price-performance. For price-performance, it averaged 12023 points. Respectively, HP cloud averaged 9559; SoftLayer averaged 4378; Amazon EC2 averaged 3182; and Rackspace averaged 2313. Normalizing each provider in relation to the highest one (Windows Azure) at 100, we get HP cloud at 80; SoftLayer at 36; Amazon EC2 at 26; and Rackspace at 19.
Because each number is a ratio, we can read the value of Windows Azure:Rackspace at 100:19, or 5:1. Similarly, Windows Azure:Amazon EC2 is 4:1. HP cloud:SoftLayer is a 2:1 for value. To see a complete list of ratios, see the table below:
(Ratios are X:Y)
The most discrepant ratio, 5.3 : 1 (highlighted in the above table in red), was between Rackspace Cloud and Windows Azure. Rackspace Cloud’s high cost combined with its low performance results resulted in being the lowest price-performance provider in this Unixbench experiment. Windows Azure, with its high performance and cost that rivals Amazon EC2, scored highest for the study.
HP Cloud, a close second to Windows Azure in this study, achieved a price-performance ratio of 1.25 : 1 in relation to Azure. While slightly more expensive than Windows Azure and Amazon EC2, the higher cost was offset by its high Unixbench scores over the period of the study.
While the Unixbench test gave us a peek into the performance discrepancies apparent in the public IaaS marketplace, its perspective should be taken as an overview, and further investigation into each cloud server should be conducted to a) pinpoint the performance bottlenecks and/or b) collect performance metrics relevant to a business’s applications and IT strategies in the cloud.
If you are running a database, for example, check to see if the database itself comes with any default benchmark tests to simulate expected performance. Many open source database, like MySQL, PostGRES, and MongoDB, come with benchmarks that can be run without much effort.
When it comes to testing the hardware, a variety of open source tests are available for Linux operating systems. The Phoronix Benchmark Suite (www.phoronix-test-suite.com) is a collection of tests that can measure CPU, RAM, and disk performance and is a widely used benchmark with a plethora of results posted online to compare. Mongoperf’s default benchmark also runs a powerful IO checker that can predict the performance of MongoDB. But remember to test across a period of time, as public cloud environments can also have performance hiccups from noisy neighbors and overprovisioning.
Internal network, a vital component in scalable web applications and databases in the cloud, is also a bottleneck that cannot be ignored. By checking for throughput and latency, we can get an accurate sense of the efficiency of the network and help users understand if they can expect application performance hiccups due to a slow connection. A reliable throughput test is Iperf (iperf.sourceforge.net). We recommend running Iperf with both single-threaded and multi-threaded options to spot performance degradation or improvement as you scale up resources for your application.
For latency, a ping command from the Linux terminal is a simple but effective way of measuring speed of the network. Like with other tests in a public cloud environment, continuously testing across a period of time accounts for the possibility of server hiccups that may affect your application’s performance at a specific point or duration of time.
For disaster recovery and system backups, a wide-area network (WAN) is a pertinent consideration for enterprises. Data center uptime, which can be measured by ping, as well as latency and throughput (which can be measured with ping and Iperf, respectively) can gauge the quality of the WAN in respect to a business’s IT disaster recovery or replication process.
Though Amazon EC2 has the lowest price advantage over the other 4 providers at $0.12 per hour (tied with Windows Azure), the lowest cost does not always mean the best value for a customer looking for maximized performance. Also, while Amazon EC2 had the lowest performance, due to its cost, it did not score lowest on the price-performance value measurement, the CloudSpecs score; in fact, while Rackspace performed 1.5 times better than Amazon EC2 on the Unixbench tests, its higher price dropped it lower than Amazon EC2 in the CloudSpecs score.
Unixbench is just one test, and has been used as an example in this document to highlight performance variability across providers. A wider variety of tests, measuring CPU, disk, RAM, internal network, external network, and application performance, can be used to further fine-tune specific experiments to guide informed IT-purchases for public and private clouds.
We published this document because we recognize the concern in the industry over the performance of public clouds. We automate over 20 benchmark tests that gauge CPU, RAM, disk, and network performance 3 times a day, 365 days a year across 20 of the largest IaaS providers in the world, and witness the performance variability first-hand. We chose these tests on their reliability, usefulness, and practicality.
When the performance of a server becomes an issue out of your control, not only do you lose money and customers, but waste time and energy trying to fix the problem. By proactively addressing these concerns, we work to create a standard for performance in the cloud. This results in clearly defined expectations businesses using cloud environments so that their customers stay happy and their employees stay productive after a move to cloud.
For more information about our company and how we can help you find the right cloud provider(s) for your application, please visit our website at www.cloudspectator.com or email us at firstname.lastname@example.org.
Check out our latest performance post on PostgreSQL Database Performance on 5 IaaS Providers.
About Cloud Spectator
Founded in 2011 and headquartered in Boston, MA , Cloud Spectator is an IaaS-focused analyst group consulting global clients in understanding and standardizing cloud performance, features, and pricing. Its premier software, CloudSpecs, automatically runs a variety of benchmark tests across 20 of the largest worldwide IaaS providers, helping clients pinpoint application requirements and compatibility when migrating to virtualized environments.