Some years ago the idea of using “the cloud” came up as an option to host our software developments, but what it’s the cloud about?
The Cloud Computing concept refers to the computational resource (software, storage, processing) that can be accessed from anywhere through a WAN network and why not from the internet. Many of us use every day, and since long ago, services such as webmails, google docs, dropbox.com, etc. These are the first generation of services in the cloud.
Microsoft and Google decided to take a step further in the Cloud Computing field and from some time ago they are offering processing and storage platforms where we can install our applications and in this way ensure that our developments work in the cloud.
Some of you may wonder which is the difference between these servers and the traditional hosting services or from having our own server connected to internet. The biggest benefit from Microsoft platforms (http://http://www.microsoft.com/windowsazure/) and Google (http://http://code.google.com/intl/en/appengine/) is that they allow to scale the hardware and storage depending on the demand of your own business.
For example, suppose we had developed a game for Facebook and that we had estimated it will receive 2000 daily hits, so we stocked the necessary hardware. What if, during the life of the project, the game was visited by 20000? In this case we would need to acquire a new hardware, install it and set it so our application can support the new demand. This infrastructure expansion will entail monetary costs and delay time, during which visitors will receive a lower quality service.
Given the above situation the “Cloud as Platform” services allow us to simply increase the number of servers that run our application, allowing us to give a quick response to our users demand.
These new tools allow us to have the necessary infrastructure according to our business needs. So the next time we need to estimate our hardware requirements for an application in which is hard to predict the number of users or which demands a high processing capacity for periods of time bounded, think that in the cloud you can find the solution.
by Juan Inzaurraga, Hexacta