Wednesday, August 25, 2010

On a Cloud Services SIG Meeting of the SDForum.

Yesterday, I attended a Cloud Services SIG meeting of the SDForum on Migrating Enterprise Apps to the Cloud. Two companies -- Makara and Appirio -- presented their approaches. Makara provides a platform through which you can create private clouds, irrespective of the underlying IaaS cloud, and has an interesting method of defining cloud computing by negation. Appirio described the issues in migrating enterprise apps to a specific PaaS cloud, namely

Dave Nielsen, one of the co-chairs of the SIG, threw open a challenge at the conclusion of the session. Can we work together to provide a concise 5- or 6-word/phrase characterization of cloud computing? In the more than two years of his organizing cloud camps, he has encountered various different definitions. He is preparing one himself and would find others' views valuable.

Here's my attempt at providing a succinct definition, listing what I consider are orthogonal characteristics:
Cloud computing refers to secure compute and/or storage and/or networking resources that can be obtained on-demand, through self-service, and that are elastic.
The individual characteristics can be elaborated as follows:
  1. secure. If the subscriber of the service cannot be assured that his environment is kept private to his project team members, then the usability of the service is simply not there.
  2. on-demand. If a service cannot be obtained as and when required, it is not a sufficient enough improvement over traditional enterprise IT practices.
  3. self-service. An individual must be able to obtain the service at the time of his choosing, rather than be at the mercy of an another, an IT administrator. This kind of instantaneous self-service has substantial implications for project execution.
  4. elastic. Once obtained, the subscriber must be able to scale the service up or down, depending on the needs of the problem being solved in the cloud. [measurable. If the service being obtained cannot be measured by the subscriber, the subscriber cannot, at his convenience, alter the parameters of the service.  One can argue that elasticity implies measurability. To quote Lord Kelvin: "If you cannot measure it, you cannot improve it." ]
  5. compute-network-storage configuration. There are problems that can be solved by a single CPU with some storage, but there are increasingly many more problems that can exploit a cluster of CPUs, a bunch of storage devices and effective networking among the former two. This characteristic, with greater control of intrinsic parameters of the service, is more relevant to Infrastructure as a Service (IaaS), whereas all the other three characteristics listed here applicable to all the NIST-defined deployment models: IaaS, or PaaS or SaaS.
Note that multi-tenancy is implied; if any individual can obtain a service, another one can obtain too and , thus, multi-tenancy is implied. However, security cannot be left unmentioned in any definition.

No comments:

Post a Comment