A cloud must be built on pooled, virtual infrastructure. This includes not only the CPU and memory resources but also the storage and networking and associated services.
The cloud should provide application mobility between clouds, allowing the consumer to easily enter the cloud and exit the cloud with existing workloads. The use of existing consumer tools for performing the migration of workloads to or from the cloud is highly desirable.
The cloud should be open and interoperable, allowing the consumer to consume cloud resources over open, Internet standard protocols. There should not be a requirement for specific networking or clients in order to access cloud resources.
The cloud consumer should only pay for resources they consume or commit to consuming.
The cloud should be a secure and trusted location for running cloud consumer workloads.
The cloud consumer should have the option and the ability to protect their cloud-based workloads from data loss.
The cloud consumer must not be responsible for the maintenance of any part of the shared infrastructure, or have to interact with the cloud provider to maintain the infrastructure, including storage and network maintenance, on-going patches, or business continuity activities. The cloud should be available to run high availability workloads and any faults occurring in the cloud infrastructure should be transparent to the cloud consumer as a result of built-in availability, scalability, security and performance guarantees.