Wednesday, March 10, 2010

Cloud Computing - Unclouding

What is Cloud Computing?

Is it a new technology, buzzword, model of computer/laptop, software, processor…? Cloud computing is defined differently by different people; some call it an umbrella terms to collectively define various technologies, other call it a new domain in computing etc. The definition which is closest to what really Cloud Computing is that it’s a new operative model of IT, which means it changes the way the IT is delivered to end-consumer. This means that it’s not only technology, of course the enablement is thru technology, but it has a lot other aspects to it. It means the new way of thinking the economics for IT, regulations, people, infrastructure, applications and everything else related to IT. To understand the impact of cloud computing there is a well accepted division into three major areas:

Ø  Software as a Service (SaaS)
Ø  Platform as a Service (PaaS)
Ø  Infrastructure as a Service (IaaS).

SaaS: Think of a traditional way of software buying and licensing. You buy a software (on a media, CD, DVD, or simply download the installer) and a license key to go with it. You own the software and then depending upon the license, again buy the software upgrade and support services. Now think of scenario where you could simple rent the software as you rent a cab. When I say renting, it does not mean like rent-a-dvd from blockbuster store, but rent a movie online from you cable provider where you don’t need the DVD player. This model is called SaaS, where you do not own the software but simply pay to use it. And how do you use it, from your web browser using internet. This is very successful model of IT delivery where the need of customization for an individual and/or organization very low and everyone uses the same set of feature.


PaaS: Again if you think of the traditional way you develop a new website or any other software. You will need a machine, a development environment, a database, an app server etc. But with PaaS, all you need is a simple computer/laptop and internet access. You login to your PaaS provider site and you have the entire environment available there for you to start developing, testing and deploying the application, everything thru just the browser. There may be cases where you would need a small software on your local machine to be able to develop the application, e.g. Google Apps, where you would need an eclipse IDE on your local machine, but rest of the software e.g. Appserver, database etc. is provided by Google Apps.  

IaaS: Let’s say you are running hosting a site. You have a very low traffic to your site and you are able to maintain it with 1-2 servers that you originally bought. But all of a sudden the traffic to your site increases and you need more computing power. But when you approach you hardware vendor, he/she asks for a 4 weeks lead time to get the machine of desired configuration. What do you do? You cannot wait that long. So you can reach out to an IaaS provider to get the extra machines, those are not on your premises but you simple rent those over the internet and simply host your application on rented servers. This all can be done within hours, if not minutes. Amazon EC2 and Microsoft Azure are two big players in this space.

Essentially, IMHO, Cloud Computing is about not having to buy/own the component (hardware/software) but to rent/pay-as-you-go. This might be seen as gross over-simplification of the concept but, I firmly believe, is the true sense of the Cloud Computing.

In my following post I will talk about How cloud computing will impact you as a comsumer and/or provider.

4 comments:

  1. 1. how it is different from wEB SERVICES
    2. HOW IT CHANGE THE MOBILE COMPUTING?

    ReplyDelete
  2. Parveen.. I will answer you second question in second post of this series.

    For the first one, web-services vs cloud is not an apple to apple comparison. Web-service is a technology OR a method to implement a software while cloud is an IT delivery model.
    In cloud computing, we talk about delivery of complete software/service thru internet. But a web-service generally provides only a single/small function and you will have to aggregate a number of web-services to create a meaningful service to the consumer.

    ReplyDelete
  3. Hey Rajan,

    I have been working on a SaaS based application where licenses are purchased in bulk by a school / college.

    We faced a challenge when one particular school does not want any upgrades during their initial trial period of around 4 months. The product is undergoing major development and upgrades are promoted to production every 3 weeks and other customers cannot wait.

    We solved this problem temporarily by having a separate instance for this particular customer. This has resulted in maintainance overheads and we understang there would be issues when they request all the updates / porting to main instance in future.

    Are there any best practices to deal with similar situations.

    BTW, nice blog, am looking forward to coming posts. Hope you don't restrict yourself to cloud computing :)

    ReplyDelete
  4. This article is very much helpful and i hope this will be an useful information for the needed one.Keep on updating these kinds of informative things. Thank you for sharing wonderful information with us to get some idea about it.
    oracle training in chennai

    oracle training institute in chennai

    oracle training in bangalore

    oracle training in hyderabad

    oracle training

    oracle online training

    hadoop training in chennai

    hadoop training in bangalore

    ReplyDelete