I was just reading an article which is titled “Surprise! Not all Amazon EC2 compute units are created equal. I think it’s a very interesting article and actually shows how people think/feel about what cloud computing is offering. In this case it’s all about the perception and as with many users the perception of performance and the misunderstanding of the technology that is driving this. The following quote from the article linked above captures the essence of the story
It turns out that the underlying hardware for each instance created impacts the actual performance that each instance gives you, even though the instances are all virtualized and marketed by Amazon as if they are all created equal. In our case, we found that the different underlying hardware that the virtual instance sits on has a significant impact on application performance, at least with respect to MySQL database performance. Instances that were created on machines with AMD’s Opteron 270 processors (2ghz 1mb L2 cache) showed significantly poorer MySQL performance compared to instances created on machines with Intel’s Xeon e5430 processors (2.66ghz 6mb L2 cache).
Now after reading this a lot of you may say “DUH”. Of course you can’t expect this be to be equal, but when reading Amazon’s explanation of a Compute Unit I do understand where this comes from.
Source
EC2 Compute Unit (ECU) – One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.
Cloud Computing, as Mike D. has explained many times already, is about the end-user not caring about what lays underneath as long as it meets there business requirements(non technical). Or in other words, and I quote “I don’t care”.
However as you can clearly see in the quote above, and please read the full article, the end-user does care when it comes down to performance. Performance needs to be guaranteed but more surprisingly equal in all cases. In the case mentioned above a single server had better(!) performance then guaranteed by Amazon and still the customer was dissatisfied with it as it clearly skewed expectations.
What can we do to prevent this and should we try to prevent this or create a better explanation of what “Compute Units” are. I actually don’t think there’s a single correct answer to the question or even a solution at this point in time as we are still growing and maturing. I will leave it at that for now and let the topic sink in, if you do have an answer please speak up.
While I was writing this article I was pointed by @MattPovey(EMC) to another article titled “Has Amazon EC2 become over subscribed?” Which is an excellent read and also deals about performance and the perception of just that. I think the key take away is that the user, when one of the few virtual instances using a physical server, sees a decline in performance over time. Although Amazon might still meet the SLA it is the users perception that performance decreased and are not equal to what has been offered.
