Not every IaaS cloud service is the same. There are some fundamental differences between IaaS clouds. The main difference is in the architecture of the platform. Gartner has named the two most common architectures a best effort cloud and a reliable cloud. Other names for these different types of clouds are designed for failure versus enterprise clouds or stateless cloud service model versus stateful cloud service model.
A designed for failure cloud has been designed for running applications that have resiliency built into the application. This means that when a particular part of the application fails, the application continues to be available. This comes down to an application made up of many different virtual machines. Think about an application with a web tier, an application server tier, and a database tier. Each tier has at least two nodes so that if one node fails, the application will continue to be available.
A best effort cloud uses commodity hardware...