Cloud computing price comparison stupidity

Microsoft have announced the pricing for their new Azure cloud-computing platform, and there’s been quite a few articles comparing the pricing to that of Amazon’s AWS cloud computing platform, the largest existing cloud provider.

Most have focussed on Microsoft charging 0.5 cents less per hour for a basic Windows instance than Amazon, 12 cents vs 12.5 cents, and whether they’ve done this to start a price war or simply to appear in-line with the existing suppliers out there.

However, these comparisons are just plain stupid, for one reason alone.

Each one provides a completely different definition of a CPU!

Amazon use the “EC2 Compute Unit”, they say that’s based on:

We use several benchmarks and tests to manage the consistency and predictability of the performance of an EC2 Compute Unit. One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor

Microsoft haven’t published a definition of their equivalent CPU definition, but since Amazon haven’t published their exact benchmarks it’s bound to be different.

Again, Google have their App Engine service, where they define their CPU usage as:

CPU time is reported in “seconds,” which is equivalent to the number of CPU cycles that can be performed by a 1.2 GHz Intel x86 processor in that amount of time. The actual number of CPU cycles spent varies greatly depending on conditions internal to App Engine, so this number is adjusted for reporting purposes using this processor as a reference measurement.

The Google measurement is obviously fairly close to the vague Amazon definition of a Compute Unit, but neither of them clearly specify how they actually measure the usage, so any initial comparison is at best vague and at worst completely misleading.

The same is true of Rackspace’s Mosso cloud, and all the other cloud providers out there.

Until a standard CPU unit is defined publicly and agreed between the major suppliers (if that’s even possible), any comparisons between clouds based on a simple “CPU Time” measurement, are simply stupid.