The diagram below shows a simple model for how capacity and demand relate to each other over time in a cloud provisioning environment.
In the cloud capacity model describes Capacity (C) as the amount of any resource that is available at a given point in time (T), Demand (D) is the requested quantity for a resource at a given point in time, Capacity Lag (CL) is the time it takes for capacity to be made available to satisfy a demand for a resource and Demand Delta (DL) is the volume difference between the demand for a resource and the capacity available for that resource.
This model can apply to storage, compute and network resources and is used in this paper to illustrate some of the challenges that need to be address in a cloud environment.
The fundamental principles for cloud include the following promises (or illusions):
- there is unlimited capacity available for you to use and therefore there will always be enough capacity to satisfy your demand
- capacity will be made available instantaneously for your to consume as you demand it without impacting your service
- the resources provided to you will always be available
- and that you will only be charged for what you consume
Promise 1 – Unlimited Capacity
The illusion of unlimited capacity means that as a consumer of cloud services you need not be concerned about if the cloud can provide sufficient resources for what you currently need to consume and for any future or unforeseen changes in demand.
This promise also implies that the difference between the current demand and the current supply will always be in your favour, i.e. there is enough resources currently available (or maybe even more then you actually need) to satisfy your need.
At any point in time C = D (Capacity matches demand) or C > D (Capacity is in your favour)
Promise 2 – Instantaneous availability of resources
The illusion of instantaneous availability means that if at any time demand approaches the point where it exceeds Capacity (D > C) then capacity will be adjusted in such a way that there is no noticeable delay in the additional capacity being available for consumption thereby maintaining the illusion that Capacity is always greater than or equal to demand (C > D or C = D).
In reality it is impossible to have changes in capacity (either up or down) available instantaneously; there will always be some Capacity time Lag (CL). CL needs to be small enough to ensure that software does not treat this lag as a failure.
At all times CL < Software resource latency threshold
Promise 3 – Resources are always available
The illusion of constant uninterruptable availability means that C will always be available, that there is no single point of failure and that any component failure can be accommodated in the cloud without any detectable impact to Capacity.
Promise 4 – Only charged for what you use
This promise means that you will only ever be charged for resources that you have demanded even if there was more capacity available. For this promise to be fulfilled your consumption quantities must be detectable and measurable i.e. they can be linked back to you (and only you) and that the volume of consumption over time can be measured and have an agreed cost attached to it.



