Cloud Computing: A Comprehensive Introduction: Dsianita@Uky - Edu
Cloud Computing: A Comprehensive Introduction: Dsianita@Uky - Edu
Cloud Computing: A Comprehensive Introduction: Dsianita@Uky - Edu
RAM PAKATH
2
DEPARTMENT OF FINANCE AND QUANTITATIVE METHODS
[email protected] (CORRESPONDING AUTHOR)
I. INTRODUCTION
Cloud Computing refers to providing computing and communications-related services with the
aid of remotely-located, network-based resources without a user of such resources having to own these
resources. The network in question typically, though not necessarily, is the Internet. The resources
provisioned encompass a range of services including data, software, storage, security, and so on. For
example, when we use a mail service such as Gmail, watch a movie on YouTube, shop at Amazon.com,
or store files using DropBox, we are using cloud-based resources (The Google Chrome Team, 2010). In
this chapter we examine the evolution of Cloud Computing from its early roots in mainframe-based
computing to the present day and also explain the different services rendered by Cloud Computing in
today’s business and personal computing contexts. This chapter provides a comprehensive view of the
rapidly flourishing field of Cloud Computing and sets the stage for more in-depth discussions on its
The adjective “Cloud” in Cloud Computing refers to the network used for service provisioning. In
diagrams describing cloud-based services, the cloud is often literally depicted as the outline of a hand-
drawn cloud on paper. The use of cloud-like shapes in diagrams depicting networks such as the Internet
Page 2 of 37
dates back many years and is a staple of mainstream text books and articles on data communication
networks. The term “Cloud Computing,” though, is relatively new. To better comprehend this relatively
nascent phenomenon, let us go back in computing history and examine earlier models of provisioning
services over a communications network, i.e., the precursors of present-day Cloud Computing.
The early 1950s saw the advent of commercial “mainframe” computers such as the IBM 701.
These computers were single-user, non-shareable, one-job-at-a-time systems and were rented by
companies for about $25,000 a month. Several programmers signed up, on a first-come-first-served
basis, for “sessions” on a mainframe where each session was a block of time dedicated to processing a
single “job” (i.e., a program). Each programmer took about 5 minutes to set-up his/her job including
punching in at a mechanical clock, hanging a magnetic tape, loading a punched card deck, and pressing a
“load” button to begin job processing (Chunawala, n.d.). Inefficiencies in the process due to excessive
manual intervention resulted in much wasted processing time even as jobs were queued and often
delayed.
To improve process efficiency, General Motors (GM) and North American Aviation (NAA) (today,
part of Boeing) developed an operating system, the GM NAA I/O (Input/Output) system and put it into
production in 1956 (Chunawala, n.d.). This heralded the advent of “batch processing” where multiple
jobs could be set up at once and each run to completion without manual intervention (“Batch
Processing”, n.d.). Further improvements were realized with the advent of the IBM System 360
mainframe in 1964 which separated I/O tasks from the CPU (Central Processing Unit) and farmed these
out to an I/O sub-system, thus freeing up the CPU to perform computations required by a second job
when another job was interrupted for I/O operations. Batch processing offered several benefits:
Individual jobs in a batch could be processed at different times based on resource availability, system
Page 3 of 37
idle time was reduced, system utilization rates were improved and, as a consequence, per-job
With batch processing, a computer’s time is considered considerably more valuable than a
human’s and human work is scheduled around the machine’s availability. In contrast, “interactive
computing,” considers a human’s time as being the more valuable and views a computer only as a
capable “assistant.” Early implementations of interactive computing include the IBM 601 that allowed a
single user interactive use at a time. However, allowing one user to monopolize a scarce resource also
resulted in considerable inefficiency in resource utilization. On the other hand, offering several
interactive users seemingly concurrent usage would result in better use of the electronic assistant
(“Interactive Computing”, n.d.). In 1961 MIT introduced the world’s first Time Sharing Operating System,
the Compatible Time Sharing System (CTSS). In due course, IBM introduced a Time Sharing Option (TSO)
in the OS 360 operating system used in the IBM System 360. Time Sharing introduced further processing
efficiencies over batch processing. Rather than process a job in its entirety, time sharing would devote a
short duration of time called a “time slice” to processing a job and then turns to devote similar attention
to another job. The CPU so rapidly switches from job to job that it appears to each user that his/her job
has the full and complete attention of the CPU -- a user experiences no noticeable delays.
A natural outgrowth of interactive computing was remote access to a computer via terminals.
Several terminals were “multiplexed” over telephone lines using individual modems to connect users to
a single mainframe. Shared mainframe interactive access and use via multiplexed terminals and the
telephone network may be regarded the earliest Cloud Computing model although it was then referred
to as Time-Sharing. In the 1960s, several vendors offered Time-Sharing “services” to businesses. These
included Tymshare, National CSS, Dial Data, and BBN using equipment (mainframe and minicomputers)
The advent of commercially–viable personal computers (PCs) from Apple, Commodore, and
Tandy Corp., coupled with the rising use of PCs beginning in the late 70s and well into the 80s and
beyond heralded the decline of Time-Sharing with larger (mainframe and mini) computers (Scardino,
2005). Initially, PCs, apart from use for business computing using software like VisiCalc (spreadsheet)
and Lazy Writer (word processing), were also used as terminals to connect to the larger machines by
running terminal emulation software. Soon the market opened up to vendors like Atari, TI, NEC and
others. In 1981, IBM entered the fray with its IBM PC. In due course, many users discovered that the
combined processing capability of a number of networked PCs was sufficient to meet their needs. Such
In peer-to-peer (or P2P) computing, each computer in the network can act as both a service
requestor and a service provider for the remaining computers in the network/cloud. This facilitated the
sharing of expensive and/or scarce resources such as data files, printers, scanners, hard disks, and tape
drives. There is no central authority or “master,” like a mainframe in time-sharing, where each terminal
acted in a subservient, “slave” role and only when the mainframe made time available for it. In a P2P
network, every computer could act as master or slave at different epochs. P2P networks enabled intra-
and inter-organizational networks with each additional computer added to the network bringing added
capability to the system. At the same time, the network was more resilient than one with a master-slave
arrangement as it did not have the vulnerability of a single point of failure – if one or a few nodes (i.e.,
PCs) in a P2P network were to fail, the rest of the “cloud” could continue operating.
The Internet, originally conceived as the ARPANET in the late 1960s by the US Department of
Defense, was a P2P system (Minar and Hedlund, 2001). Its goal was to facilitate the sharing of
computing resources around the U.S. using a common network architecture that would allow every host
to be an equal player. Whereas early, widely-used applications like Telnet and FTP were Client-Server
Page 5 of 37
applications, the system as a whole was P2P as every Internet host could Telnet or FTP any other host
and hosts were not associated in master-slave relationships. The widespread deployment of PCs, first in
businesses and then in homes, fueled the rapid proliferation of P2P computing in the 80s and after.
Personal Computers were also exploited in a different manner which may be seen as a via-media
between the completely autocratic mainframe-dumb terminal model and the fully democratic P2P
model. The Client-Server model was introduced by Xerox PARC (Palo Alto Research Center) in the 70s.
This model assigns one of two roles, namely client (i.e., slave) or server (i.e., master) to every computer
on a network. Thus, a single computer may not act as client or server like in the P2P model. At the same
time, the network is not restricted to hosting multiple, weak clients (i.e., terminals) tethered to a single,
powerful, server as in mainframe-terminal networks. A server makes available resources in its purview
that a client seeks. Each server also deals with multiple client requests and does so in a time-shared
The Internet, which started out as largely a P2P network, morphed over time into a largely
client-server network. This transition was accelerated by the Internet boom of the mid 90s when the
general public, and not just scientists, flocked to the net as a means for email exchanges, web browsing,
and online shopping. This transformation has continued until the post-year 1998 re-emergence of P2P
applications like Napster, Gnutella, Kazaa, and BitTorrent for music, movie, and game file-sharing.
Indications are that the Internet will likely continue as a hybrid environment hosting both P2Pand Client-
Yet another paradigm in Cloud Computing’s evolution is Grid Computing whose origins date
back to the 90s. This paradigm was motivated by analogy to the electrical power grid that provides
pervasive, dependable, and consistent access to utility power (“Grid Computing”, n.d.). Grid Computing
Page 6 of 37
is a variant of Cluster Computing with the difference being that the computers on a grid could be
Computing also differs from conventional Distributed Computing by emphasizing large-scale resource
self-tuning, and self-healing. Together the members of a grid form a “virtual” super-computer whose
power and resources are available to a user based on resource availability, capability, performance, cost,
and quality-of-service expectations. Grid Computing systems are devoted to processing complicated
tasks such as the search for extra-terrestrial intelligence (SETI), protein folding, drug design, molecular
modeling, financial modeling, high-energy physics, brain activity analysis, earthquake and warfare
simulation, and climate/weather modeling (“Grid Computing Info Center”, n.d.). An especially large Grid
Computing system is the WLCG (Worldwide LHC Computing Grid) spanning more than 170 computing
centers in 36 countries. Its purpose is to store, distribute, and analyze the near-25 petabytes of data
generated every year by the Large Hadron Collider (LHC) at CERN (Conseil Europeen pour la Recherche
Nucleaire (French), or the European Council for Nuclear Research), Geneva (“Worldwide LHC Computing
Grid”, n.d.).
The Utility Computing model was also inspired by utility services like electricity but in a manner
different from Grid Computing. Utility Computing drew its inspiration from how public utility customers
pay metered rates based on usage. In similar spirit, Utility Computing seeks to make available cloud-
based computing resources to customers for payment based on usage. In essence, a user outsources all
or part of its computing resource needs to another entity, the Utility Computing services provider
(Strickland, 2008). The key distinguishing characteristic is that the fee for services is not a flat fee but is
usage based. The benefits to a user are that it is absolved of owning such resources and of attendant
Page 7 of 37
Though the term “Utility Computing” was first postulated in 1961, companies like IBM with their
mainframe time-sharing models were, in a sense, pioneers in Utility Computing (“Utility Computing”,
n.d.). Following the decline in mainframe demand and the emergence of PCs, Utility Computing
resurfaced in the late 1990s and early 2000s with vendors like InSynQ, HP, Sun Microsystems and Alexa
establishing Utility Computing services. Today, Utility Computing vendors include well-recognized names
like IBM, Amazon, and Google. Of the various Cloud Computing-related historical milestones discussed
thus far, the Utility Computing paradigm is perhaps closest in spirit to present-day Cloud Computing and
also the cause for much confusion as to what distinguishes it from Cloud Computing.
2.5 Virtualization:
simulated creation of something – a computer, an operating system, a storage device, or any other
instance of it. This concept dates back many decades and was pioneered beginning in the early 1960’s by
entities like GE, IBM, MIT, and Bell Labs. Following a few years of experimenting with one-off, laboratory
versions of the concept, the IBM CP-67 mainframe, launched in 1968 and running the CP-CMS operating
system, was the first commercial computer to support Virtualization and was installed at eight customer
There are several kinds of Virtualization in the computing world. A discussion encompassing all
of these kinds is beyond the present scope. Hardware or Platform Virtualization is a common instance
that we describe next. In general, Hardware Virtualization results in the creation of one or more “guest”
or “virtual” machines (VM) running within a “host” or “actual” machine. This may be accomplished with
the aid of software generally called a Hypervisor or Virtual Machine Monitor(VMM). Examples of VMMs
Page 8 of 37
include Microsoft’s Virtual Server, VMWare’s GSX, and IBM’s VM/ESA. To each of many guest users
supported by a single host, it appears as if an isolated, self-contained computer is available for his/her
use although each of these is a virtual machine and not an actual/physical computer. The extent of
virtualization in Hardware Virtualization could also differ. There are three levels of Hardware
Virtualization called Full Virtualization (near-complete hardware environment simulation to allow guest
applications to run un-modified), Partial Virtualization (some hardware environment elements, but not
all, are simulated permitting some applications to run un-modified), and Para Virtualization (absolutely
no hardware environment simulation but guest applications run in isolated domains and must be
modified).
Two common forms of Hardware Virtualization are Server Virtualization and Desktop
Virtualization. Thus a single, physical (i.e., host) server could support multiple virtual servers, resulting in
fewer physical server instances, energy savings, and maintenance ease. Desktop Virtualization (also
called Desktop as a Service (DTaaS), Virtual Desktop, or Hosted Desktop Services) allows users to access
an entire computing environment via a remote client device such as a smartphone, tablet, or laptop by
running desktops as Virtual Machines on a provider’s server where all desktop user environments are
managed and secured. Further, DTaaS allows sharing of virtual desktops among multiple users. By
outsourcing Desktop Virtualization, issues such as resource provisioning, load balancing, networking,
back-end data storage, backup, security, and upgrades are handled by DTaaS providers such as Citrix.
Note that Hardware Virtualization is distinct from Time Sharing. Traditional Time Sharing
devotes an entire host computer to multiple users but at different times -- we do not create multiple,
self-contained machines, all concurrently available to multiple users. With Virtualization (Beal, 2012),
there is the potential for more efficient use of resources (i.e., fewer physical machines, better space
efficiency, better energy efficiency (reduced electrical consumption and reduced cooling costs), better
security (each user could be running a separate operating system and not sharing one), and increased
Page 9 of 37
reliability (a single user could not crash the entire system, only his/her Virtual Machine). However,
Virtualization also exacts a toll – the more VMs that are deployed, the greater the potential degradation
in performance of each VM and there still are privacy and security risks to the multiple users sharing a
single physical host. Even so, as we shall see subsequently in this chapter, Virtualization is being
(SOA). SOA allows an application’s business logic or individual functions to be modularized and
presented as services for other consumer/client applications (Kodali, 2005). These service modules are
“loosely coupled” in the sense that the service interface of a module is independent of its
implementation. As such, application developers or system integrators can build applications by drawing
upon service modules as needed without regard to their underlying implementation details. For
instance, a service can be implemented either in .Net or J2EE (Java 2 Platform Enterprise Edition), and
the application consuming the service could use a different platform or language. Each module offers a
small range of simple services to other components. The modules can be combined and re-combined in
numerous ways and comprise a highly flexible information technology (IT) applications infrastructure.
Thus, SOA is an approach to building IT systems that allows a business to leverage existing assets, create
new ones, and easily enable changes that businesses inevitably must accommodate over time (Hurwitz
et al., 2013).
Note that the emphasis of SOA is on software reusability – don’t “throw away” effort already
put in nor spend time re-inventing the wheel as with coding each application from scratch. With the
emphasis on re-using simple code modules, a company does not experience the traditional development
and maintenance time and cost drawbacks commonly associated with a proliferation of expensive,
monolithic systems drawing on heterogeneous technology. Each software module in SOA is something
Page 10 of 37
that provides a business service and these business services are invariably shared by many different
applications company wide. Through software redundancy reduction or elimination, SOA provides much
of the same benefits associated with software consistency, maintainability, and scalability (Hurwitz et
al., 2013).
The above-discussed computing paradigms, while distinct from one another in some respects,
also possess shared traits. A predominant common characteristic is that all of them involve provisioning
shared resources over a networked infrastructure that we call a “cloud.” Today, though, there is
considerable brouhaha over the most recent paradigm in this evolutionary chain, called Cloud
Computing.
What is Cloud Computing and how does it differ, if at all, from any or all of the paradigms just
discussed? There is considerable confusion surrounding the term. This confusion is not restricted just to
the lay person or prospective clients of the service. At Oracle OpenWorld 2008, Oracle Corp. CEO Larry
“The interesting thing about Cloud Computing is that we've redefined Cloud Computing to
include everything that we already do. I can't think of anything that isn't Cloud Computing with all of
these announcements. The computer industry is the only industry that is more fashion-driven than
women's fashion. “
“We'll make Cloud Computing announcements. I'm not going to fight this thing. But I don't
The computing community at large was (and, perhaps, is) divided … about half believed that
Ellison was absolutely correct in his assessment and the other regarded him as a heretic. To us, Ellison
was not arguing that Cloud Computing was a fad but that the label was a fad and that he and others had
Page 11 of 37
been practicing Cloud Computing in one form or another for a number of years without using the label
Cloud Computing. More recently, Ellison followed through on his second observation and, as recently as
September 2012, announced the launch of an Infrastructure-as-a-Service (IaaS) cloud service (Bort,
2012), one of several possible services we discuss subsequently in Section 4. Examining available
literature on Cloud Computing lends credence to Ellison’s viewpoint as many explanations of Cloud
“Just like water from the tap in your kitchen, Cloud Computing services can be turned on or off
quickly as needed. Like at the water company, there is a team of dedicated professionals making sure
the service provided is safe, secure and available on a 24/7 basis. When the tap isn’t on, not only are you
saving water, but you aren’t paying for resources you don’t currently need.”
This explanation begs the question, “What, then, is Utility Computing? “ and adds to the confusion in an
already confused client-base. On the other hand, there are other descriptions that better articulate what
The National Institute of Standards and Technology (NIST) defines Cloud Computing thus (Mell
“Cloud Computing is 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 management effort or service
provider interaction. “
The key insight on how Cloud Computing differs from its predecessors is contained in the latter
portion of this definition that we have italicized for emphasis. Perry (2008) elaborates on this aspect:
“The big news is for application developers and IT operations. Done right, Cloud Computing
allows them to develop, deploy and run applications that can easily grow capacity (scalability), work fast
(performance), and never — or at least rarely — fail (reliability), all without any concern as to the nature
Page 12 of 37
and location of the underlying infrastructure. …. So although they are often lumped together, the
differences between Utility Computing and Cloud Computing are crucial. Utility Computing relates to the
business model in which application infrastructure resources — hardware and/or software — are
delivered. While Cloud Computing relates to the way we design, build, deploy and run applications that
operate in a virtualized environment, sharing resources and boasting the ability to dynamically grow,
We see that while the distinction between Cloud Computing and its predecessors (most notably,
Utility Computing) might appear ambiguous from a consumer standpoint, there is a clear distinction
from a provider perspective. The focus of Cloud Computing is on mitigating or eliminating problems
associated with traditional application development and freeing up organizational IT units to focus on
business strategy and how to best leverage cloud-based IT to support that strategy. As should become
evident in our discussions that follow, Cloud Computing, depending on needs, draws upon many of the
earlier paradigms such as Utility and Grid Computing, Client-Server and Peer-to-Peer Computing,
Virtualization, and Service-Oriented Architecture. These earlier paradigms comprise the building blocks
To date, four models for Cloud Computing services deployment have been defined – Private
Cloud, Public Cloud, Community Cloud, and Hybrid Cloud (“Cloud Computing”, n.d.). We discuss and
A Private Cloud (InfoWorld, n.d.) is cloud infrastructure established for sole use by a single
organization. It is also referred to as an Internal Cloud or Corporate Cloud (Rouse, 2009a). Either the
organization’s corporate network and data center administrators become cloud service providers
operating behind the corporate firewall or the Private Cloud is hosted by a third-party provider solely for
Page 13 of 37
the organization. Either way, such a cloud serves the organization’s “internal” customers and no one
virtualizing the business environment. In essence, the organization must acquire, build, and manage
such a cloud all of which calls for substantial resource investments. An outsourced Private Cloud also is
more expensive than a Public Cloud. Thus, a Private Cloud usually negates the cost advantages that
accrue with outsourcing IT infrastructure which is a primary goal of migrating to the cloud for many
organizations. Yet some organizations have sought to establish Private Clouds for reasons other than
cost savings, such as better control, security, privacy, customization flexibility, and reliability, vis-à-vis a
Private Cloud toolkits include IBM’s Web Sphere CloudBurst Appliance, HPs CloudStart, and
Amazon’s Virtual Private Cloud. Third-party Private Cloud vendors such as Sabre Holdings establish
Private Clouds for individual airlines and Siemens has set up individual secure, virtual test centers for its
partner organizations. Other examples of Private Cloud implementation include NASA’s Nebula and the
US Defense Information Systems Agency’s Rapid Access Computing Environment (RACE) program
(McKendrick, 2010). As is evident from these examples, Private Clouds tend to be deployed by large
A Public Cloud (Rouse, 2009b) is one that is operated and managed at datacenters belonging to
service providers and shared by multiple customers (multi-tenancy). As such, it does not reside behind
an organization’s corporate firewall nor is it meant for exclusive use. Multi-tenancy results in lower costs
A recent Trend Micro survey (Subramanian, 2011b) of 1200 organizations with at least 500
employees in 6 countries notes that 93% indicated that they were using at least one cloud service
provider, 38% felt that their cloud service providers were failing to meet their IT and business needs,
Page 14 of 37
43% had a security lapse in the last year, 55% were concerned about un-encrypted shared storage, and
85% chose to encrypt and also keep local copies of all files in the cloud. Apart from security-related
concerns, multi-tenancy also means susceptibility to resource contention issues between tenants,
reduced control, reduced infrastructure visibility/transparency, and having to cope with varied
locations worldwide.
Public Cloud toolkit vendors include the Elastic Compute Cloud (EC2) from Amazon, Blue Cloud
from IBM, the Azure Services Platform from Microsoft, and AppEngine from Google. Illustrative case
Ireland), an online movie rental company (Netflix), a city council (Sunderland City), a TV Channel
(Channel 4), and others may be found at “Public Cloud Examples and Case Studies” (n.d.).
A Hybrid Cloud, sometimes called a Cloud Federation, is one that is composed of at least one
Private Cloud and at least one Public Cloud (Rouse, 2010). A Hybrid Cloud is a via-media between
choosing just Public or Private Clouds given their respective strengths and weaknesses discussed above.
Some organizations deploy both types of clouds with mission-critical applications or inward-
facing applications deployed on Private Clouds and other applications (including external-facing
applications) deployed on Public Clouds. Another motivation for Hybrid Clouds is Cloud Bursting, where
an application running on a Private Cloud is dynamically deployed on a Public Cloud during a demand
surge (Subramanian, 2011a). Some suggest that the Hybrid Cloud is an intermediate stage, with
organizations moving more content to Public Clouds as that environment matures but using Private
Clouds for critical applications in the interim. A Hybrid Cloud makes the migration easier to achieve.
We just discussed two extreme cloud types (Private and Public) and a combination type (Hybrid)
that imbibes some of each of the two extreme types. A fourth approach, the Community Cloud, is also a
hybrid cloud but in quite a different sense. A Community Cloud, like a Public Cloud, employs a multi-
tenant infrastructure. However, all members of the community belong to a specific group with common
computing concerns related to service levels, security, regulatory compliance, etc. (Rouse, 2012). These
concerns are addressed to the community’s satisfaction by a Community Cloud and in that sense they
receive Private Cloud-like benefits. The intent is to take advantage of the benefits of the Public and
Private Cloud types all within the same cloud. A Community Cloud can be co-located and governed by
The “community” in a Community Cloud may be a specific vertical industry such as education,
government, or healthcare (Butler, 2012). Thus, a Healthcare Community Cloud is one customized for
members of that industry. Community Cloud toolkits include IGT Cloud from International Game
Technology devoted to gaming companies, the Optum Health Cloud from United Health Group intended
for the healthcare community, Creative Cloud from Adobe for creative professionals (O’Dell, 2012), and
the Global Financial Services Cloud from CFN services . An example application of this strategy is the
Community Cloud deployed by the Virginia Community College Systems (VCCS) to serve its 23 colleges
Given our understanding of the term “Cloud Computing,” its evolution, and models for
deployment, we next turn to examining the different services rendered by Cloud Computing in response
to customer needs. Figure 1 pictorially depicts the various Cloud Computing services and provider and
customer interactions with the cloud and its services using wired and wireless devices. These services
span a client’s infrastructure needs, application needs, security needs, storage needs, and so forth. We
According to the NIST, Infrastructure as a Service (IaaS), together with Platform as a Service
(PaaS) and Software as a Service (SaaS), are the three fundamental Cloud Computing service models
(Mell and Grance, 2011). These three service models follow a computer’s architecture and provide
services at the hardware, system, and application level respectively (Zhou et al., 2010). We discuss the
three basic variants and sub-classes within each in the following sections as well as a few other service
memory, storage, and networks for cloud users to run their applications on-demand (Stallings and Case,
2013). This allows users to maximize the utilization of computing capacities without having to own and
Page 17 of 37
manage their own resources. It represents a paradigm shift from viewing infrastructure as an asset to
regarding it as an outsourced service. IaaS providers (e.g., Amazon EC2, Windows Azure Virtual
Machines, Google Compute Engine) host computers as Virtual Machines that are managed by low-level
codes called hypervisors such as Xen or KVM to meet users’ computing needs. IaaS users pay for
resources allocated and consumed on a Utility Computing basis and enjoy the flexibility of dynamically
scaling their computing infrastructure up or down according to resource demands without incurring
capital expenditures on these resources that are often underutilized (Hurwitz et al., 2012).
Network as a Service (NaaS), an instance of IaaS, provides users with needed data
communication capacity to accommodate bursts in data traffic during data-intensive activities such as
video conferencing or large file downloads. NaaS providers (e.g., Verizon, AT&T) operate using three
common service models: virtual private network (VPN), bandwidth on demand (BoD), and mobile virtual
network (MVN). VPN extends a private network’s functionality and policies across public networks such
as the Internet. BoD dynamically allocates bandwidth to bursty traffic demands by multiple users. MVN
is a mobile network that is not owned by a mobile services provider but is leased from an entity that
owns the infrastructure. In essence, the lessor provides NaaS to the lessee, who in turn provides
needed services to end consumers (i.e., is a reseller). By considering networking and computing
resources as a whole, NaaS providers are better able to optimize these resource allocations to users with
basis to users who want a low-cost and convenient way to store data, synchronize data across multiple
devises, manage offsite backups, mitigate risks of disaster recovery, and preserve records for the long-
term. With data growing at an annual rate of over 20%, storage capacity requirements will need to be
Page 18 of 37
doubled every two to three years (Marko, 2012). According to InformationWeek Analytics Public Cloud
Storage Survey, archiving emails and meeting retention policies were the top reasons for storage growth
(Biddick, 2011). By outsourcing storage to STaaS providers (e.g., Amazon Simple Storage Service, IBM
Tivoli Storage Manager), users shift the burden of capacity management, operations, and maintenance
to the provider. In addition, the growing use of mobile devices such as smartphones, laptops, and
tablets to access company data will intensify the need for data consolidation and synchronization. STaaS
users have access to their data anytime anywhere over the Internet. They can specify how often and
what data should be backed up. They can also request a copy of the data in case of data corruption or
loss. Indeed, backup, disaster recovery, file archiving and email archiving were the top reasons that
organizations were considering cloud storage (Biddick, 2011). However, concerns over security, privacy,
reliability, availability, performance, data loss and service disruptions, especially for industries such as
healthcare, financials, and legal services, may prevent users from using STaaS to store their primary (or
mission-critical) data.
Database as a Service (DBaaS), also related to IaaS, provides users with seamless mechanisms to
create, store, and access databases at a host site on demand. DBaaS providers are also responsible for
the management of the entire database including backup, administration, restoration, reorganization,
and migration. Cloud-based database systems such as Google BigTable, Amazon Simple DB, and Apache
HBase allow users to submit queries to databases with generic schemas. Google Cloud SQL allows users
to create, configure, and use relational databases within Google App Engine applications. Data privacy
and security remain the key concerns with DBaaS (Lehner, W. and Sattler, K., 2010).
Backend as a Service (BaaS), a type of IaaS, provides web and mobile app developers a way to
connect their applications to backend cloud storage with added services such as user management, push
Page 19 of 37
notifications, social network services integration using custom software development kits and
application programming interfaces. BaaS users save time and effort in having a consistent way to
Desktop Virtualization. We refer the reader to a brief description that appears in Section 2.5 on
Virtualization.
Platform as a Service (PaaS), a system level service, provides users with a computing platform for
the development, testing, deployment, and management of applications (Stallings and Case, 2013).
Users build their own applications using programming languages and tools supported by PaaS providers.
These applications then run on a provider’s infrastructure and/or are delivered to end-users via the
Internet from the provider’s servers. PaaS providers (e.g., Amazon Elastic Beanstalk, Windows Azure
Compute, and Google App Engine) bring together middleware such as databases, operating systems,
and tools to support software development and delivery on a pay-per-use basis. PaaS users gain
efficiency and productivity with a standardized application development process without the cost and
complexity of allocating computer and storage resources to match demand for development and testing
Software as a Service (SaaS), an application level service, allows users to access provider’s
applications from various devices through a thin client interface such as a web browser (Stallings and
Case, 2013). SaaS providers (the best known example is salesforce.com) use a multi-tenant architecture
to deliver a single application to thousands of users on a subscription basis. SaaS users gain access to
needed applications without the hassles associated with software licensing, installation, maintenance,
Page 20 of 37
upgrades, and applying patches. SaaS is especially appealing to small businesses that cannot afford to
own and manage high-end enterprise software such as accounting, invoicing, human resource
management, customer relationship management, and enterprise resources planning. In addition, SaaS
desktop applications (e.g., Google Apps, Office 365, Zoho Office) provide collaborative possibilities that
allow users from remote locations to work together on the same application document in real-time via
Testing as a Service (TaaS), provides users with software testing capabilities such as generation
of test data, generation of test cases, execution of test cases, and test result evaluation on a pay-per-use
basis (Yu et al., 2010). Software testing requires costly and extensive computing resources such as
servers, storage, and network devices but for a limited time. Consequently it makes sense to outsource
testing tasks to TaaS providers. For example, UTest offers functional, security, load, localization, and
API as a Service (APIaaS) is closely related to SaaS, but instead of delivering full-blown
applications as in SaaS, APIaaS provides Application Programming Interfaces (API) for users to exploit
functionality of such Web services as Google Maps, payroll processing (e.g., by ADP Inc.), and credit card
processing services (e.g., through Merchant Express). APIaaS offered by PaaS providers such as Google
App Engine (Google, Inc., 2012) allows developers to build feature-rich applications to perform various
functionalities including: application log keeping and accessing, large data set generation and processing
(MapReduce), Secure Socket Layer encrypted applications, website performance analyses and
optimization (PageSpeed), location aware queries, user authentication, instant messaging, instant
update browser channel establishment, application tasks scheduling and execution, web content
Email as a Service (EaaS), an instance of SaaS, provides users with an integrated system of
emailing, office automation, records management, migration, and integration services with archiving,
spam blocking, malware protection, and compliance features. Emailing services include calendaring,
contacts and instant messaging, mobile device integration, and search capabilities. Office automation
services include web conferencing, document sharing, and browser-based office productivity suites.
Records management services include integrating document management with email, and providing
APIs for records searching and management. Migration services include migrating email systems and
data, end user training, and migrating mobile users. Integration services include development and
technical maintenance for integration of applications and project management. EaaS users reap the
benefits of saving on licensing and maintaining the hardware and software of a company’s email system
Data as a Service (DaaS) provides data on demand to a diverse set of users, systems, or
applications. Leading DaaS providers such as DataDirect offer software to connect business applications
to data whereby data connectivity for distributed systems is simplified and streamlined. Data
encryption and operating system authentication are commonly provided for added security. DaaS users
have access to high-quality data in a centralized place and pay by volume or data type, as needed.
However, because the data is owned by the providers, users can only perform read operations on the
data. Nonetheless with the global data volume reaching 1.8 zettabytes (a zettabyte is about a trillion
gigabytes) in 2011 and growing by a factor of nine in five years (Gantz, 2011), attention has been shifted
to Big DaaS such as Google’s Public Data service that aggregates, manages, and provides access to data
on public institutions and government agencies (EMC Solutions Group, 2012). Google DaaS users can
use Google Public Data Explorer to mash up and visualize data dynamically.
Page 22 of 37
Security as a Service (SECaaS) is a new approach to security in which cloud security is moved into
the cloud itself whereby cloud service users will be protected from within the cloud using a unified
approach to threats. Four mechanisms of cloud security are currently provided: email filtering, web
content filtering, vulnerability management, and identity management (Getov, 2012). Email services are
protected where they reside against malware, spam, and phishing threats through email filtering. Web
content filtering includes URL filtering, HTTP header screening, page content and embedded links
analyses, and outgoing web traffic monitoring to block sensitive information such as IDs, credit card
information, and intellectual property from being compromised. Vulnerability management protects
clients from a shared environment using application firewalls between virtual machines, virtual intrusion
detection systems, cloud antiviruses, and virtual private networks linking virtual machines. Identity
functionalities.
We have just described the different Cloud Computing services available to customers. As
previously noted, the NIST (Mell and Grance, 2011) 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 management effort or service provider interaction.“ This view of Cloud
Computing has given rise to some confusion with another term that is currently very popular in
computing circles, namely, Web 2.0. Here, we define Web 2.0 and attempt to draw distinctions and
The term Web 2.0 was first introduced by Dinucci (1999) in the article, “Fragmented Future.”
Dinucci observed then that we were glimpsing the beginning of a new way of using the web that she
termed Web 2.0 in contrast to its predecessor, Web 1.0. Web 1.0 (Getting, 2007) is the original World
Wide Web as conceived in 1989 by Tim Berners-Lee while a researcher at CERN. Web 1.0 is a “read only”
web in the sense that content providers and consumers are considered distinct groups and all that
consumers could do was to search for and consume web content provided by others. There was very
little user interaction with the web and with other users and very little content provision by the typical
consumer. Online advertising, e-catalogs, e-brochures, and online shopping carts are all part of the Web
1.0 experience.
We are presently at a different stage of using the web which is termed as the “read-write” web
by Berners-Lee. Today, we have services like those listed below where many of us are both content
Twitter -- a “micro-blogging” service with a restriction of 140 characters per “tweet”; e.g., Jet Blue’s
use of tweets to answer consumer queries about flights and service (“JetBlue Airways (JetBlue) on
Twitter”, n.d.)
Mashups -- websites created by users by drawing on content from other websites such as
Podcasting -- distributing audio or video content to gadgets like cell phones, MP3 players, laptops,
This “interactive” web is what Dinucci termed as Web 2.0 as far back as 1999 when such use was
emerging. According to Dinucci, Web 2.0 would also eventually be distinguished by its ability to allow
users to interact with it using gadgets such as televisions (e.g., YouTube and Netflix access via AppleTV),
Car Dashboard equipment (for navigation, yellow pages), cell phones (for weather, navigation, flight
status updates, news), gaming consoles (for linking players with one-another over the net using, e.g.,
Sony ‘s PlayStation or Microsoft’s XBox), personal digital assistants (palmtop computers or PDAs such as
the iPod Touch), etc., collectively labeled “portable, web-ready” devices. The hardware, interface, and
performance characteristics of each device are quite different from the others. Yet, Web 2.0 would be
accessible from these different platforms apart from desktop machines running web browsers like
O’Reilly (2008) notes that virtually all Web 2.0 applications are cloud applications. From this
perspective, Cloud Computing applications encompass Web 2.0 applications and Cloud Computing offers
myriad tools that enable the facile construction and delivery of Web 2.0 applications. Further, Web 2.0
proponents note that the term denotes not just a set technical specifications for a “new/improved”
Web, but represents a set of economic, social and technology trends that collectively form the basis for
the next generation Internet. As such, the ongoing Cloud Computing trend, which clearly is a socio-
technological trend driven largely by economic considerations, may be regarded as an enabler of Web
2.0. Lastly, efforts are underway for a move toward what Berners-Lee terms the “read-write-execute”
(a) Transform the entire web into a distributed, global data base system housing not only
structured content as present day data-driven web sites require but also less structured
(b) Rely heavily on artificial intelligence (intelligent agents, in particular) and natural language
processing in assisting users with search in a context-sensitive and personalized manner (the
(c) Transform the web into a Semantic Web whereby ontological meta data to aid intelligent
agents is embedded in the web along with associated web content data, and
(d) Rely heavily on real-time, 3-D content presentation using the ISO X3D file format and XML
(Extensible Markup Language) to offer rich, visual communication of web content where
applicable.
In our view, many of the ongoing developments in Cloud Computing may also be regarded as enablers of
The current high levels of interest in, and the positive press enjoyed by, Cloud Computing are
fueled in part by its perceived benefits. Perry (2008) notes that the ideal Cloud Computing
Self-healing: In case of failure, there will be a hot backup instance of the application ready to take
over without disruption. When a backup becomes the primary, the system launches a new backup.
SLA-driven: The system is dynamically managed by service-level agreements that define policies
Multi-tenancy: The system is built in a way that allows several customers to share infrastructure
Service-oriented: The system allows composing applications out of discrete, re-usable, loosely-
coupled services. Changes to, or failure of, a service will not disrupt other services.
Virtualized: Applications are decoupled from the underlying hardware. An application may rely on
Linearly Scalable: The system will scale predictably and efficiently (linearly) with growing demand.
Data, Data, Data: The key to many of the above desirable characteristics is management of data: its
distribution, partitioning, security and synchronization using technologies like Amazon’s SimpleDB
Cloud Computing solution, a client should experience some or all of the following benefits:
Proven Web-services integration: Cloud Computing technology is much easier and quicker to
World-class service delivery: Cloud Computing infrastructures offer much greater scalability,
Faster and lower-risk deployment: No more waiting months or years and spending millions of
dollars before anyone gets to log into your new solution. Cloud Computing technology applications
are alive in a matter of weeks or months, even with extensive customization or integration.
Support for deep customizations: The Cloud Computing infrastructure not only allows deep
customization and application configuration, it preserves all those customizations even during
customization and report generation for business users, so IT doesn’t spend significant time on such
tasks.
capabilities are either pre-integrated into larger, off-the-shelf applications or available for quick
Like any technology before it, Cloud Computing, must submit to the NFLT (No Free Lunch
Theorem!), its positives notwithstanding. According to a 2012 survey of senior executives at 179 Cloud
service providers by KPMG Int’l (Krigsman, 2012), there are several challenges that providers perceive in
Observe that the top three perceived challenges relate to establishing a value proposition. The survey
also identifies perceived confusion on the part of Cloud Services customers (Krigsman, 2012):
“Less than half of the providers in the survey feel their customers are informed or well-
informed about Cloud Computing at the executive level. Only 43 percent believe users
are aware of cloud costs vis-à-vis their existing IT services, and a similar proportion feel
Page 28 of 37
they do not fully understand cloud security, pricing models, integration with existing
It appears that even as organizations appear enthusiastic about Cloud Computing in general, and
many indicate that launching cloud applications is a major priority, several seem to harbor insecurities
about getting their feet wet. IDC estimates that global spending on Cloud Computing will be $148 billion
by 2014 and K. Bailey (CMO, Verizon Enterprise Solutions), places the figure closer to $600-$750 billion
(Knorr, 2012). While this represents only about 20% of estimated spending on all of IT in 2014, the
The InfoWorld Cloud Computing Special Report, 2012, identifies nine challenges faced by
customers new to Cloud-based IT application deployment (i.e., continued Cloud Computing evolution):
Developers might find that legacy configurations used in production are hard to port over to a cloud
equivalent, Cloud-based application. (To ease the process, though, vendors like iTKO have emerged
with offerings like Lisa that assist in moving legacy applications to the cloud).
High-end applications that have extreme data security or regulatory restrictions, or rely on legacy
Cloud Computing could be a disruptive technology. In house developers often dislike disruption to
set ways and prefer working with familiar toolsets. Top management encouragement, training, and,
There is a dearth of documentation to help developers understand Cloud-based tools and their use.
This could change with increasing adoption or organizations will have to hire outside consultants for
help.
Page 29 of 37
Unless an organization is careful, its developers could easily forget to turn off Cloud-based services
Organizations must be clear about licensing agreements with cloud vendors or be unpleasantly
surprised with what they can or cannot accomplish with cloud-based resources.
Cloud developers usually do not have open access to the provider’s infrastructure, applications, and
integration platforms. This could pose challenges in integrating in-house applications with cloud-
based applications and even in integrating multiple cloud-based applications. Reliance on providers
Cloud Computing is in an evolutionary state and the pace of change is rapid. Organizations must
work with vendors to keep abreast of best practices as they rapidly evolve.
deployments pervade both service providers and consumers and the NIST notes that these concerns are
the top three barriers to broader cloud services adoption. From the consumer side, relinquishing data
and applications control to a third party, having to share IT resources with other consumers, and the
lock-in relationship with a cloud provider are major considerations that they must weigh when balancing
To meet general IT security requirements, organizations need to have security control provisions
to protect and preserve the integrity, availability, and confidentiality of IT resources from unauthorized
access, disruption of service, theft, misuse, malicious attacks, and such (NIST, 1995). Cloud Computing
presents unique security challenges that go beyond these general security requirements. These added
challenges stem primarily from two sources: the use of Virtualization and a multi-tenant environment
inherent to Public, Community, and Hybrid cloud environments (see Section 5 for descriptions).
Page 30 of 37
Virtualization helps with cloud scalability. However, Virtualization creates added data integrity and
hypervisor could potentially damage all systems that it hosts (Scarfone et al., 2011). Another
virtualization related security challenge is to separate the data, locations, virtual machines, API calls,
transactions, etc., of each tenant in a multi-tenant setting from those of other tenants for confidentiality
and integrity assurance. An intruder can gain access to not only one client’s data/ applications on the
cloud but every other client’s data/applications as well by simply exploiting flaws in the cloud’s multi-
tenancy design or insecure APIs. Indeed, data breaches are considered the most serious of security
threats with Cloud Computing (Cloud Security Alliance, 2013). A provider must prevent a single security
breach from impacting the entire cloud environment. The scale and complexity of the network
Cloud Computing, with its many interconnected components of hardware, software, data, and
telecommunications, has to be fully interoperable in order to deliver a seamless flow of information and
services. To be fully interoperable users need to have the ability to integrate and consolidate their data,
applications, and systems across cloud infrastructures and among cloud providers. The idea for an
“Intercloud,” where Cloud Computing services including data, storage, computing, etc., are ubiquitous
and interoperable in a Web-based network of clouds across different domains, platforms and
geographies, is currently being investigated under a joint research project between IBM and the
European Union called “Reservoir” or Resources and Services Virtualization Without Barriers (Sacharen
and Hunter, 2008). New Virtualization and Grid technologies will be needed to enable the level of
include the ability to manage and distribute large-scale workloads to optimize economic and quality of
Page 31 of 37
service requirements, negotiate and specify service level agreements, as well as design and manage a
Portability is the flexibility to move data and applications from one cloud provider to another or
between Private and Public cloud environments (www.webopedia.com). This amounts to relaxing the
lock-in requirement with a specific cloud service provider so that users have complete control of their
data and/or applications. The ability to import/export large volumes of data, the ownership
management and access control of shared or collaborative data, as well as the security and
authentication mechanisms involved to support this level of portability remain a technological challenge
8. CONCLUDING REMARKS
In this chapter, we first traced the history of Cloud Computing from its early roots in Time
Sharing with mainframe computer systems, through Peer-to-Peer and Client-Server computing, Grid
Cloud Computing as a distinct step in this evolution where the emphasis is on ease of provision of
various services to users. Following this discussion, we explored four models of Cloud Computing
deployments, namely, Private, Public, Hybrid, and Community clouds. We then turned our attention to
the many different kinds of services provided by cloud service providers and summarized key aspects of
the different services available today. Given our understanding of cloud-based services, we explained
the role that Cloud Computing plays as an enabler of today’s Web 2.0 and the future Web 3.0. We round
out our examination of Cloud Computing by articulating the benefits accruable and the challenges one
Despite its lengthy evolutionary history, the field of present-day Cloud Computing is as yet in its
nascent stages and is going through its share of teething troubles. At the time of this writing, two major
cloud service outages were making headlines. Netflix, the online video service provider experienced
Page 32 of 37
service outage in the US East Region, through a backend-failure Christmas eve through Christmas day,
2012 (Chernicoff, 2012). Netflix was hosted on Amazon’s Backend-as-a-Service (Baas) cloud. To
complicate matters, Netflix has been let down at least thrice, to date, by its cloud services provider,
Amazon (Dines, 2012). Previously, a July 2012 Amazon outage impacted Netflix, Pinterest, and
Instagram. The following week, on Dec 28, 2012, Microsoft’s Azure cloud-based storage service for the
South-Central US experienced partial outage. The STaaS outage, initially expected to be resolved in a
few hours, continued in excess of 50 hours. Soluto, a company that runs a PC diagnostics tool for
Windows customers worldwide, had migrated to Azure in 2010 following inability of its private storage
infrastructure to handle sudden load spikes. These are a few recent examples. Many of us have
experienced cloud-based email service (EaaS) outages with providers like Hotmail, Yahoo, and Gmail
While the outlook for migration to cloud services looks bullish according to the cloud pundits,
incidents such as these should cause prospective clients to pause, re-consider, and proceed with
caution. At the very least, mission-critical applications may not be ready for the cloud without extensive
and expensive failsafe measures in place. Moreover, clients must be willing to accept possible cloud-
services failures as an integral part of running business on the cloud, much as they must be willing to
Key Terms
Cloud Computing, Evolution, Models, Services, Web 2.0, Benefits, Challenges, IaaS, PaaS, SaaS.
Page 33 of 37
REFERENCES
Altnam, D. (2012). Three Reasons Private Clouds are Winning over the Business World. Retrieved
December 2012 from http://www.business2community.com/tech-gadgets/three-reasons-private-
clouds-are-winning-over-the-business-world-0362241
Beal, V. (2012). The Difference between Server and Desktop Virtualization? Retrieved March 2013 from
http://www.webopedia.com/DidYouKnow/Computer_Science/difference_between_server_and_deskto
p_virtualization.html
Biddick, M. (2011). Cloud Storage: Changing Dynamics beyond Services. Retrieved December 2012 from
http://reports.informationweek.com/abstract/24/7534/Storage-Server/research-cloud-storage.html
Biswas, S. (2011). Quotes about Cloud Computing (and Some Background Information on Them).
Retrieved December 2012 from http://www.cloudtweaks.com/2011/03/quotes-about-cloud-computing-
and-some-background-information-on-them/
Bort, J. (2012). Larry Ellison Just Took on Amazon with a New Cloud Service. Retrieved December 2012
from http://www.businessinsider.com/larry-ellison-just-took-on-amazon-with-a-new-cloud-service-
2012-9
Butler, B. (2012). Are Community Cloud Services the Next Hot Thing? Retrieved December 2012 from
http://www.networkworld.com/news/2012/030112-are-community-cloud-services-the-256869.html
Chernicoff, D. (2012). A Less than Merry Christmas for Netflix. Retrieved December 2012 from
http://www.zdnet.com/a-less-than-merry-christmas-for-netflix-7000009187/
Cloud Security Alliance. (2013). The Notorious Nine: Cloud Computing Top Threats in 2013.
Retrieved March 2013 from http://www.cloudsecurityalliance.org/topthreats
Chunawala, Q.S. (n.d.). Early Batch-Oriented Operating Systems, in: What on Earth is a Mainframe-The
Sum and Substance of a Mainframe. Retrieved April 2013 from http://www.mainframe360.com
Dines, R. (2012). How Amazon Ruined My Christmas. Retrieved December 2012 from
http://www.zdnet.com/how-amazon-ruined-my-christmas-7000009215/?s_cid=rSINGLE
Page 34 of 37
EMC Solutions Group. (2012). Big Data-As-A-Service: A Marketing and Technology Perspective.
Retrieved December 2012 from http://www.emc.com/collateral/software/white-papers/h10839-big-
data-as-a-service-perspt.pdf
Farber, D. (2008). Oracle’s Ellison Nails Cloud Computing. Retrieved December 2012 from
http://news.cnet.com/8301-13953_3-10052188-80.html
Fitzpatrick, B.W., & Lueck, J.J. (2010). The Case against Data Lock-In. Communications of the ACM,
53(11), 42-46.
Gantz, J. (2011). Extracting Value from Chaos. Retrieved December 2012 from
http://www.emc.com/digital_universe
Getov, V. (2012). Security as a Service in Smart Clouds – Opportunities and Concerns. Proceedings of the
IEEE 36th Annual Computer Software and Applications Conference (COMPSAC), Jul 16-20, 373-379.
Getting, B. (2007). Basic Definitions: Web 1.0, Web 2.0, Web 3.0. Retrieved March 2013 from
http://www.practicalecommerce.com/articles/464-Basic-Definitions-Web-1-0-Web-2-0-Web-3-0
Google, Inc. (2012). Google App Engine – the Platform for Your Next Great Idea. Retrieved December
2012 from https://cloud.google.com/files/GoogleAppEngine.pdf
Grid Computing Info Center. (n.d.). Retrieved December 2012 from http://gridcomputing.com
Grush, M. (2011). A Community Cloud Strategy for the Education Enterprise. Retrieved December 2012
from http://campustechnology.com/articles/2011/09/08/a-community-cloud-strategy-for-the-
education-enterprise.aspx
Hurwitz, J., Bloor, R., Kaufman, M. and Halper, F. (2013). Service-oriented Architecture for Dummies.
Retrieved March 2013 from http://www.dummies.com/Section/id-612246.html
Hurwitz, J., Bloor, R., Kaufman, M. and Halper, F. (2012). Cloud Services for Dummies. Retrieved
December 2012 from
http://www.businesscloudsummit.com/sites/all/themes/bcsummit/downloads/Cloud%20Services
%20for%20Dummies.pdf
InfoWorld. (n.d.). Cloud Computing Deep Dive: The Journey to the Private Cloud. Retrieved December
2012 from http://computerworld.com.edgesuite.net/insider/infoworld_private_cloud_insider.pdf
Page 35 of 37
JetBlue Airways (JetBlue) on Twitter. (n.d.). Retrieved March 2013 from https://twitter.com/jetblue
Knorr, E. (2012). Shaking Up the Data Center: 2011-A Year of Surging Private Cloud and Public Cloud
Build-Outs, Cloud Computing Deep Dive. InfoWorld Special Report, February.
Kodali, R.R. (2005). What is Service-Oriented Architecture? An Introduction to SOA. Retrieved March
2013 from http://www.javaworld.com/javaworld/jw-06-2005/jw-0613-soa.html
Krigsman, M. (2012). Cloud Research: Cost Matters Most and Confusion Remains. Retrieved December
2012 from http://www.zdnet.com/cloud-research-cost-matters-most-and-confusion-remains-
7000009136/
Lehner, W., and Sattler, K. (2010). Database as a Service (DBaaS). Proceedings of the International
Conference on Data Engineering (ICDE), Long Beach, CA, 1216-1217.
McKendrick, J. (2010). NASA’s Nebula: A Stellar Example of Private Clouds in Government. Retrieved
December 2012 from http://www.zdnet.com/blog/service-oriented/nasas-nebula-a-stellar-example-of-
private-clouds-in-government/5267
Mell, P., and Grance, T. (2011). The NIST Definition of Cloud Computing. Retrieved December 2012
from http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
Minar, N. and Hedlund, M. (2001). A Network of Peers: Peer-to-Peer Models through the History of the
Internet. In Oram, A. (Ed.), Peer-to-Peer: harnessing the Power of Disruptive Technologies. Retrieved
December 2012 from http://oreilly.com/catalog/peertopeer/chapter/ch01.html
NIST (1995). An Introduction to Computer Security: The NIST Handbook. Special Publication 800-12.
Gaithersburg, MD: National Institute of Technology.
O’Dell, J. (2012). Adobe Acquires Behance to Bring More Community Into Creative Cloud. Retrieved
December 2012 from http://venturebeat.com/2012/12/20/adobe-acquires-behance/
O’Reilly, T. (2008). Web 2.0 and Cloud Computing. Retrieved March 2013 from
http://radar.oreilly.com/2008/10/web-20-and-cloud-computing.html
Perry, G. (2008). How Cloud and Utility Computing are Different. Retrieved December 2012 from
http://gigaom.com/2008/02/28/how-cloud-utility-computing-are-different/
Page 36 of 37
Public Cloud Examples and Case Studies. (n.d.). Retrieved December 2012 from
http://www.cloudpro.co.uk/cloud-essentials/public-cloud/case-studies
Raman, T.V. (2009). Toward 2w, Beyond Web 2.0. Communications of the ACM, 52(2), 52-59.
Robinson, N., Valeri, L., Cave, J., Starkey, T., Grauz, H., Creese, S., and Hopkins, P. (2010). The Cloud:
Understanding the Security, Privacy and Trust Challenges. Final Report, Directorate-General Information
Society and Media, European Commission.
Sacharen, C., & Hunter, J. (2008). IBM and European Union Launch Joint Research Initiative for Cloud
Computing. IBM News Room, February 5. Retrieved March 2013 from http://www-
03.ibm.com/press/us/en/pressrelease/23448.wss
Scardino, S. (2005). Spreadsheet/Personal Computing Kills off Time Sharing. Retrieved December 2012
from http://corphist.computerhistory.org/corphist/view.php?s=stories&id=46
Scarfone, K., Souppaya, M., & Hoffman, P. (2011). Guide to Security for Full Virtualization Technologies.
Special Publication 800-125, National Institute of Standards and Technology, January. Retrieved March
2013 from http://csrc.nist.gov/publications/nistpubs/800-125/SP800-125-final.pdf
Stallings, W., and Case, T. (2013). Business Data Communications: Infrastructure, Networking and
Security (7th ed.), (pp.272). Upper Saddle River, NJ: Prentice Hall.
Strickland, J. (2008). How Utility Computing Works. Retrieved December 2012 from
http://computer.howstuffworks.com/utility-computing.htm
The Google Chrome Team. (2010). 20 Things I Learned about Browsers and The Web. Retrieved
December 2012 from http://www.20thingsilearned.com/en-US
Worldwide LHC Computing Grid. (n.d.). Retrieved December 2012 from http://wlcg.web.cern.ch/
Yu, L., Tasi, W., Chen, X., Liu, L., Zhao, Y., Tang, L., and Zhao, W. (2010). Testing as a Service over Cloud.
Proceedings of the 5th International Symposium on Service Oriented System Engineering (SOSE), Jun 4-
5, 181-188.
Zhou, M., Zhang, R., Zeng, D., and Qian, W. (2010). Services in the Cloud Computing Era: A Survey.
Proceedings of the 4th International Universal Communication Symposium, Beijing, China, 40-46.