Nowadays there is a lot of fuss about “THE CLOUD”. But do you really know what it has for you; I am going to reveal the most exquisite features of cloud computing in a very practical way.
Definition:
Cloud computing is Internet ("cloud-") based ‘development and use’ of computer technology ("computing"). The term cloud is used as a metaphor for the internet. This is the standard Wikipedia definition. The point to be kept in mind is that we can use the resources over the cloud online as well as develop our own applications. Also as its name (cloud) suggests you can’t touch the resources but you can make use of them.
Understanding the concept:
We can see cloud as a supercomputer having unlimited resources and memory. Whenever we want to make use of it we just need to register with our service provider.
Let us first understand the basic difference in architecture.
The diagram shows the normal 3 tier architecture followed everywhere. In this the requests from clients are processed by web servers by fetching the data from database servers. So if the traffic increases or the number of requests increases we have to install more web servers.
Now this diagram shows the architecture of cloud based applications where the capacity of web servers is grouped in a cloud. The most attractive feature is that we can request/release resources (in our case web servers) anytime and pay for them only when we are using them.
To improve our understanding let us take a sample scenario.
Suppose I start a new website with a chat application and assume that my web server can process only 100 requests at a time. Initially I have only 80 users so I deployed only one web server. If my website becomes popular and more users register for using chat application, then I need to buy and install more web servers. Again if the traffic increases my expenses will also increase simultaneously. But if at any point of time the traffic suddenly drops down and my website becomes a flop, still I would have to pay for all the web servers which are simply a waste of my capital.
Now, if I use the cloud based development, then if traffic increases I can request my cloud service provider to allocate more servers for me. And by any chance if traffic drops down I can again request him to remove those resources. So, I will be paying only when I am using a resource. Hurray! I saved a lot of money which is a priority for mercantile business.
Practically cloud computing is analogous to a taxi service. To understand the flexibility of the services let us take another example.
There are two places A and B (100 kms from A). I want to go to B from A. There are three approaches we can follow.
First, if I have my own car I will obviously use that. But the problems with your own car is that you have to bear the maintenance cost and If you have a 4-seater car and 6 people are planning to go, in that case you can’t change your car’s seating capacity.
Second, I can go through a bus or train (public transport). The comfort level is not up to the mark and I have to compromise. Also, I can’t demand any changes in the schedule.
Third, I can hire a taxi. This way is similar to cloud computing approach. Here all the problems are solved. I don’t have to worry regarding the maintenance cost, I can always ask for different taxi according to my need (seating capacity), I can also fix the time of travel according to my convenience and
“PAY ONLY WHEN I AM USING IT” i.e. according to the meter.
Cloud Computing services can be divided in three broad categories:
I. SaaS (Software as a Service)
This category of cloud computing delivers a single application through the browser to thousands of customers using a multitenant architecture. Like I can share a excel sheet with all my business partners and if anyone makes a change, they are made in the original copy and there is no need for duplication of a same file. E.g.
Google Apps
II. HaaS (Hardware as a Service)
The idea is not new, but this form of cloud computing is getting new life from Amazon.com, Sun, IBM, and others who now offer storage and virtual servers that we can access on demand. Early enterprise adopters mainly use utility computing for supplemental, non-mission-critical needs, but one day, they may replace parts of the data centres.
III. PaaS (Platform as a Service)
It is a SaaS variation, this form of cloud computing delivers development environments as a service. You build your own applications that run on the provider's infrastructure and are delivered to your users via the Internet from the provider's servers. E.g.
Windows Azure and
EyeOS(open source).
Risks:
Apart from all above advantages it also has some disadvantages.
First of all, the data of all the companies will be stored on the cloud and companies have to totally rely upon their cloud service providers for data backup. Second of all, as all the data is outside the company, its security is also an issue. But these little problems can be tackled by using good security measures and backing up data in regular intervals.
In a nutshell, I would like to say that future holds a lot of possibilities for cloud computing. As I see 20 years from now, if we need to learn, use and develop computer technology we only have to arrange a dumb computer terminal with a broadband internet connection, nothing else. ;-)