The speed I saw with the machines wasn't very exciting. I tried the DaCapo Java benchmarks, a test suite that includes several computationally intensive tasks, including running a Tomcat server. The results were generally three to five times slower than the low-end machines on Microsoft's Windows Azure and often six to nine times slower than the low-end machines on Joyent's cloud. However, these numbers weren't perfectly consistent. On the Avrora simulation of a sensor network, the EC2 micro machine was faster than Joyent's, and it took only about 45 percent more time to finish than the low-end Azure machine.
The Joyent machines are priced at about 3 cents an hour, a small premium considering the gap in performance. The Azure machines have an introductory price of 1.3 cents per hour -- cheaper than Amazon's micros, though they're dramatically faster.
Bigger, faster, more
For comparison, I also booted up what Amazon calls a high-CPU machine that offers two virtual cores, each delivering 2.5 (in Amazon parlance) ECUs or Elastic Compute Units. That's five ECUs all together. The micro machine is supposed to offer two ECUs in bursts, while the high-CPU machine offers five ECUs all of the time. The price is dramatically higher -- 16.5 cents per hour -- but that includes 1.7GB of RAM. Again, what happened to our old friends, the powers of two?
The high-CPU machine was usually six to eight times faster than the micro machine, suggesting that the ECUs are just a rough measurement. The results were close in speed to the Joyent machine and often a bit faster, but at more than five times the price. It's worth noting for algorithm nerds that the DaCapo benchmarks used two threads when possible on the Amazon machine but were limited to one thread on the Joyent and Azure boxes.
Once again, this suggests that the algorithm designer, the build master, and the CFO are going to need to sit down and decide whether to buy bigger, faster machines for more money or live with a larger number of slower, cheaper machines.
More fun comes when you start exploring the other corners of the Amazon toy store. The pay-as-you-go Hadoop cloud, called Elastic MapReduce, lets you upload a JAR file, push a button and start the computational wheels turning. You stick the data in the Amazon's storage cloud, S3, and the results show up there when everything is done.
There's a separate cloud of machines devoted to doing Hadoop processing. At least it looks separate, because you buy the compute cycles through a different Web page, but it could all be running in the same floating network of machines. That's the point.
Sign up for CIO Asia eNewsletters.