This blogpost will be all about cloud characteristics. These characteristics describe features and behavior of an IT-environment to be considered an effective cloud. These characteristics will set apart true cloud providers from providers only claiming to offer cloud services.

But first let set two important definitions:

Cloud Computing
“Cloud computing is a specialized form of distributed computing that introduces utilization models for remotely provisioning scalable and measured IT resources.”

“A cloud is a distinct and remote IT environment designed for the purpose of remotely provisioning scalable and measured IT resources. (source: Cloud School).”

(source: Cloud School, Module 1 Fundamental Cloud Computing)

In order to remotely provision scalable and measure IT resources a cloud needs to have certain characteristics.

On-Demand Usage
On-Demand usage refers to the cloud consumer’s freedom to access and/or self-provision IT resources whenever he needs them without having to go through a cumbersome and time consuming process. This IT environment will be effective immediately (automated) without any human intervention from the cloud provider perspective.

Ubiquitous Access
Ubiquitous Access represents the ability for a cloud service to be widely accesible for a variety of cloud consumers using a range of transport protocols, interfaces and security technologies. This can be for example through SOAP based or RESTful Web Services. Ubiquitous Access is a very important characteristic when it comes to the proper integration to achieve a certain level of interoperability.

Multitenancy is a quite simple characteristic and simply enables a cloud service to be able to serve multiple consumers (tenants) fully isolated from each other. This can be achieved by introducing pools of IT resources (resource pooling), this will allow cloud providers to pool large-scale IT resources to serve multiple cloud consumers. Multitenancy relies on the technology of virtualization (previous blogpost).

Multitenancy (and Resource Pooling): In a multitenant environment, a single instance of an IT resource, such as a cloud storage device, serves multiple consumers.

Elasticy is the automated ability of a cloud to gracefully and transparently scale IT resources horizontally (scale out, scale in) in realtime based on runtime conditions. This is one of the core justifications for the adoption of cloud computing and one of the big advantages over on-premise IT environments.

Measured Usage (pay-as-you-go)
Measured Usage offers the ability to keep track of the usage of (cloud-based) IT resources. This is not only to be able to charge the cloud consumer for the actual usage of IT resources (billing purposes) or to know the timeframe where access to the IT resources was required. This is also for the general monitoring/scaling and to provide related usage reporting to both cloud providers and cloud consumers.

Within cloud computing resiliency refers to redundant IT resources within the same cloud or across multiple clouds (and cloud providers). By using and combining multiple cloud providers (for example Amazon Web Services and Microsoft Azure) organizations can increase the availability and reliability of the IT resources significantly and at the same time avoiding a  cloud provider lock-in.

Resiliency: A resilient system in which Cloud B hosts a redundant implementation of Cloud Service A to provide failover in case Cloud Service A on Cloud A becomes unavailable.