Cloud computing? A very relevant topic these days for individual consumers and businesses. Though many are still very unaware of its presence the cloud pretty much encompasses us all in at least one way or another. The cloud is simply a way in which a user can store and access data over the internet (Griffith, 2013). This also includes programs, software and even operating systems. So what does that mean? It means a user can access various resources and hardware that not already available, without depleting local resources like hard drive space and memory. With this being said businesses and users have the choice of using one piece of a cloud stack or all three as a completely integrated solution. This stack refers to the broad range of services built on top of one another, that enables ubiquitous, convenient, on- demand network access to a shared pool of configurable computing resources. Resources that include networks, servers, storage, applications, and service can be rapidly provisioned and released with minimal management efforts (Cloud Computing, n.d.).
The cloud computing stack includes Iaas (Infrastructure as a service), Paas (Platform as a service), and Saas (Software as a service). These flavors of the cloud are described by the following. Iaas, the bottom of the stack involves access to the core components of computing that powers it all, that includes access to servers, storage, networks, operating systems, etc. Paas, the middle of the stack offers a set of tools and services designed to make coding and deploying applications quick and efficient. Saas, the top of the stack are complete application solutions designed for end-users that is deployed over the internet (Kepes, n.d.). Access and control works its way up the stack, meaning the higher you are on the stack the less you have to manage. Over this past summer (2016) I had the chance to get hands on experience with this very feature. I had the chance spin up single servers as well as clusters of server nodes for as a research / proof of concept project for Altria. My documented allocation time of a single 16 cores and 224 GB of ram with Intel Xeon E5-2673 v3 (Haswell) processor was three mins, which included connecting to the VM via SSH. The objective of cloud computing is to allow users to benefit from advanced computing technologies, without the need of a deep knowledge or expertise of them. Powered by virtualization users and businesses are cutting costs associated with buying and managing these technologies (Cloud Computing, n.d.).
The term "Cloud Computing" became popular in 2006 when Amazon.com introduced Elastic cloud computing (EC2). Which I will talk about later in this paper. I want to start with the term "Grid Computing" that many are not familiar to hearing. Grid computing is defined as "the collection of computer resources from multiple locations to reach a common goal" (Grid Computing , n.d.). This model of computing started in the early 1990's and acts as a distributed system with non-interactive workloads that involve a large number of files (Grid Computing , n.d.). Grid computing can be used to solve large single problems and or tasks with parallel computing. Next, came Utility computing in the late 1990's which merely means "Pay and Use". This model of computing allows resources to be rented by customers, which is very similar to what we know as cloud computing today (Utility Computing, n.d.). The main benefit to using a Utility computing model is that businesses could have access to as much as a cluster of nodes or super computer. Without having to physically own or manage various resources used for this advanced construct. Next was the reemergence of Saas now to single users and small businesses. History dates Saas models back to the 1960's and mainframe providers like IBM. In the 1960's it didn't have a fancy name like it does today, it was simply known as "centralized hosting of business applications" (Software as a Service , n.d.). Later in the 1990's ASP's (Application service providers) started emerging, offering hosting of applications to customers over a network (Software as a Service , n.d.). The final form of hosting and what we know today is has coined a new name Saas and core structure. Since 2012, Saas vendors has expanded to a new level of flexibility by offering applications and software developed in house to customers. Today, with the advancement of the internet, Saas can be offered over the internet. On June 7, 2012 Oracle announced its Oracle Cloud, which was the first of its kind to provide users with access to an integrated set of IT solutions. These solutions are a sort of evolution of engulfing technologies all based on models I've previously discussed. Though many solutions have emerged because of this leap of evolution three stand out from the crowd Iaas, Paas, and Saas.