Research on distributed computing, grid computing, utility computing, and software services are the building blocks of cloud computing (Berman, Fox, & Hey, 2003; Feeney et al., 1974; Ross & Westerman, 2004; Vouk, 2008). As technology changes, many businesses are finding ways of leveraging new technologies. Cloud computing allows many businesses to gain a competitive advantage by leveraging advances in computers and networks.
In distributed computing systems, as depicted in Figure 2, computers interact with each other to achieve a computational goal. Distributed computing is a heterogeneous endeavor where each computer, using independent software, has a specific task to perform (Thain, Tannenbaum, & Livny, 2005). Distributed computing can handle complex tasks requiring a large amount of processing power. Distributed computing systems take advantage of software on different platforms. Similar to cloud computing, distributed computing allows software developers the ability to swap out system modules if they no longer meet the business needs.
Figure 2. Distributed Computing Systems
Grid computing, shown in Figure 3, an offshoot of distributed computing, is homogenous, loosely coupled, and scalable (Udoh, 2011). Grid computing utilizes a controller to rapidly scale processing power by bring more computers onto the grid when needed (Udoh, 2011). Grid computing uses inexpensive personal computers, creating a low-cost way for organizations to turn excess capacity into the computational power of super computers (Prez et al., 2009). Elastic computing is a core principle of grid computing. The controller can increase or decrease the number of computers being used to meet the computational needs with elastic computing (Krautheim, 2010).
Figure 3. Grid Computing
Utility computing, as depicted in Figure 4, takes the concept of elastic computing and applies a practical business application to it (Roy & Roy, 2005). Customers of the utility only pay for the services they are using. The consumer pays through a subscription or for the metered use services they are consuming (Krautheim, 2010). Information technology assets and services become consumable similar to a phone or electrical utility (Roy & Roy, 2005).
Utility computing can lead to lower cost of ownership on IT products by reducing the need for underutilized servers. Utility computing can also reduce the maintenance cost that can be a large part of an IT budget (Marston, 2011; Roy & Roy, 2005).
Figure 4. Utility Computing