Cloud computing means different to different people, its benefits are different to different people. To IT managers, it means to minimize cap-ex by outsourcing most of the hardware and software resources. To ISVs, it means to reach out to more users by offering a SaaS solution. To end users, it means to access an application from anywhere using any device. In this blog, I write about the evolution of cloud computing, why and how we got to cloud computing. The following diagram illustrates a high level overview.
In the beginning of the computing era, the relationship between the user and the machine was one-to-one. One user used to access the applications that (s)he needs to use on one machine. Then came the Internet era. In the Internet era, the relationship between the user and the machine was many-to-one. Many users could access applications running on one machine. The applications in this case were websites or client-server applications, the machine was a central server hosting the server application, web server or/and the database. In cloud computing, the relationship between the user and machine are many-to-many. Many users can access an application that is served from many machines. Now, what was the reason of this evolution? What were the driving factors behind this? The reason for the evolution from PC-based application to Internet-based application was obvious. This happened because of the need of multiple users trying to access an application from their own machines. The only way that it was possible was to have the application hosted on a central server and having separate client applications communicate to it. The evolution from internet-based applications to cloud computing, I think, is a bit more complex. There are several industry trends and user behaviors affecting this shift in the technology. We will get more into those in my next blog. Here, I touch upon what I believe is the biggest driving factor behind cloud computing. I believe that the most important driving factor behind the rise of cloud computing is – DATA. We are all aware of that we are living in the age of information of overload. The data that we need to consume increases exponentially every moment. More is the data, higher is the need to process it, more complex becomes the business processes, and it leads to the need of higher processing power. The ever increasing demand for processing power cannot be addressed using the traditional server and data center technology. Therefore, we now have cloud computing.