Saturday, October 9, 2010

Cloud Computing Defined



What is Cloud Computing?? Ask 100 people and you would get 100 answers.... everyone defines cloud computing as per their needs/solutions/services being provided/consumed. This is still not a single Cloud Computing definition which everyone agrees to as it is still evolving and changing.

There is a lot of misconception about cloud computing. As per NIST [http://csrc.nist.gov/groups/SNS/cloud-computing/] the essential characteristics of cloud computing are:
On Demand Self Service: A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider.
Broad Network Access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
Resource Pooling:  The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand.
Rapid Elasticity: Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in.
Measured Service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and  consumer of the utilized service.

If we observe any computing model which has essentially the above characteristics, it can be termed as Cloud Computing.

Types of Cloud Service

Cloud Computing can be provided by one of the below three services:

Infrastructure As A Service [IaaS]: In this service model, consumers can provision the complete infrastructure like storage, network, operating systems etc and deploy their own applications on these infrastructure components. Consumers have control of almost everything.
Platform As A Service [PaaS]: In this model, the consumers deploy their own application based on the servers, operating system, network, storage etc.
Software As A Service [SaaS]: The consumers use the provider’s application running in the cloud infrastructure. The customer does not manage the application capabilities, network, operating system etc, but can manage user related configurations.

Any other service as Storage as a Service, IAM as a Service, Security as a Service etc all are variations/subset of the above three services.

Cloud Deployment Models

Based on the above service models, the cloud computing can be deployed in one of the 4 ways.

Private Cloud: This cloud infrastructure deployment model is solely used by an organization. It may be deployed within the network or at a third party network.
Public Cloud: These deployments model is available to general public and can be used by anyone as an individual or organization. The model is usually owned by the Cloud Service provider.
Community Cloud: These deployments model is used by a group of companies who have a common interest or concerns. These may be managed by the community or by a third party organization.
Hybrid Cloud: This deployment model is composition of two or more cloud deployment models defined above. This model is usually used by organizations when there is an extra demand not being able to be fulfilled by any of the private of community models.

Thanks for reading the post and hope you enjoyed it. Wait for my next blog on cloud computing...
-Rajiv

No comments:

Post a Comment