Cloud has often been used as a metaphor for Internet in the network diagram. Cloud computing is a new IT delivery model accessed over the network (Internet or intranet). It is definitely not formed in one day by a “Big Bang.” This revolutionary style of computing emerges from evolutionary changes, maturity, development and advancements of technologies over the last 50 years. Readers may be interested to read my blog post on the evolution of cloud computing.
In this post, I will present the very essentials, attributes, differentiators and benefits of cloud computing that a beginner needs to know.
From a plethora of cloud definitions online, I prefer to use the definition by the National Institute of Standards and Technology (NIST). According to NIST:
“Cloud computing is a model for enabling 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.”
It demonstrates five essential characteristics, three services models and four deployment models of cloud.
The five characteristics that define cloud computing are:
1. On-demand self-service. This means provisioning or de-provisioning computing resources as needed in an automated fashion without human intervention. An analogy to this is electricity as a utility where a consumer can turn on or off a switch on-demand to use as much electricity as required.
2. Ubiquitous network access. This means that computing facilities can be accessed from anywhere over the network using any sort of thin or thick clients (for example smartphones, tablets, laptops, personal computers and so on).
3. Resource pooling. This means that computing resources are pooled to meet the demand of the consumers so that resources (physical or virtual) can be dynamically assigned, reassigned or de-allocated as per the requirement. Generally the consumers are not aware of the exact location of computing resources. However, they may be able to specify location (country, city, region and the like) for their need. For example, I as a consumer might want to host my services with a cloud provider that has cloud data centers within the boundaries of Australia.
4. Rapid elasticity. Cloud computing provides an illusion of infinite computing resources to the users. In cloud models, resources can be elastically provisioned or released according to demand. For example, my cloud-based online services should be able to handle a sudden peak in traffic demand by expanding the resources elastically. When the peak subsides, unnecessary resources can be released automatically.
5. Measured service. This means that consumers only pay for the computing resources they have used. This concept is similar to utilities like water or electricity.
Three main service models of cloud computing are:
1. Software as a service (SaaS). Applications hosted by a provider on a cloud infrastructure are accessed from thin or thick clients over the network or a program interface (for example, web services). Examples are Google Docs, IBM SmartCloud Docs, IBM SmartCloud Meetings, Saleforce.com’s CRM application and so on.
2. Platform as a service (PaaS). Providers deliver not only infrastructure but also middleware (databases, messaging engines and so on) and solution stacks for application build, development and deploy. IBM SmartCloud Application Services and Google App Engine are two examples of PaaS.
There are others services emanating from these main services. Storage as a service (STaaS) and communications as a service (CaaS) are two such variants.
Now let’s look at the cloud deployment models.
Public cloud. This is where computing resources provided by a cloud provider are used by different organizations through public Internet on a pay as you go (PAYG) model. Cloud providers ensure some sort of separation for resources used by different organizations. This is known as multitenancy.
Private cloud. This is where cloud infrastructure is solely owned by an organization and maintained either by this organization or a third-party and can be located on site or off-site. Computing resources are behind the corporate firewall.
Community cloud. Here, cloud infrastructure is owned and shared by multiple organizations with a shared concern.
Hybrid cloud. It is the combination of any type of cloud model mentioned above connected by standardized or proprietary technology.
Companies stopped generating their own electricity using steam engines and dynamos as the electric grid provided a better means of getting electricity. Similarly, organizations these days can rely on the cloud service providers to get computing resources on-demand and in an automated fashion. Organizations only pay for the resources they have used and relinquish unnecessary resources using a self-service portal. This eliminates the need for expensive capital investment. However, cloud is not just about lowering the cost.
The benefits of cloud computing are agility, scalability and economies of scale, sustainability, reliability, faster time to market and developing prototypes with increased efficiency. You can look at the series of my blog posts highlighting the benefits of cloud computing for more information.
Cloud computing has created a reverberation in the IT landscape. The cloud adoption rate is increasing dramatically. It is high time for organizations to consider cloud computing for turbulent business challenges ahead. What are your thoughts? Share them in the comments below or connect with me on Twitter.
About Shamim Hossain
Shamim is an experienced technical team leader and project manager leading a number of complex and global projects with involvement in the full project lifecycle ranging from planning, analysis, design, test and build through to deployment. He is an IBM Certified Cloud Solution Advisor and Cloud Solution Architect. As a Redbooks Thought leader and official IBM Cloud Computing and Smarter Computing Ambassador, he publishes regularly on http://thoughtsoncloud.com and http://www.smartercomputingblog.com. He holds a Master of Telecommunications Engineering and a Bachelor of Computer System Engineering (First class honours). His expertise and interests include different areas of cloud computing, mobile computing, optical fibre communications, broadband, Internet engineering and the Internet of Things. He is a published author. He co-authored a book entitled “Cloud Computing Service and Deployment Models: Layers and Management” by IGI Global.