Friday, November 21, 2014

What is in a cloud?



Just finished a 20 part OpenStack Series on my blog.  May be it is a good idea to step back to take a look at what a cloud is.

According to NIST (National Institute of Standards and Technology) publication 800-145, Cloud Computing is defined as “a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

This document further defines that a cloud computing has 3 service model and 4 deployment model and 5 essential characteristics.

Wow, it is so theoretical.  Who want to memorize these definitions?  I am not taking any certification exam from NIST.

But when I read what they are I find that these service models, deployment models and essential characteristics are being used widely in all the cloud related articles. Let’s take a quick look and see if you agree.

Cloud Service Model
  • Software as a Service (SaaS)
  • Platform as a Service (PaaS)
  • Infrastructure as a Service (Iaas)

Every day we some form of Software as a Service.  Most people use Yahoo Mail or Gmail.  Microsoft Office 365 is another form of SaaS.  User of SaaS only interfaces with the application and do not know what and how it is being supported.  You may be surprised to know Facebook is a form of SaaS.

I think the best way to describe Platform as a Server is that user is responsible for the application and data that is associated with it.  The hardware, OS, network and storage is hided from the user.  AWS Elastic Beanstalk, Google App Engine and RedHat’s OpenShift are good example of PaaS.  In this model the OS license is not a concern of the user even Linux is free there is no need to worry about when to apply the latest security patches or have to schedule down time.  The development or production platform is just there to be consumed.  The PaaS provider will take care of providing a platform according to the SLA.

Infrastructure as a Service will provide all the hardware for compute, network and storage including the hypervisor and use is responsible for maintenance and security patches of the Operating System that is running on the infrastructure.  Software license is a big consideration in this model.
This diagram best describe the 3 cloud service model the modules in green are the responsibility of the user and the modules in grey is the responsibility of the provider. (A picture is worth a thousand words).


Image source: http://venturebeat.files.wordpress.com/2011/11/iaas-paas-saas.jpg

Here is a good article that compares the 3 service model.

Cloud Deployment Model

  • Private Cloud
  • Community Cloud
  • Public Cloud
  • Hybrid Cloud

I believe every heard of private, public and hybrid cloud.  Community cloud is for exclusive use by a community and can be hosted on or off premises.  I would think soon we will have a Personal Cloud add to the list.  The main difference between private and public cloud is whether the cloud is hosted on or off premises. 

For Public cloud everyone knows about Amazon Web Services and Google Compute Engine and lately Microsoft Azure.  And for private cloud OpenStack is a hot topic and yet I don’t think it is being deployed as wide as its publicity.

I see lots of potential in the use of Hybrid cloud and VMware rebrand vCloud Hybrid Service into VMware vCloud Air and is promoting a complete cloud solution.


Image source: https://communities.vmware.com/servlet/JiveServlet/showImage/38-6265-10766/cloud_roadmap.png

Cloud Essential Characteristics
The essential characteristics defined by NIST are

  • On-demand self-service
  • Broad network access
  • Resource pooling
  • Rapid elasticity
  • Measured service

These are all self explanatory.  Amazon Web Services has CloudWatch for monitoring and since it is a paid service, billing is of course has to be in place.  OpenStack is catching up on this with the Ceilometer but on the billing side, it is only taking care of the measurement portion.  A complete billing system is not in place for OpenStack

Reference:
(Csd), Nist Computer Security Division. NIST SP 800-145, The NIST Definition of Cloud Computing (n.d.): n. pag. Web.

9 comments:

  1. This is a very nice article. thank you for publishing this. i can understand this easily.AWS Online Training

    ReplyDelete
  2. Thanks for sharing useful information. I learned something new from your bog. Its very interesting and informative. keep updating. If you are looking for any Big Data related information, please visit our website Big Data training in Bangalore.

    ReplyDelete
  3. Nice article and informative one about cloud computing. Helpful to know why cloud computing is important. Also giving knowledge about cloud engineering services and solutions.

    ReplyDelete
  4. Nice and good article. It is very useful for me to learn and understand easily. Thanks for sharing
    Best AWS Training Online
    AWS Online Training Course

    ReplyDelete
  5. An awesome blog for the freshers. Thanks for posting this information.
    AWS Online Training Hyderabad
    Best AWS Online Course

    ReplyDelete