What is Cloud Computing?

The National Institute of Standards and Technology, US Department of Commerce (NIST), defines cloud computing as “a model for enabling ubiquitous, 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 effort or service provider interaction” [3].

Cloud computing is a new term for the long-held belief of utility computing [7]. In 1965 part of Western Union’s plan was to become an ‘information utility’ [5]. In 1969, Leonard Kleinrock, a chief scientist of Advanced Research Projects Agency Network (ARPANET) which seeded the internet explained “as of now, computer networks are still in their infancy, but as they grow up and become sophisticated, we will probably see the spread of ‘computer utilities’ which, like present electric and telephone utilities, will service individual homes and offices across the country” [9].

Like other technologies, computer science has matured over the years with the current trend being cloud computing. In the 1950’s large mainframe computers were the future of computing. Mainframes did not have internal processing capabilities but were used for communication. Mainframes were considered dumb terminals. From mainframe computers, time sharing developed. This technology allowed users to share CPU time as well as multiple terminals giving users access to the computing capabilities physically. Next came cluster computers. These computers can be perceived as an individual system but are computers that work together although they are tightly or loosely connected. In cluster computing each node is established to achieve the same task which is scheduled and controlled by software. Cluster computing is limiting because the software is purpose-built per task. Purpose-built per task does not allow for casual computing. Grid computing evolved thereafter. Grid computing is considered to have non-interactive workloads involving large number of data files and is a dispersed system. Grid computing integrates four components: information, networking, computation and communication. One of the main disadvantages of grid computing is that is relies on dispersed data management and connectivity. Both of these features, dispersed data management and connectivity, are core features in cloud computing. The present trend in computing is cloud computing. Cloud computing reveals next generation application architecture.



Figure 1 from Google trends depicts the comparison of Grid computing vs. Cloud computing. Cloud computing refers to applications services delivered over the internet as well as the datacenter including the software and hardware systems provided by those services [7].

The Cloud model, as it exists now, consists of five fundamental characteristics, three core technologies and four deployment models according to the National Institute of Standards and Technology [3].