Four key behaviours indicate whether an infrastructure can be
defined as cloud computing
Defining cloud computing
Cloud computing is a deployment model leveraged by IT to reduce
infrastructure costs and/or address capacity/scalability concerns.
It is the infrastructure and how an application or service is
deployed and delivered that defines whether something is or is not
cloud computing, writes Lori MacVittie, technical marketing manager
at F5 Networks.
But
defining the cloud computing model can be problematic, because
we often tend to get prescriptive and start talking in absolute
checklists. With a fluid concept such as cloud computing, that
simply does not work. There is not one single model, nor is there
one single architecture that you can point to and say definitively,
"We are doing that, ergo we are doing cloud computing."
It is really about the behaviour of the entire infrastructure:
how the cloud delivers an application, that's important. The good
thing is that we can define that behaviour, so we can determine
whether an application infrastructure is behaving in a cloud
computing manner, in order to categorise it as cloud computing or
something else.
Dynamism
Amazon calls this "elasticity", but it means the same thing:
this is the ability of the application delivery infrastructure to
expand and contract automatically based on capacity needs.
Note that this does not require virtualisation technology,
though many providers are using virtualisation to build this
capability. There are other means of implementing dynamism in an
architecture.
Abstraction
Do you need to care about the underlying infrastructure when
developing an application for deployment in the cloud? If you have
to care about the operating system or any piece of the
infrastructure, it's not abstracted enough to be cloud
computing.
Resource sharing
The architecture must be such that the compute and network
resources of the cloud infrastructure are sharable among
applications. This links back to dynamism and the ability to expand
and contract as needed.
If an application's method of scaling is to simply add more
servers on which it is deployed, rather than be able to consume
resources on other servers as needed, then the infrastructure is
not capable of resource sharing.
Provides a platform
Cloud computing is essentially a deployment model. If it
provides a platform on which you can develop and/or deploy an
application and meets the other three criteria, it is cloud
computing. Dynamism and resource sharing are the key architectural
indicators of cloud computing.