I’m sure most of us have heard this fancy term thrown around by a lot of tech geeks these days.
So what is cloud computing?
I have attempted to explain the concept by drawing some similar real world analogies in this article.
Just like electrical appliances need electricity to run, computer software needs some sort of a fuel to run on. In this case the fuel is the hardware that the software is deployed on. In olden days the electricity or the fuel required to perform simple domestic jobs like heating water, cooking etc. was sourced using energy created at home either by burning firewood or having a dedicated power grid installed to serve the domestic needs. Similarly the hardware required to run the software that we use was initially sourced locally by having data centres that house servers running the required software and with cloud computing they are being sourced from analogous hardware grids as a service. This service is provided by Cloud service providers(CSP’s). A CSP is analogous to the electricity board that generates and distributes power to our homes.
Now there are certain analogies that we can draw from the above comparison, just like how we only want to be concerned about the availability of the electricity supply and are not bothered about how the electricity is generated, we don’t want to be concerned about maintaining hardware to run software.
Let us think about what would happen if we had a small function at home and correspondingly we have a spike in the electricity consumption . If we were dependent on locally creating the required energy, we would have to have the infrastructure capable of generating the maximum energy we need. This infrastructure would become obsolete after the function is over, and the initial overhead costs involved in setting up the infrastructure would not be justified only for a temporary spike in electricity consumption.
So how have we been solving this issue ?
We draw electricity from a grid which supplies electricity from a power house and has the infrastructure in place to serve multiple customers based on demand.
So we don’t have to worry about setting up additional infrastructure to serve the consumption and maximise our involvement in making other arrangements for the party.
Similarly in the software world , there are multiple occasions when companies will have a huge spike in usage.
For example an e-commerce company like Walmart will have a large rush of customers visiting the website and using the mobile apps on Black Friday sale days.
Flipkart and Myntra will have a huge spike in users during the Diwali sales.
So traditionally these companies would set up the infrastructure to serve the usage spike. This infrastructure would lie idle on regular days. Now with the shift to the cloud, all that Flipkart or Walmart have to do is deploy the application on the Cloud and the application would scale as the users spike, creating multiple instances of the software application on new hardware based on demand. This is again analogous to the electricity grid where you can draw as much electricity as you need from the grid.
So cloud computing solved a very important problem faced by many companies that is scalability, and it did so by simply making the fuel required to run the software available as a simple service.
Also now that the service was available on demand, we no longer need the expensive infrastructure required to maintain the up time of the application during peak hours.This is also good because this same infrastructure would be idle at regular loads.
So this brought in an elastic feature wherein there was as much fuel as required by the application, since it was sourced from the grid.
Not too much when there was low usage and not too little when there was high usage.
Just like in our function at home situation, where we could focus on making the arrangements for the function instead of diverting our energy on creating the energy required, Cloud gave Software companies the freedom to focus on core product, business development and simplified the infrastructure creation and maintenance .
It also gave software companies the freedom to experiment on new ideas by creating the software application on the cloud and testing the hypothesis.
If it worked, great. Since the software is hosted on cloud it can scale. If it didn’t meet expectations, not a problem as the company didn’t acquire expensive hardware specifically to run this experiment.
It is also one of the major reasons we see so many web based startups coming up. In fact Software startups are considered to be ready for VC funding if they have a solid IT infrastructure setup and with the coming up of Cloud Computing services offered by CSP’s this can be easily taken care of.
So as we can clearly see,
Cloud computing has a lot of pros few of which have been discussed in this article and like with everything in this world it has its set of cons as well.
We shall discuss them in detail in another article.
Originally published here