Infrastructure-as-a-service lets companies focus on their core competencies without having to worry about buying, deploying, and maintaining data center hardware or facilities. IaaS is why Instagram sold at a $1 billion valuation with only 13 employees and why Pinterest served nearly 12 million monthly unique visitors with only 16 employees.
For our new Buyer's Guide, we defined an IaaS provider as offering self-service provisioning of an extremely large number of virtual machines and storage using an API or a Web control panel, without customers having to interact with an engineer or salesperson. For many companies, IaaS offers significant benefits, but with an ever-growing number of providers, it's difficult to know which will be the best choice. To help in the hunt for the perfect IaaS provider, we queried a dozen vendors about their offerings. Eight responded: GoGrid, Google, IBM, Internap, Joyent, NaviSite, SoftLayer, and Terremark. Amazon Web Services didn't respond, but given that it's a major IaaS player, we found answers to our questions on its website. We compared providers in several categories; get the full results at informationweek.com/ reports/iaasguide.
CPU And Memory
Most vendors offer a variety of VMs based on the number of CPU cores, amount of RAM, and amount of local storage that comes with each VM. There are lots of options, from half a core (GoGrid) to 24 cores (also GoGrid), and 256 MB of RAM (Terremark) to 68.4 GB of RAM (Amazon). However, because virtualization does not lend itself to exact CPU definitions, some IaaS vendors have created their own nomenclature for how much processing power comes with each core on a particular VM. Amazon defines an "Elastic Compute Unit," or ECU, as "the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor." Google uses a "Google Compute Engine Unit," or GQ, describing 2.75 GQs as "the minimum power of one logical core (a hardware hyper-thread) on our Sandy Bridge platform."
Regardless of how a vendor defines its processing power, you should run benchmarks to see how its offering compares with your hardware.
Vendors typically offer up to three types of storage: local storage as part of the VM, also called "ephemeral" or "instance" storage, as it disappears when the VM is terminated; block storage that exists and is billed separately from the VM; and a storage service that has virtually unlimited available space and is billed by the space used.
There are two benefits to true block storage that's divorced from the VM. One is that block storage makes VM offerings more flexible: Some IaaS vendors only offer CPU, RAM, and storage in lockstep multiples, such as 1 CPU, 1 GB RAM, and 100 GB storage. If your application doesn't have significant RAM or CPU requirements but requires hundreds of gigabytes or terabytes of disk space, having a block storage option will let you avoid overpaying for a beefier machine.
The second benefit is that block offerings often can take snapshots and restore backups to new volumes very quickly. This is important if you need to restore service fast after an outage and have more than 50 GB of data that must be transferred to a new VM.