One thing I love about ec2 is that I can easily test/debug/modify my provisioning recipes (written in chef) from a blank slate.
With fog (http://fog.io/1.0.0/index.html), I can start up a new ec2 instance in less than a minute and tell it to run the chef process. If it doesn't work properly, I shut it down and try it again.
How does that work on a dedicated machine at, say, SoftLayer?