The concepts underlying cloud computing date back to at least 1960s, when American computer scientist John McCarthy said that "computation may someday be organized as a public utility". Cloud computing is still an evolving paradigm, but it seems well positioned to displace client-server computing model, much like it displaced mainframe based computing in the early 1980’s.
It may also be argued that cloud computing represents a return to a centralized (mainframe based) model, but at the next evolutionary level (including incorporation of some aspects of the client-server model and various new technologies) – with distributed systems and datacenters replacing the central mainframe; high-powered, reach media devices (personal computers, smart phones, etc.) replacing dumb terminals; and with more or less ubiquitous broadband Internet access replacing low bandwidth private communication links.
Previous attempts to bring about models similar in concept to cloud computing had limited success or simply failed. Sun Microsystems’ network based computing is a good example of that. It became best known by the phrase supposedly coined by John Gage (computer scientist, then at Sun Microsystems) - “The Network is the Computer”. The phrase was frequently used by then Sun Microsystems’ CEO Scott McNealy and pretty much became company’s motto, but the notion of network based computing gained little traction.
So, why does cloud computing popularity seem to grow by leaps and bounds? – It appears to be the right computing model and the right time. Cloud computing goes beyond its predecessors by incorporating results of the research on large scale computing by a number of universities, by building on innovations from Amazon, Google, IBM, Microsoft, and other cloud pioneers; and it is powered by recent advances in computer and communications technologies (increased capabilities and lower costs) as well as virtualization and other methods of infrastructure abstraction. Finally, cloud computing combines technological advances with economies of scale and an innovative business approach for an on-demand, utility-like model of allocation and consumption of computing resources.
National Institute of Standards and Technology (NIST) gives cloud computing the following definition – “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”