Friday, October 15, 2010

Cloud Computing

Just hearing the words 'Cloud Computing' makes one wonder what it's all about. To be honest, the initial picture which came to my mind had the sky and clouds in it. Once having referred some facts, it becomes  clear to one's self that it matched the clouds in the sky, conceptually .

Cloud computing is actually a technology that uses the internet and central remote servers to maintain data and applications. Consumers and businesses are able to use applications without installation and access their personal files from any computer with internet access using this technology and it allows for much more efficient computing by centralizing storage, memory, processing and bandwidth. 

A simple example of cloud computing :- Yahoo email/ Gmail, etc. 
No one needs a software or a server to use them. All we need is just an internet connection and an account to start sending emails. When you relate this scenario to cloud computing, the server and email management software is all on the cloud ( internet) and is completely managed by the cloud service provider Yahoo , Google etc. We, consumers get to use the software alone and enjoy the benefits.

Cloud computing can be simply described as a disruptive innovation and a concept which enables technology to expand.  The improvements facilitated by this method can be described under 5 topics as follows.
  • Ease of Use - You can deploy the infrastructure with a Mouse or an API. No Cabling, Screwdrivers, racking, unboxing or buying and you can do it anywhere anytime.
  • Scalability - You can control your infrastructure with the application. Nothing to purchase and be delivered and it's instant as well.
  • Risk - One of the risks are that there's nothing to buy. In addition, being prone to instant cancellation and changes are two more risks
  • Reliability - The reliability can be counted on because it is based on Enterprise grade hardware. To face failures effectively, you can make use of multiple cloud designs and automatically spin up replacements.
  • Cost - To reduce costs, you should turn off servers which you are not using and pay for only what you use. No need of buying in advance and it has no contracts.
 The benefits of this technology have revolutionized the industry as it can be considered as a one step to outsourcing, facilitates managed hosting (dedicated 3rd party server support) and is a provider of cloud hosting which is more reliable, with low risks, ease of usage and lower costs. Those benefits have more value in the current environment as traditional hosting costs continue to grow (High capital expenditure, Low facility asset utilization, High Depreciation, Power/Cooling costs>Server costs, Not environmental friendly, 30% hardware obsolescence).

Here are some multiple definitions related to Cloud Computing:

Forrester Research
A pool of abstracted, highly scalable, and managed compute infrastructure capable of hosting end-customer application and billed by consumption.
Different than SaaS (Software as a Service) :-Prescribed and abstracted infrastructure, Fully Virtualized, Dynamic infrastructure software, Pay by Consumption, Free of Long-Term contracts, Application and OS independant, Free of S/W and H/W installation

IBM press release on 'Blue Cloud'
Cloud Computing is an emerging approach to shared infrastructure in which large pools of systems are linked together to provide IT services.

Thomas Weisel Partners LLC (Into the Clouds: Leveraging Data Centers and the Road to Cloud Computing)
....a hosted infrastructure model that delivers abstracted IT resources over the Internet.

James Urquhart blog post
Cloud computing describes a systems architecture. This particular architecture assumes nothing about the physical location, internal composition or ownership of its component parts. 

Cloud comprises of three segments which serve for different purposes: 
  • Applications----> provides Software as a Service/Storage as a Service (SaaS)
  • Platforms----> provides Platform as a Service (PaaS)
  • Infrastructure----> provides Infrastructure as a Service (IaaS)
The Cloud segments are organized in Cloud hierarchy which is called as a Cloud Pyramid. The Cloud Pyramid is built upon a foundation, which is the Infrastructure segment. In addition, the layers of the Cloud equates its structure and while the lower level Infrastructure has more breadth, the higher levels have more niche.

                                          Figure 1 :Cloud Pyramid



                                          Figure 2 :Revised cloud Pyramid

An inversed Cloud Pyramid model would consist of 1000's of Cloud Applications, Handful of Cloud Platforms and an Elite group of Cloud Infrastructure providers.


Hosting industry is at the best possible time for change and there is a whole lot of facts contributing for that:
  • Technology has evolved
  • People demand more control
  • Instant gratification
  • In-House hosting is too costly from CapEx and Human Capital
  • Colocation for those who want to be physically there
Futhermore, the evolution of Cloud computing can be described in a 'Snowball Effect' manner.

Maturization of Virtualization technology-->Virtualization enables Compute clouds-->Compute clouds create demand for Storage clouds--> Storage+Compute clouds create Cloud Infrastructure-->Cloud Infrastructure enables Cloud Platforms and Applications-->Multiple Cloud types lead to Cloud Aggregators-->Niche requirements enable Cloud Extenders

Some Examples for Cloud Applications would be;
  • SalesForce
  • Gmail
  • Yahoo mail
  • Quicken Online
The advantages of such applications are that they are free, easy and consumer adoption is high. However some of the disadvantages would be that they have limited functionality and with no control or access to the underlying technology.

Cloud Platforms can be described as containers and 'closed environments'. Some examplesa are,
  • Google App Engine
  • Heroku
  • Mosso
  • Engine Yard
  • Joyent or Force.com (SalesForce Development platform)
 Such platforms are good for developers and are more controlled than 'Application' Clouds. In addition, they are tightly configured. The negative facts are that they are restricted to what is available and have other dependancies.

Cloud Infrastructure which provides 'Storage' and 'Compute' Clouds has Virtualization layers consisting of Hardware and Software. Examples for Cloud Infrastructure would be,

  • Amazon EC2
  • GoGrid
  • Amazon S3
  • Nirvanix
  • Linode
 The advantage of the Cloud Infrastructure is that it has full control of environments and the infrastructure with the disadvantages being premium price point and limited competition.

Cloud Extenders provide extension to Cloud Infrastructure and Platforms with basic functionality.
E.g.:- 
  • Amazon SimpleDB
  • Amazon SQS
  • Google Big Table

These Extenders extend the functionality of Storage and Compute Clouds to integrate with legacy systems or other clouds. However they sometimes require specific Platforms or Infrastructure to do so which is a disadvantage.

Cloud Aggregators sit on top of various Cloud Infrastructures for management. Examples are,
  • RightScale
  • Appistry
These Cloud Aggregators provide more options for Cloud environments, however are dependent on Cloud Providers.
A diagram of the new Cloud Pyramid is indicated below.

                                              Figure 3 :New Cloud Pyramid

No comments:

Post a Comment