Thursday, November 26, 2009

Cloud Computing

I have been researching about Cloud computing for one of the projects i am working on rite now. It was amazing to see the services offered through cloud computing.

In the traditional application development model, if there is a need to develop and host a internet facing applications, we need to do the capacity, infrastructure, security planning and purchase hardwares (windows, unix, websphere servers) and softwares. The process of setting up the infrastructure takes few weeks to couple months since it has to go through neccessary approvals and budgetary constraints of the organization. Lets say we crossed the first bottleneck of acquiring hardwares/softwares, the next hurdle is having the infrastructure laid down by the network group and setting up the secure environment with the Militarized zones for security purpose. Also a point to note is, if the application is mission critical and have heavy volume online transactions the capacity planning will also include the details for load balancing of the servers and the infrastructure design and environemnt set up has to account for the installation of load balancers.

Also cost wise in the traditional model, its very expensive to maintain and manage the infrastructure. The project will incur an annual maintanance cost for the servers, licenses and support to install patches and upgrades.

I think i am throwing things that is pretty normal in IT organizations. Well, the cloud computing provides a relief to all these hurdles.

The cloud computing provides the infrastructure and technology facilities over the internet. So the project team doesn't need to worry about establishing the infrastructure. The technology infrastructure is abstracted from the application development. We just need to know the type of infrastructure required for the application (For eg: windows 2008 , unix with ORACLE 10g etc.,). Once the type of technology infrasture has been determined, we can install/set up the hardwares/softwares through couple of mouse clicks and the instances will be ready to use. The infrastructure set up takes around 10-20mins and you are all set to begin development/deployment.

The cloud computing alleviates the effort/cost required to set up the infrastructure and also saves the maintanance cost. One more good thing about cloud computing is the cloud service providers automatically patche the instance/server and its free of cost.

One more point to note in cloud is, if for any reason the application requires additional servers/processing power, adding few more instance to the existing instance is pretty easy. For ex; lets say if the application requires few additioanl processing power from 8AM-5PM and can run with the normal processing power during the rest of the day, the cloud computing provides elastic facility to expand/contract the computing capacity of the server.

From cost perspective, we pay for what we use in terms of computing facility.

I was playing around with Amazon Elastic cloud and was suprised to see that within few mouse clicks i was able to mount the Unix with the ORACLE 10g database instance.

There are several providers in the cloud space but i just looked at services provided by Amazon and its extra-ordinary.

No comments: