On-Demand Resources
The term “on demand” implies that the customer can be allocated the right quantity of resources at the right time for the right amount of time at any given time. This perfect allocation of resources in an environment of shifting requirements in turn implies elasticity to increase or decrease resources as well as sufficiently fine-grained increments of resource quantity and sufficiently fine-grained increments of time. For example, if a customer has 10 servers and suddenly needs 20, or if the customer has 20 but suddenly only needs 10, resources that are on demand are able to scale up or down appropriately.
Sufficient granularity of quantity implies that if customers need 20 they can receive 20, but if customers need 1 they can receive 1 and if customers only need a quantity of .07 they can be allocated just that quantity.
Sufficient granularity of time implies that if customers need a resource for a week, they can have it for a week; if they need it for a day, they can have it for a day; and if they need it for an hour or a minute, they can have it for that long. (Note that cloud computing providers currently don’t appear to offer less than one-hour increments.)
Ensuring the right quantity, in a context of demand for fractional quantities of resources, is the task of a virtualization layer or a multitenant architecture. Ensuring the right duration is the task of the resource allocation layer.
Electricity comes very close to the ideal: Flicking a switch to power ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access