Comparing cloud infrastructure-as-a-service providers By Thoran Rodrigues January 20, 2012 Cloud computing is a term that encompasses a lot of different things. From servers and infrastructure to office software, a lot of IT is now sold on a cloud-based, service model. This means that any comparison of cloud providers can not only be very complex, but can also end up measuring companies that don’t even compete with each other. To avoid this situation, different types of cloud services should be looked at separately. Today, we are going to focus on infrastructure-as-a-service (IaaS). IaaS providers are companies that provide the most basic IT needs – servers, networking, and storage – on a usage-based payment model. They typically make heavy investments in data centers and other infrastructure, and then rent it out, allowing consumers to avoid investments of their own. Even these providers, however, are not all pursuing the same business model. While the largest and most wellknown are focused on the general public, with fully on-line automated set-ups, there are also some niche players that cater only to the enterprise market, as well as smaller companies that resell infrastructure from larger ones, usually with some added services.
Comparing companies For the sake of this comparison, we are going to focus on IaaS providers whose services can be purchased directly on-line, without requiring contact with salespeople of any kind. They were selected based both on my knowledge of companies in this space and based on the availability of information about them on the web. I ended up with 11 companies, ranging from the large and well known to smaller, newer ones. To do the comparison, I decided to create some dimensions that try to reflect important aspects of cloud computing, such as the promise of reduced costs and economies of scale, the level of service offered to customers, the flexibility in configuring servers, and user concerns such as security, compliance, and support. This process resulted in the following 14 criteria: Pricing Plan – Providers offer pay-as-you-go (usually hourly) plans, monthly pricing plans, “membership” discounts (where the user receives a discount in usage rates in exchange for an extra yearly payment), or any combination thereof. The more options provided, the better, but the pay-as-you-go model is the most interesting stand-alone option, since it allows for more fine-grained usage control. Only the prominently displayed payment plans were considered. Average Monthly Price – Estimated cost in US$ for a 1 CPU, 2GB RAM cloud server (or the nearest best option), averaged over datacenters for companies with location-based pricing, and averaged over Windows/Linux servers. When available, hourly pricing was used, based on 730hour months. Otherwise, monthly pricing was used. Excludes data transfer costs. Service Level Agreement (SLA) – The uptime SLA offered (regardless of past performance), in percentage points.
Number of Datacenters – The number of datacenters offered as a choice when deploying cloud servers. Certifications – If the vendor has compliance- and security-related certifications, such as PCI or SAS 70. Scale Up – If it is possible to scale up individual cloud server instances by adding more memory, extra CPUs or more storage space. Scale Out – If it is possible to quickly deploy new server instances. Support – A three-level subjective scale: o Poor – Companies that only offer on-line forums for free; any other support must be paid o Average – Companies that offer a single type of 24x7 support for free (either phonebased or on-line chat), in addition to forums o Extensive – Companies with multiple support offerings included in the base price Monitoring – Another three-level subjective scale: o Poor – Companies that have no monitoring/alert solutions integrated, requiring the deployment of third-party tools or that extra services be purchased o Average – Companies with very simple integrated monitoring tools (few indicators or no alerting) o Extensive – Companies with very complete integrated monitoring tools offered for no additional cost APIs – If the company offers APIs to interact with the servers or not. Free Tier – If the provider has a “free trial” tier that customers can use to test the service. Supported operating systems – The number of supported operating systems, regardless of version, available as a pre-configured image. Number of Instance Types – The number of different server configurations available. Some providers offer fully customizable servers in terms of CPU, these are listed as “configurable”. Cost of Outbound Data Transfer – The cost, in US$, for each GB of outbound data sent from the server. Companies that offer a per second (Mbps) connection for free have costs listed as zero. Cost of Inbound Data Transfer – Same as above, but for inbound data. See the comparison tab in Excel format: Base Comparison *Terremark was compared based on their vCloud express offering.
This table can be further used to, for instance, create a numerical scoring system for the different providers. By assigning numerical values to all dimensions, putting them into a 0-1 scale and then applying weights, it is possible to rank the providers according to the most desired characteristics. If we assume that every dimension has the same weight, and normalizing numerical values by the maximum (or minimum) value, the top three providers would be, in this order: Rackspace, OpSource and Amazon EC2. Below is the sample scoring table: See the Scoring tab of the Excel spreadsheet.
*Terremark was compared based on their vCloud express offering.
Conclusions Though a lot of providers offer comparison tables on their websites, these are biased towards the features they have that their competition doesn’t. This makes doing any sort of comparison much harder. For some inexplicable reason, some companies also hide important and relevant information in weird places. Terremark’s SLA, for instance, can only be found through the on-line support forums. I had a few surprises when compiling this data. I didn’t expect to find such a large variation between prices from one provider to the other, but they range from about US$ 40 to US$ 274. I also didn’t expect to see so many companies claiming a 100% Uptime SLA. While this can reduce initial fears about moving to the cloud, it remains to be seen if they can sustain this level of service over time, and what will be the results if they can’t. Finally, I thought I would see more companies with “free tier” offerings to allow for customer experimentation on cloud platforms. At the same time, since most providers offer “pay-asyou-go” pricing models, customers can spin up an instance for a few hours, try the platform out, and then spin it down, all for a few dollars. I also discovered some interesting tools that allow anyone to do comparisons on current and historical availability of cloud services, as well as to compare response delays and some other metrics. These tools can be found at CloudSleuth, a cloud comparison web ite. They can serve as an additional element when considering providers. This comparison is far from authoritative or complete, and didn’t follow any official research methodology. Its objective is to serve as a starting point for people who are either new to the cloud and want to have a quick look at what different providers offer, as well as for people who are considering moving to a different provider. In this sense, I tried to choose dimensions based on the foremost advantages claimed by cloud computing providers (ease of scalability, improved service levels, cost reductions) and on user concerns (security, compliance, monitoring, ease of access). I also tried to keep it as simple as possible so it would be easy to include new providers or new dimensions in the future. Finally, if you think there are other providers, or important criteria that should be added, or even information that could change the results I came up with, please share with us in the comments.