Cloud Computing PDF
Cloud Computing PDF
Cloud Computing
Code: TS43CPR19En
Cloud
Computing
Fundamentals
1 The Road to Cloud Computing Pages (1-21)
Fundamentals
5 Virtualization Pages (1-21)
Aim of study
This chapter introduces some cloud computing essentials required to pave the way for cloud
computing fundamentals course.
Contents Pages
1.1 Introduction 2
1.2 A Brief History 3
1.3 Cloud Computing Famous Definitions 4
1.4 Cloud Computing Technology Innovation and Related Technologies 9
1.5 Discussion and Common Characteristics 15
1
Chapter 1: The Road to Cloud Computing
Chapter (1)
The Road to cloud computing
1.1 Introduction
IT is moving out of the local data center into the cloud, where data and services
become easily available via cell phones, tablets, and other mobile devices around
the world.
Cloud computing fundamentals are introduced in this course document and after
completing this course the trainee should gain the knowledge of the basic
concepts and specific terminologies of cloud computing.
With the information provided by this course document, the trainee will be able
to understand the specific terminology of cloud computing and its application in
the continued shift into the cloud, where costs are billed like electricity and
reflect monthly usage levels rather than the traditional up-front major cost of
new servers and storage for a data center rack. Migration into the cloud allows
rapid deployment of test applications and then rapid scale-up to meet growing
2
Chapter 1: The Road to Cloud Computing
demands without worrying about whether the current network or hardware can
keep up.
“If computers of the kind I have advocated become the computers of the future,
then computing may someday be organized as a public utility just as the
telephone system is a public utility. … The computer utility could become the
basis of a new and important industry.”
3
Chapter 1: The Road to Cloud Computing
It wasn’t until 2006 that the term “cloud computing” emerged in the commercial
arena. It was during this time that Amazon launched its Elastic Compute Cloud
(EC2) services that enabled organizations to “lease” computing capacity and
processing power to run their enterprise applications. Google Apps also began
providing browser-based enterprise applications in the same year, and three years
later, the Google App Engine became another historic milestone.
Gartner report:
A Gartner report listing cloud computing at the top of its strategic technology
areas further reaffirmed its prominence as an industry trend by announcing its
formal definition as:
“…a style of computing in which scalable and elastic IT-enabled capabilities are
delivered as a service to external customers using Internet technologies.”
Forrester Research:
Forrester Research provided its own definition of cloud computing as:
“…a standardized IT capability (services, software, or infrastructure) delivered
via Internet technologies in a pay-per-use, self-service way.”
4
Chapter 1: The Road to Cloud Computing
Huawei:
Huawei has defined cloud computing the delivery of computing as a service
rather than a product, whereby shared resources, software, and information are
provided to computers and other devices as a utility over the network (typically
the Internet). The term "cloud" is a metaphor for the network and Internet. Cloud
computing can be defined as follows:
- In a narrow sense, cloud computing refers to the delivery and usage
models of IT infrastructure. That is, the IT infrastructure is delivered on
demand over the Internet.
- In a broad sense, cloud computing refers to the delivery and usage models
of services. That is, IT, software, and Internet services are delivered on
demand over the Internet.
Figure 1.1 illustrates Cloud computing with respect to Huawei view.
5
Chapter 1: The Road to Cloud Computing
6
Chapter 1: The Road to Cloud Computing
NIST:
The definition that received industry-wide acceptance was composed by the
National Institute of Standards and Technology (NIST). NIST published its
original definition back in 2009, followed by a revised version after further
review and industry input that was published in September of 2011:
- Broad network access. Capabilities are available over the network and
accessed through standard mechanisms that promote use by heterogeneous
thin or thick client platforms (e.g., mobile phones, tablets, laptops, and
workstations).
7
Chapter 1: The Road to Cloud Computing
8
Chapter 1: The Road to Cloud Computing
Community Cloud, Public Cloud, and Hybrid Cloud - will be explained later in
next chapters.
- Cluster:
A cluster is a group of independent IT resources that are interconnected and
work as a single system. System failure rates are reduced while availability and
reliability are increased, since redundancy and failover features are inherent to
the cluster.
9
Chapter 1: The Road to Cloud Computing
- Distributed Computing:
In distributed computing, multiple software - which runs on the same computer
or different computers connected over networks - can share information.
- Grid Computing
Grid computing is a form of distributed computing, whereby a large number
of unused CPU cycles and disk storage of heterogeneous computers are
embedded in the distributed telecommunication infrastructure as a virtual
computer cluster to perform large tasks.
Grid Computing (or “computational grid”) provides a platform in which
computing resources are organized into one or more logical pools. These
10
Chapter 1: The Road to Cloud Computing
Grid computing differs from clustering in that grid systems are much more
loosely coupled and distributed. As a result, grid computing systems can
involve computing resources that are heterogeneous and geographically
dispersed, which is generally not possible with cluster computing-based
systems.
11
Chapter 1: The Road to Cloud Computing
- Applicability
Grid computing is initially used to converge resources to address
challenging applications. It is later applied to common IT applications.
- Handling of heterogeneity
Grid computing uses middleware to shield the difference between
heterogeneous systems and offers the same environment for users. The
middleware handles the problems related to heterogeneous systems.
12
Chapter 1: The Road to Cloud Computing
- Task duration
Grid computing allows a single big task to be split into multiple smaller
tasks, which are further distributed to different computing machines. Data
is generated after the single big task is complete.
Cloud computing supports persistent services. Hosted and outsourced
services can be implemented based on the cloud computing infrastructure.
- Applications
Grid computing is widely used in scientific research. It does not have clear
commercial models.
- Utility Computing:
Utility computing is a service provisioning model. Service providers offer
computing resources required by users, efficiently manage the infrastructure, and
charge users based on the used applications. Utility computing rapidly offers the
required data by integrating scattered servers, storage systems, and applications.
Cloud computing is similar to utility computing in the way that computing,
storage and application resources are provided as services.
The differences between utility computing and cloud computing is as follows:
- Utility computing often requires support from the cloud computing
infrastructure.
13
Chapter 1: The Road to Cloud Computing
Table 1.1 lists the difference between distributed computing, grid computing,
and utility computing technologies.
Computing Comparison with Cloud Computing
Technology
Distributed Distributed computing is making big contributions to
Computing scientific research, and cloud computing applies to
commercial applications.
Grid Grid Computing integrates distributed resources and supports
Computing virtual organizations. Cloud computing has centralized
resource pools but does not involve the concept of virtual
organization.
Grid computing emphasizes general application in its late
phases, while cloud computing focuses on general application
at the very beginning.
Grid computing uses middleware to shield the difference
between heterogeneous systems. Cloud computing allows the
existence of heterogeneity.
Grid computing allows a single big task to be split into
multiple smaller tasks, which are further distributed to
different computing machines. Cloud computing supports
persistent services.
14
Chapter 1: The Road to Cloud Computing
Services are flexible because the resources and processing power available to
each can be adjusted on the fly to meet changes in need or based on
configuration settings in an administrative interface, without the need for direct
IT personnel involvement.
These resources are assigned from a larger pool of available capacity (for
examples, memory, storage, CPUs) as needed, without having to worry about
whether existing hardware, data center space, power, and cooling are capable of
handling the load.
15
Chapter 1: The Road to Cloud Computing
16
Chapter 1: The Road to Cloud Computing
Almost anything can be hosted in the cloud, from databases and applications to
complete virtual infrastructures encompassing data storage, networking, and all
components of the server environment. The cloud can also host virtualized user
desktop environments available from any networked client device, whether or
not the client has sufficient local resources to host the virtualized desktop
environment and its various applications.
17
Chapter 1: The Road to Cloud Computing
Cloud computing services are managed by the cloud provider. Once applications
and services have been moved to the cloud, an organization no longer needs to
worry about local data center issues regarding power, space, and cooling, and
developers need only know whether their applications will be running on one
cloud service platform or another—for example, Amazon Elastic Compute
Cloud (EC2) or Microsoft Azure—without having to consider where the services
or application resources will be located. So, Knowledge of individual hardware
characteristics and capacity measures is no longer important to the organization,
while it becomes a background matter for the cloud provider to manage.
18
Chapter 1: The Road to Cloud Computing
This allows an organization to spin up a new offering with only minimal costs
for the resources used and then to meet spikes or cyclic use patterns with
increased capacity, paying for only the level of use needed.
Traditional data centers must always plan for future growth, and a sudden
success for a web-based offering can rapidly overrun available server and
network capacity unless data center managers purchase sufficient “spare”
resources beforehand.
Cloud computing draws resources from a pool as they are needed, based on level
of service consumption.
19
Chapter 1: The Road to Cloud Computing
- Network accessible
Cloud services are available via networked devices and technologies, facilitating
rapid access by mobile customers and remote office locations. This provides an
“anywhere, anytime” service model not possible in traditional data centers,
where service downtime and local-area outages in power and networking can
impact uptime. Because cloud computing vendors can be located anywhere in
the world, they can host organizational services from areas outside of
geopolitical turmoil or environmental threats. Before a hurricane, for example, a
cloud service provider could transfer operations from Florida to Washington
transparently to the service consumer.
- Sustainable
Because cloud providers can provide resources as need, it is possible to reduce
power and cooling requirements during off-peak times, gaining economies of
scale well beyond those available to single-tenanted hardware based data
services, which must stay on waiting for later use.
20
Chapter 1: The Road to Cloud Computing
After limits for resource availability are configured within the cloud provider’s
systems, available resource capacity can be automatically expanded or managed
by the client with minimal effort.
Bringing up a test server no longer requires access to the physical system,
loading software, and configuring networking by hand; instead, the customer
need only access their cloud provider and request a new resource allocation
using the self-service user interface. As long as the organization’s contractual
limits on resources allow the addition, it is managed automatically without
further technical assistance needed.
21
Chapter 2:Cloud computing Reference
Aim of study
This chapter introduces the Cloud computing reference model and the role of each player in
the cloud industry.
Contents Pages
2.1 The Conceptual Reference Model 2
2.2 Cloud Consumer 7
2.2 Cloud Provider 12
2.3 Cloud Auditor 14
2.4 Cloud Broker 15
2.5 Cloud Carrier 18
1
Chapter 2:Cloud computing Reference
Chapter (2)
Cloud Computing Reference Architecture and Players’ Roles in
Cloud Industry
There are five major actor defined by NIST cloud computing reference
architecture: cloud consumer, cloud provider, cloud carrier, cloud auditor, and
cloud broker illustrated in figure 2.2.
3
Chapter 2:Cloud computing Reference
Actor Definition
Cloud Consumer A person or organization that maintains a business
relationship with, and uses service from, Cloud
Providers.
Cloud Provider A person, organization, or entity responsible for making
a service available to interested parties.
Cloud Auditor A party that can conduct independent assessment of
cloud services, information system operations,
performance and security of the cloud implementation.
Cloud Broker An entity that manages the use, performance and delivery
of cloud services, and negotiates relationships between
Cloud Providers and Cloud Consumers.
Cloud Carrier An intermediary that provides connectivity and transport
of cloud services from Cloud Providers to Cloud
Consumers.
Interactions among the actors illustrated in figure 2.3. Cloud services request by
cloud consumer may be requested directly from cloud provider or indirectly via a
cloud broker. A cloud auditor conducts independent audits and may contact the
4
Chapter 2:Cloud computing Reference
others to collect necessary information. Each actor role will be detailed discussed
in the next section
5
Chapter 2:Cloud computing Reference
6
Chapter 2:Cloud computing Reference
The main player for the cloud computing service is the cloud consumer. It
represents a person or organization that maintains a business relationship with,
and uses the service from a cloud provider. A cloud consumer browses the
service catalog from a cloud provider, requests the appropriate service, sets up
service contracts with the cloud provider, and uses the service.
Service level Agreements (SLAs) are needed for cloud consumers to specify the
technical performance requirements fulfilled by a cloud provider. SLAs can
cover terms regarding the quality of service (QoS), security, remedies for
performance failures.
A cloud provider may also list in the SLAs a set of promises explicitly not made
to consumers, i.e. limitations, and obligations that cloud consumers must accept.
A cloud consumer can freely choose a cloud provider with better pricing and
more favorable terms.
Depending on the services requested, the activities and usage scenarios can be
different among cloud consumers. Figure 2.7 presents some example cloud
services available to a cloud consumer.
The cloud consumer may be billed for the service provisioned, and needs to
arrange payments accordingly.
7
Chapter 2:Cloud computing Reference
The consumers of SaaS can be organizations that provide their members with
access to software applications, end users who directly use software applications,
or software application administrators who configure applications for end users.
SaaS consumers can be billed based on the number of end users, the time of use,
the network bandwidth consumed, and the amount of data stored or duration of
stored data.
Some SaaS cloud services examples which illustrated in the last figure 2.7 are:
- Email and Office Productivity, which are applications for email, word
processing, spreadsheets, presentations, etc.
- Billing which are application services to manage customer billing based
on usage and subscriptions to products and services.
8
Chapter 2:Cloud computing Reference
9
Chapter 2:Cloud computing Reference
Cloud consumers of PaaS can employ the tools and execution resources provided
by cloud providers to develop, test, deploy and manage the applications hosted in
a cloud environment. PaaS consumers can be application developers who design
and implement application software, application testers who run and test
applications in cloud-based environments, application deployers who publish
applications into the cloud, and application administrators who configure and
monitor application performance on a platform. PaaS consumers can be billed
according to, processing, database storage and network resources consumed by
the PaaS application, and the duration of the platform usage.
Some PaaS cloud services examples which illustrated in the last figure 2.6 are:
10
Chapter 2:Cloud computing Reference
Some IaaS cloud services examples which illustrated in the last figure 2.7 are:
- Backup and Recovery is an IaaS Services for backup and recovery of file
systems and raw data stores on servers and desktop systems.
11
Chapter 2:Cloud computing Reference
For SaaS, the cloud provider deploys, configures, maintains and updates the
operation of the software applications on a cloud infrastructure so that the
services are provisioned at the expected service levels to cloud consumers.
The provider of SaaS assumes most of the responsibilities in managing and
controlling the applications and the infrastructure, while the cloud consumers
have limited administrative control of the applications.
12
Chapter 2:Cloud computing Reference
For PaaS, the Cloud Provider manages the computing infrastructure for the
platform and runs the cloud software that provides the components of the
platform, such as runtime software execution stack, databases, and other
middleware components. The PaaS Cloud Provider typically also supports the
development, deployment and management process of the PaaS Cloud
Consumer by providing tools such as integrated development environments
(IDEs), development version of cloud software, software development kits
(SDKs), deployment and management tools. The PaaS Cloud Consumer has
control over the applications and possibly some the hosting environment
settings, but has no or limited access to the infrastructure underlying the
platform such as network, servers, operating systems (OS), or storage.
For IaaS, the Cloud Provider acquires the physical computing resources
underlying the service, including the servers, networks, storage and hosting
infrastructure. The Cloud Provider runs the cloud software necessary to
makes computing resources available to the IaaS Cloud Consumer through a
set of service interfaces and computing resource abstractions, such as virtual
machines and virtual network interfaces.
The IaaS Cloud Consumer in turn uses these computing resources, such as a
virtual computer, for their fundamental computing needs Compared to SaaS
and PaaS Cloud Consumers, an IaaS Cloud Consumer has access to more
fundamental forms of computing resources and thus has more control over
the more software components in an application stack, including the OS and
network. The IaaS Cloud Provider, on the other hand, has control over the
physical hardware and cloud software that makes the provisioning of these
13
Chapter 2:Cloud computing Reference
14
Chapter 2:Cloud computing Reference
- Service Intermediation:
Service Intermediation is when a broker performs value-add service on
behalf of the consumer. For example, in figure 2.9, the cloud broker
performs some administrative or management function on behalf of the
consumer for a particular cloud service. This value-add service may
15
Chapter 2:Cloud computing Reference
- Service Aggregation:
Service Aggregation is when a broker integrates two or more cloud
services to provide a complex cloud solution to the consumer. Figure 2.10
illustrates a cloud service that is composed of three different cloud
provider's services.
16
Chapter 2:Cloud computing Reference
- Service Arbitrage:
Service arbitrage is similar to service aggregation except that the services
being aggregated are not fixed. Service arbitrage means a broker has the
flexibility to choose services from multiple agencies. The cloud broker, for
example, can use a credit-scoring service to measure and select an agency
with the best score.
Service Arbitrage is when a broker dynamically selects the best cloud
service provider in real time. Figure 2.12 illustrates a broker checking for
the best cloud service, for example online storage, from three cloud
providers.
17
Chapter 2:Cloud computing Reference
18
Chapter 2:Cloud computing Reference
require the cloud carrier to provide dedicated and secure connections between
cloud consumers and cloud providers.
19
Chapter 3: Cloud Computing Deployment Models
Aim of study
This chapter introduces the four cloud computing deployment models - public, private,
community, and hybrid clouds - according to NIST.
Contents Pages
3.1 Introduction 2
3.2 Cloud Computing Deployment models 5
1
Chapter 3: Cloud Computing Deployment Models
Chapter (3)
Cloud Computing Deployment Models
3.1 Introduction
There are many issues to consider when moving an enterprise application to the
cloud environment. For example, some service providers are mostly interested in
lowering operation cost, while others may prefer high reliability and security.
Accordingly, there are different types of clouds, each with its own benefits and
drawbacks.
The differences between them are based on how exclusive the computing
resources are made to a Cloud Consumer.
2
Chapter 3: Cloud Computing Deployment Models
The following figure 3.1 covers these cloud deployment models to clarify the
differences between them.
The term “tenant” is used here to refer to companies or individuals that act as a
cloud consumer.
Each tenant may have multiple users associated with it, i.e., a company may act
as the customer of a cloud that is then used by employees of that company.
Different cloud deployment models regarding the common level of elasticity and
pay-per-use they provide is depicted in figure 3.1.
3
Chapter 3: Cloud Computing Deployment Models
4
Chapter 3: Cloud Computing Deployment Models
Private cloud – accessible only by a single institution- has the least elasticity as it
used by only one tenant making high upfront investments and reduced elasticity
even more likely.
The hybrid cloud - combining any set of other clouds - spans all these properties
as it integrates applications hosted in the different environments.
Deployment
Models
5
Chapter 3: Cloud Computing Deployment Models
6
Chapter 3: Cloud Computing Deployment Models
7
Chapter 3: Cloud Computing Deployment Models
8
Chapter 3: Cloud Computing Deployment Models
allows service providers to design their own topology and security settings such
as firewall rules.
VPC is essentially a more holistic design since it not only virtualizes servers and
applications, but also the underlying communication network as well.
Figure 3.7 shows an outsourced community cloud, where the server side is
outsourced to a hosting company. In this case, an outsourced community cloud
builds its infrastructure off premise, and serves a set of organizations that request
and consume cloud services.
9
Chapter 3: Cloud Computing Deployment Models
10
Chapter 3: Cloud Computing Deployment Models
11
Chapter 3: Cloud Computing Deployment Models
Figure 3.8: Hybrid Cloud (include two or more cloud models and may contain all
models in some cases).
12
Chapter 4: Cloud Computing Service Models
Aim of study
This chapter introduces a detailed description about cloud computing service models as Software
as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS)
according to NIST. Also, XaaS concept will be provided.
Contents Pages
4.1 Introduction 2
1
Chapter 4: Cloud Computing Service Models
Chapter (4)
4.1 Introduction
The aim of this chapter is to provide a detailed description about various cloud
computing service models.
According to NIST definitions there are three primary types of cloud computing
service models that are Software as a Service (SaaS), Platform as a Service (PaaS),
and Infrastructure as a Service (IaaS). Also, everything as a service (XaaS) will be
presented.
Cloud services models and cloud deployment models, which discussed in the
previous chapter 3, are aligned. The following figure 4.1 illustrates service models
and delivery models. All the services can be delivered on any of the cloud delivery/
deployment models.
2
Chapter 4: Cloud Computing Service Models
Cloud computing providers (CCP) categorize their offerings into three primary
“aaS” categories according to their level of abstraction, identified by National
Institution of Standards and Technology (NIST) by these designations: Software as
a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service
(IaaS).
Figure 4.2 shows the three service models which represented in a form of a
pyramid like, because IaaS provides the most fundamental service category and
each successive level includes elements of the lower-level service categories.
3
Chapter 4: Cloud Computing Service Models
Building atop successive layers, providers begin with the most fundamental level
of IaaS, which includes familiar elements from traditional settings such as
networking and storage and other architectural elements of interest to system
administrators and enterprise planners. Application developers will consume
services provided by PaaS providers, which also support the hosting infrastructure.
Users will consume applications provided by the SaaS level, which itself includes
components of both platform and infrastructure services beyond the consumer’s
visibility. Figure 4.3 aligns these roles using the same model layering.
4
Chapter 4: Cloud Computing Service Models
Figure 4.3: Cloud service models aligned with their principle consuming
populations.
5
Chapter 4: Cloud Computing Service Models
According to NIST definition, the Software as a Service (SaaS) is defined as: The
capability provided to the consumer is to use the provider’s applications running
on a cloud infrastructure. The applications are accessible from various client
devices through either a thin client interface, such as a web browser (e.g., web-
based email) or a program interface. The consumer does not manage or control the
underlying cloud infrastructure including network, servers, operating systems,
storage, or even individual application capabilities, with the possible exception of
limited user-specific application configuration settings.
Three basic questions arise with respect to SaaS - who the consumers of SaaS are,
what a consumer gets, and how usage fees are calculated – and their answers are
provided.
6
Chapter 4: Cloud Computing Service Models
Software as a Service (SaaS) is often the first example of cloud computing that
many users will experience — sometimes without even realizing they are
interacting with a cloud at all.
Hosted software applications available through a web browser or via a thin client
are often indistinguishable to the user, who just wants to run the software
application and not worry about application details operating behind the curtain.
Figure 4.4 provides some examples, but of course not all, of the many SaaS
offerings that are available.
SaaS is like any traditional software application, it provides the end user with some
type of application that consumes, produces, or processes electronic information.
7
Chapter 4: Cloud Computing Service Models
SaaS products are generally prebuilt and consumed using the provided
functionality without significant customization, as in the case of Google Gmail
users who simply access the web-based standard email and calendaring
application, shown in Figure 4.5.
Figure 4.5: Example Gmail cloud SaaS client for email accessed using Google’s
Chrome web Browser.
Similar to traditional software products, SaaS alternatives are prebuilt and cannot
be changed beyond personalization and configuration settings by the consumer.
8
Chapter 4: Cloud Computing Service Models
Cloud SaaS applications offer distinct advantages over traditional locally installed
software and are driving the mad rush to bring the cloud into existing enterprise
environments.
In the SaaS service model, a consumer possesses control over the application-
specific resources that a SaaS application makes available. For example, if a
provider supplies an email application, the consumer will typically have the ability
to create, send, and store email messages. Figure 4.6 depicts this as "user level"
control. In some cases, a consumer also has limited administrative control of an
application. For example, in the example of an email application, selected
9
Chapter 4: Cloud Computing Service Models
consumers may have the ability to create email accounts for other consumers,
review the activities of other consumers, etc.
According to NIST definition, the Platform as a Service (PaaS) is defined as: The
capability provided to the consumer is to deploy onto the cloud infrastructure
consumer-created or acquired applications created using programming languages,
libraries, services, and tools supported by the provider. The consumer does not
manage or control the underlying cloud infrastructure including network, servers,
operating systems, or storage, but has control over the deployed applications and
possibly configuration settings for the application-hosting environment.
Three basic questions concerns PaaS - who the consumers of PaaS are, what a
consumer gets, and how usage fees are calculated – and their answers are provided.
10
Chapter 4: Cloud Computing Service Models
Figure 4.7 provides some examples of current PaaS offerings that are available but
this is not meant as a complete listing.
11
Chapter 4: Cloud Computing Service Models
Because the same technologies can be used by application developers for both
traditional and PaaS cloud applications, the process of migrating existing software
solutions from traditional to cloud hosting is greatly simplified.
Some PaaS vendors have created their own proprietary application development
languages, although many try to develop similar analogs to existing languages to
diminish the ramp-up time for hiring new programmers to develop applications for
their platform.
12
Chapter 4: Cloud Computing Service Models
Figure 4.8 shows Microsoft’s Azure PaaS’s current options, including Microsoft’s
own .NET suite of languages (including C#, VB .NET, J#), Node.Js, PHP, Java,
and Python for software application development of Azure cloud service–hosted
applications.
13
Chapter 4: Cloud Computing Service Models
In PaaS, the cloud provider controls the more privileged, lower layers of the
software stack. Figure 4.9 illustrates how control and management responsibilities
are shared. In the center, the figure depicts a traditional software stack comprising
layers for the hardware, operating system, middleware, and application. The figure
also depicts an assignment of responsibility either to the cloud provider, the cloud
consumer, or both.
The provider operates and controls the lowest layers, the operating system and
hardware; implicit in this is control over networking infrastructure such as LANs
and routers between data centers. At the middleware layer, the provider makes
programming and utility interfaces available to the consumer; these interfaces
provide the execution environment within which consumer applications run and
provide access to needed resources such as CPU cycles, memory, persistent
storage, data stores, data bases, network connections, etc. The provider determines
the programming model, i.e., the circumstances under which consumer application
code gets activated, and monitors the activities of consumer programs for billing
and other management purposes.
14
Chapter 4: Cloud Computing Service Models
Once a consumer has used the facilities of the PaaS cloud to implement and deploy
an application, the application essentially is a SaaS deployment and the consumer
has administrative control over the application subject only to the provider
supporting the consumer according to the terms of use.
15
Chapter 4: Cloud Computing Service Models
Figure 4.10 provides some examples of IaaS providers — noting that, a number far
less than providers for higher-level service models in the cloud pyramid.
16
Chapter 4: Cloud Computing Service Models
Figure 4.11 shows the Windows Azure IaaS portal interface, with two virtual
machines currently configured as database servers for application development
prototyping.
Figure 4.11: Windows Azure Platform management console, showing two existing
virtual machines configured as database servers for development access using a
Visual Studio utility.
Controls are present for management of networking, storage and other resources
within pre established limitations allocated to this account. This is an
administrative-level tool through which you can provision resources for developers
17
Chapter 4: Cloud Computing Service Models
who will then construct applications for end users — affording control of the entire
cloud service pyramid from here.
18
Chapter 4: Cloud Computing Service Models
As shown in Figure 4.12, the provider maintains total control over the physical
hardware and administrative control over the hypervisor layer. The consumer may
make requests to the cloud (including the hypervisor layer) to create and manage
new VMs but these requests are honored only if they conform to the provider's
policies over resource assignment. Through the hypervisor, the provider will
typically provide interfaces to networking features (such as virtual network
switches) that consumers may use to configure custom virtual networks within the
provider's infrastructure. The consumer will typically maintain complete control
over the operation of the guest operating system in each VM, and all software
layers above it. While this structure grants very significant control over the
software stack to consumers, consumers consequently must take on the
responsibility to operate, update, and configure these traditional computing
resources for security and reliability. This structure contrasts significantly with
SaaS and PaaS clouds where many of these issues are handled transparently for
consumers.
There are 3 different service models described before, all of them take the
following form:
19
Chapter 4: Cloud Computing Service Models
XaaS is not a clearly defined term but a living reference used to describe whatever
the current level of integration provides.
All provided cloud services aligned with “as a Service” term is rapidly expanding
and often masked by media and cloud vendors/providers who redefine “aaS”
concepts to best suit marketing for their own unique offerings.
Cloud IaaS resources are available for consumption not only by other cloud
services but also by traditional constructed applications.
Figure 4.13 illustrates this within the presented blog, where a standard server-
deployed WordPress add-on provides nightly backups to his cloud Dropbox
storage allocation.
Cloud and traditional resources can be mixed to create what is being increasingly
referred to simply as” Everything as a Service (XaaS)”. Whatever the future holds,
it is clear that cloud computing will enhance flexibility and availability to meet an
increasingly mobile global population of consumers.
20
Chapter 4: Cloud Computing Service Models
21
Chapter (5): Virtualization
Aim of study
Contents Pages
5.1 Virtualization as a Cloud Computing Enabler 2
1
Chapter (5): Virtualization
Chapter (5)
Virtualization
Virtualization and cloud computing are tightly coupled and related, and both
vendors and solution providers are increasingly using virtualization to build clouds.
The sum of these savings can be huge, depending on the size of the enterprise.
Sometimes, Cloud computing and virtualization are used interchangeably, but this
is incorrect.
2
Chapter (5): Virtualization
Again, virtualization is not cloud computing, but rather an enabler for establishing
and managing clouds.
3
Chapter (5): Virtualization
In other words, virtualization could be restated from the data center and IT
perspective as “the process of implementing a collection of technological
capabilities required to hide the physical characteristics of server resources,
network resources, and storage resources from the way in which systems,
applications, or end users interact with those resources.”
With virtual memory, for example, computer software gains access to more
memory than is physically installed, via the background swapping of data to disk
storage. Similarly, virtualization techniques can be applied to other IT
4
Chapter (5): Virtualization
Figure 5.1: Virtualization layer and the situation before and after Virtualization.
5
Chapter (5): Virtualization
To be more familiar with virtualization concept, figure 5.2 re-illustrates before and
after virtualization.
6
Chapter (5): Virtualization
Performance metrics before and after virtualization are compared and tabulated in
table 5.1 which show that after virtualization is more efficient in resource
utilization, independence, program running efficiency, and security.
7
Chapter (5): Virtualization
- Hypervisor
A hypervisor, also called virtual machine monitor (VMM), is a software layer
between physical servers and operating systems (OSs), allowing multiple OSs and
applications to share hardware resources.
A hypervisor is the primary OS in the virtual environment in the bare-metal
architecture. It can access all physical devices, such as disks and memory on a
server. It coordinates accesses to the hardware resources and protects VMs. When
a server starts and runs the hypervisor, the hypervisor loads OSs of all VM clients
and allocates required memories, CPUs, networks, and disks to each VM.
- Para-virtualization
In Para-virtualization the kernel of the guest operating system is modified specifically to run
on the hypervisor. This typically involves replacing any privileged operations that will only
run in ring 0 of the CPU with calls to the hypervisor (known as hypercalls). The hypervisor
in turn performs the task on behalf of the guest kernel.
This typically limits support to open source operating systems such as Linux which may be
freely altered and proprietary operating systems where the owners have agreed to make the
necessary code modifications to target a specific hypervisor.
8
Chapter (5): Virtualization
- Full Virtualization
Full virtualization provides support for unmodified guest operating systems. The term
unmodified refers to operating system kernels which have not been altered to run on a
hypervisor and therefore still execute privileged operations as though running in ring 0 of the
CPU.
In this scenario, the hypervisor provides CPU emulation to handle and modify privileged and
protected CPU operations made by unmodified guest operating system kernels.
Unfortunately this emulation process requires both time and system resources to operate
resulting in inferior performance levels when compared to those provided by Para-
virtualization.
- Host OS
A host OS is the OS installed on the physical machine on which the virtualization
takes place.
- Guest OS
A guest OS is the OS running on a VM.
This simulated environment is called a virtual machine (VM). There are many
forms of virtualization, distinguished primarily by computing architecture layer.
9
Chapter (5): Virtualization
According to NIST; in full virtualization, one or more OSs and the applications
they contain are run on top of virtual hardware. Each instance of an OS and its
applications runs in a separate VM called a guest operating system.
The guest OSs on a host are managed by the hypervisor, also called the virtual
machine monitor (VMM), which controls the flow of instructions between the guest
OSs and the physical hardware, such as CPU, disk storage, memory, and network
interface cards.
The hypervisor can partition the system’s resources and isolate the guest OSs so
that each has access to only its own resources, as well as possible access to shared
resources such as files on the host OS. Also, each guest OS can be completely
encapsulated, making it portable. Some hypervisors run on top of another OS,
which is known as the host operating system.
10
Chapter (5): Virtualization
In full virtualization the hypervisor provides most of the same hardware interfaces
as those provided by the hardware’s physical platform.
This means that the OSs and applications running within full virtualization do not
need to be modified for virtualization to work if the OSs and applications are
compatible with the underlying hardware.
Virtualization architectures are classified into the following 2 types based on the
position in the system:
- Hosted virtualization architecture
- Bare-metal virtualization architecture
11
Chapter (5): Virtualization
12
Chapter (5): Virtualization
- Server virtualization
- Storage virtualization
- Network virtualization
- Service virtualization
13
Chapter (5): Virtualization
14
Chapter (5): Virtualization
Virtualization
Technology
Full
Processor
Virtualization
Para-
Memory
Virtualization
Hardware-
I/O assisted
Virtualization
15
Chapter (5): Virtualization
Physical servers are virtualized into logical resources, which are distinguished by
priority levels and allocated on demand.
16
Chapter (5): Virtualization
- Processor
- Memory
- I/O
I/O virtualization allows VMs to access required I/O resources, isolates I/O
resources, and lowers the virtualization costs.
- Full Virtualization
In full virtualization, the virtual machine monitor (VMM) implements
virtualization of CPUs, memory, and device I/O without modification of guest OSs
and hardware. Full virtualization provides high compatibility but brings extra
overheads to processors.
17
Chapter (5): Virtualization
-Para-Virtualization
In Para-virtualization, the VMM implements CPU and memory virtualization. The
guest OS implements device I/O virtualization. The guest OS need to be modified
to coordinate with the VMM. Para-virtualization provides high performance but
poor compatibility.
-Hardware-assisted
18
Chapter (5): Virtualization
Virtualization hides the complex process of where the data needs to be stored and
bringing it back and presenting it to the user when it is required.
19
Chapter (5): Virtualization
20
Chapter (5): Virtualization
21
List of Figures
Figure 1.1 Huawei Cloud Computing View.
Figure 1.2 An example of the cloud symbol in network
diagrams.
Figure 2.1 The Conceptual Reference Model.
Figure 2.2 Cloud Actors.
Figure 2.3 Interactions between the actors in Cloud
Computing.
Figure 2.4 Usage Scenario for Cloud Brokers.
Figure 2.5 Usage Scenario for Cloud Carriers.
Figure 2.6 Usage Scenario of Cloud Auditor.
Figure 2.7 Example service available to cloud consumer.
Figure 2.8 Cloud Provider Major Activities.
Figure 2.9 Cloud Broker Service Intermediation.
Figure 2.10 Cloud Broker Service Aggregation
Figure 2.11 Cloud Broker Complex Service Aggregation
Figure 2.12 Cloud Broker Service Arbitrage
Figure 3.1 Level of elasticity and Pay-per-use of different
cloud deployment types.
Figure 3.2 Cloud Computing Deployment Models
Figure 3.3 Public cloud.
Figure 3.4 On-site Private Cloud.
Figure 3.5 Out-Sourced Private Cloud.
Figure 3.6 On-site Community Cloud
Figure 3.7 Outsourced Community Cloud.
Figure 3.8 Hybrid Cloud (includes two or more cloud models
and may contain all models in some cases).
Figure 4.1 Service Delivery Models.
Figure 4.2 Service models Pyramid like representation.
Figure 4.3 Cloud service models aligned with their principle
consuming populations.
Figure 4.4 Some examples of SaaS providers and applications.
Figure 4.4 Example Gmail cloud SaaS client for email
accessed using Google’s Chrome web Browser.
Figure 4.5 SaaS Provider/Consumer Scope of Control
Figure 4.6 Some examples of PaaS providers and applications.
Figure 4.7 Microsoft’s Windows Azure PaaS development
resources illustrating its supported variety of
programming languages.
1
Figure 4.8 PaaS Component Stack and Scope of Control
Figure 4.9 Some examples of IaaS providers and applications.
Figure 4.10 Windows Azure Platform management console,
showing two existing virtual machines configured
as database servers for development access using a
Visual Studio utility.
Figure 4.11 IaaS Component Stack and Scope of Control.
Figure 4.12 A WordPress blog is backed up each night to
Dropbox by a third-party application that consumes
the IaaS cloud storage aspect of Dropbox.
Figure 5.1 Virtualization layer and the situation before and
after Virtualization.
Figure 5.2 Before and after Virtualization.
Figure 5.3 Hosted Virtualization Architecture.
Figure 5-4 Bare-metal virtualization architecture.
Figure 5.5 Virtualization Types.
Figure 5.6 Virtualization Technologies and its Sub-types.
2
List of Tables
3
List of Abbreviation
4
VMM Virtual Machine Monitor
VN-Link Virtual Network Link
VPC Virtual Private Cloud
VPN Virtual Private Network
VRF Virtual Routing and Forwarding
VSS Virtual Software Switch
XaaS Everything as a Service
5
List of Tables
Table 1.1 Difference between distributed computing, grid
computing, and utility computing technologies.
Table 2.1 Actors in Cloud Computing.
Table 5.1 Performance Metrics before and after Virtualization.