Bursting CPU's and Distributed Applications

I wanted to call out a specific post I just read. The reason is the because it highlights a very specific area of cloud computing that often seems little understood. That is, CPU Burst-ability.

http://www.thebitsource.com/2010/01/11/rackspace-cloud-servers-versus-amazon-ec2-performance-analysis/

I'll say that I've had this conversation dozens of times with various people and it's nice to see someone took the time to really do a good study. They really went all out to test under various conditions, times of day, different servers on the same platform, and compare apples to apples about as much as is possible. One of the sage things in the report is this gem, "Typically it is best to test specific applications to get a true measure of performance..." That is so very, very true for many reasons. I wish they had time to do the test on the Joyent platform as well. It's similar in it's CPU burst-ability but under the hood it's quite different. Info I provided about this was the subject of a couple of blog posts a while back here. For example, their platform uses 8 cores whereas Rackspacecloud uses 4 cores. Amazon, as far as I know, doesn't allow you to burst at all your CPU allocation is a hard cap which is quite different from RackspaceCloud, Slicehost, or Joyent.

Lastly, people forget and I keep saying ad nauseum, how you write the app means everything as to how well it will perform on the cloud. Generally speaking, adopting many of the ideas and processes around development of distributed applications is key.  But, this is also a very foreign concept to the bulk of developers I've worked with over the years.  This fact, how you write the application matters, is true pretty much no matter what cloud you deploy on and intimately tied to how well you automate certain operations tasks as well. Anyway, I know I've been a quite blogger lately. I simply have too much work to do to blog often with my startup. But, hopefully I can get back into the groove sometime soon.