Blog post

on multi-tenant elasticity

By Yefim Natis | March 24, 2010 | 2 Comments

Gartner just published an important Cloud/PaaS-related research note “Application Infrastructure for Cloud Computing: a Growing Market, 2010”.   Here I just want to share a footnote from that paper and see if some might want to disagree, add-on or comment in any other manner.   This text is trying to deal with the nuance of some flavors of elasticity and tenancy — all-important to enabling cloud computing.

—————————————-

Note 1
Elasticity, Horizontal Scalability and Multitenancy

Elasticity, horizontal scalability and multi-tenancy are often mentioned here and elsewhere as key distinguishing characteristics (or requirements) of cloud-computing technologies. Without attempting to provide a full-proof definition, the common-sense nature of these terms is as follows:

  • Elasticity is about the ability of software to meet changing capacity demands, deploying and releasing relevant necessary resources on-demand.
  • Horizontal scalability is about the ability of software to automatically expand onto additional underlying resources, or contract onto reduced resources, without interrupting operations. (Typically, horizontal scalability refers to the ability of software to automatically spread over added, or contract over reduced, number of physical or virtual machines.)
  • Multi-tenancy refers to the ability of software to be offered to multiple user entities (tenants) in a way so that each tenant operates as logically isolated, while, in fact, using physically shared resources. A tenant can be an organization co-using an application with other tenants. It can also be an application co-using underlying resources with other applications.

Multi-tenant elasticity is achieved when resources are allocated and accounted to tenant application instances. Multitasking elasticity occurs at lower levels when resources of one tenant are dynamically allocated to multiple tasks inside an application instance. Multitasking elasticity improves the performance of some applications. It does not amount to a new business model in business use of the software. Only multi-tenant elasticity is the definitive attribute of cloud computing.

—————————-

… and photography is my hobby.  Here is Long Beach Island, NJ on a less than bright and sunny day

3929691561_e5572df9a7

Comments are closed

2 Comments

  • Bob Olwig says:

    I initially thought elasticity was the new buzzword for scalability but I’ve changed my mind. Elasticity, and the ability to “release” or contract resources is a fundamental characteristic of cloud computing.

    I now think the new buzzword is “Horizontal scaling”…

  • Yefim Natis says:

    Thank you, Bob.

    I think, we see it differently. In order for a software system (application) to take advantage of the underlying elasticity — it has to be able to automatically “spread” over added compute resources (typically — added VMs) and contract when the available VMs are reduced — without interrupting operations of the application. That is not trivial. If this is not a characteristic of the system — the underlying elasticity will be ineffective (a new VM may be added, but the application would not be able to use it [without a reboot]).

    Does this make sense?

    Thanks again for your interest.