0% found this document useful (0 votes)
22 views

Cloud Computing

Uploaded by

Mirna Attallah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Cloud Computing

Uploaded by

Mirna Attallah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 126

Cloud

‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Computing
2023/2024 2023/2024 2023/2024

Compiled and Edited

By

Dr. Arwa Abulwafa


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫‪2023/2024‬‬
[email protected] [email protected] [email protected]

Table of Contents

Chapter (1): Introduction to Distributed Systems ……………………… 1

Chapter (2): Overview of Cloud Computing ……………………………….. 16

Chapter (3): Service and Deployment Models .…………………………….. 39

Chapter (4): Cloud Computing Virtualization ……………………………… 56


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Chapter (5): Cloud Migration ………………………………………………….. 76

Chapter (6): Resource Management ………………………………………… 88

References ………….……………………………………………………… 101

Worksheets

2023/2024 2023/2024 2023/2024


[email protected] [email protected] [email protected]
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2023/2024 2023/2024 2023/2024


Chapter (1)
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Introduction
to
Distributed
2023/2024 2023/2024 2023/2024

Systems
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫‪2023/2024‬‬
[email protected] [email protected] [email protected]

Chapter (1)
Introduction to Distributed Systems
A distributed system is a system of multiple nodes that are physically separated but linked
together using the network. Each of these nodes includes a small amount of the distributed
operating system software. Every node in this system communicates and shares resources
with each other and handles processes in a team. Distributed systems are a growing trend as
more and more applications migrate to the cloud. They allow improved performance,
scalability, and fault tolerance compared to a traditional centralized system. This Distributed
System tutorial will cover all the basic to advanced topics of distributed systems like
communication, remote procedure calls, Distributed File Systems, Distributed shared
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

memory, etc. to provide you with a thorough overview of distributed systems.


In this chapter, we will go through the fundamentals, the difficulties in developing and
putting distributed systems into practice, as well as the methods and tools employed to
overcome these difficulties. You will discover more about distributed systems and their
functioning at the chapter’s conclusion.

1.1 Distributed Systems


A Distributed Computer System consists of multiple software components that are on
multiple computers, but run as a single system. The computers that are in a distributed system
can be physically close together and connected by a local network, or they can be
2023/2024
geographically distant and connected by a2023/2024 2023/2024 system can
wide area network. A distributed
consist of any number of possible configurations, such as mainframes, personal computers,
workstations, minicomputers, and so on. The goal of distributed computing is to make such a
network work as a single computer.
A Distributed System includes multiple physically different nodes linked together using the
network. All the nodes in this system communicate with each other and control processes in a
team. Nodes include a small portion of the distributed operating system software. It connects
multiple computers through a single channel. It uses many central processors to serve
multiple real-time applications and users.
A distributed system contains multiple nodes that are physically separate but linked together
using the network. All the nodes in this system communicate with each other and handle
processes in tandem. Each of these nodes contains a small part of the distributed operating
system software.
Distributed System is a collection of autonomous computer systems that are physically
separated but are connected by a centralized computer network that is equipped with
distributed system software. The autonomous computers will communicate among each
system by sharing resources and files and performing the tasks assigned to them.

1
[email protected] [email protected] [email protected]
Introduction to Distributed Systems

Figure 1. 1 Distributed Operating System

Distributed systems offer many benefits over Centralized systems, including the following:
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Scalability
The system can easily be expanded by adding more machines as needed.
 Redundancy
Several machines can provide the same services, so if one is unavailable, work does not
stop. Additionally, because many smaller machines can be used, this redundancy does not
need to be prohibitively expensive.

1.2 Distributed Computing Systems


Distributed
2023/2024 Computing Systems can run 2023/2024
on hardware that is provided 2023/2024
by many vendors,
and can use a variety of standards-based software components. Such systems are independent
of the underlying software. They can run on various operating systems, and can use various
communications protocols. Some hardware might use UNIX or Linux as the operating
system, while other hardware might use Windows operating systems. For intermachine
communications, this hardware can use SNA or TCP/IP on Ethernet or Token Ring.
You can organize software to run on distributed systems by separating functions into two
parts: clients and servers. This is described in the client/server model. A common design of
client/server systems uses three tiers, as described in Three-tiered client/server architecture.

1.3 Distributed Operating System


A distributed operating system (DOS) is an essential type of operating system. Distributed
systems use many central processors to serve multiple real-time applications and users. As a
result, data processing jobs are distributed between the processors.
It connects multiple computers via a single communication channel. Furthermore, each of
these systems has its own processor and memory. Additionally, these CPUs communicate via
high-speed buses or telephone lines. Individual systems that communicate via a single
channel are regarded as a single entity. They're also known as loosely coupled systems.

2
[email protected] [email protected] [email protected]
Chapter (1)

Figure 1. 2 distributed operating system (DOS)

This operating system consists of numerous computers, nodes, and sites joined together via
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

LAN/WAN lines. It enables the distribution of full systems on a couple of center processors,
and it supports many real-time products and different users. Distributed operating systems
can share their computing resources and I/O files while providing users with virtual machine
abstraction.

1.4 Types of Distributed Systems


There are various types of arrangement of distributed systems:
 Client/server systems
In client-server systems, the client requests a resource or file and the server fetches that
resource.
2023/2024 Users and servers usually communicate
2023/2024 through a computer2023/2024
network, so they
are a part of distributed systems. A client is in contact with just one server.
Client-Server Systems are also referred to as "Tightly Coupled Operating Systems".
This system is primarily intended for multiprocessors and homogenous multicomputer.
Client-Server Systems function as a centralized server since they approve all requests
issued by client systems.
Server systems can be divided into two parts:

1. Computer Server System


This system allows the interface, and the client then sends its own requests to be executed
as an action. After completing the activity, it sends a back response and transfers the
result to the client.

2. File Server System


It provides a file system interface for clients, allowing them to execute actions like file
creation, updating, deletion, and more.

3
[email protected] [email protected] [email protected]
Introduction to Distributed Systems

 Peer-to-peer systems
The peer-to-peer techniques contain nodes that are equal participants in data sharing. The
nodes communicate with each other as needed to share resources. This is done with the
help of a network. All the tasks are equally separated between all the nodes.
The nodes play an important role in this system. The task is evenly distributed among the
nodes. Additionally, these nodes can share data and resources as needed. Once again, they
require a network to connect.
The Peer-to-Peer System is known as a "Loosely Couple System". This concept is used
in computer network applications since they contain a large number of processors that do
not share memory or clocks. Each processor has its own local memory, and they interact
with one another via a variety of communication methods like telephone lines or high-
speed buses.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Middleware:
Middleware can be thought of as an application that sits between two separate
applications and provides service to both. It works as a base for different interoperability
applications running on different operating systems. Data can be transferred to other
between others by using this service.
Middleware enables the interoperability of all applications running on different operating
systems. Those programs are capable of transferring all data to one other by using these
services.

 Three-tier:
2023/2024 2023/2024 2023/2024

Three-tier system uses a separate layer and server for each function of a program. In this
data of the client is stored in the middle tier rather than sorted into the client system or on
their server through which development can be done easily. It includes an Application
Layer, Data Layer, and Presentation Layer. This is mostly used in web or online
applications.
The information about the client is saved in the intermediate tier rather than in the client,
which simplifies development. This type of architecture is most commonly used in online
applications.

 N-tier:
N-tier is also called a multitier distributed system. The N-tier system can contain any
number of functions in the network. N-tier systems contain similar structures to three-tier
architecture. When interoperability sends the request to another application to perform a
task or to provide a service. N-tier is commonly used in web applications and data
systems.
When a server or application has to transmit requests to other enterprise services on the
network, n-tier systems are used.

4
[email protected] [email protected] [email protected]
Chapter (1)

1.5 Examples of Distributed System


Any Social Media can have its Centralized Computer Network as its Headquarters and
computer systems that can be accessed by any user and using their services will be the
Autonomous Systems in the Distributed System Architecture.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 1. 3 Representation of Distributed System

Distributed System Software:


This Software enables computers to coordinate their activities and to share the
resources such as Hardware, Software, Data, etc.

Database:
2023/2024 2023/2024 2023/2024
It is used to store the processed data that are processed by each Node/System of the
Distributed systems that are connected to the Centralized network.

Figure 1. 4 Working of Distributed System

As we can see that each Autonomous System has a common Application that can have its
own data that is shared by the Centralized Database System.

5
[email protected] [email protected] [email protected]
Introduction to Distributed Systems

To Transfer the Data to Autonomous Systems, Centralized System should be having a


Middleware Service and should be connected to a Network.
Middleware Services enable some services which are not present in the local systems or
centralized system default by acting as an interface between the Centralized System and the
local systems. By using components of Middleware Services systems communicate and
manage data.
The Data which is been transferred through the database will be divided into segments or
modules and shared with Autonomous systems for processing.
The Data will be processed and then will be transferred to the Centralized system through the
network and will be stored in the database.

1.6 Examples of Distributed Operating System


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

There are various examples of the distributed operating system. Some of them are as follows:
 Solaris: It is designed for the SUN multiprocessor workstations
 OSF/1: It's compatible with Unix and was designed by the Open Foundation Software
Company.
 Micros: The MICROS operating system ensures a balanced data load while allocating
jobs to all nodes in the system.
 DYNIX: It is developed for the Symmetry multiprocessor computers.
 Locus: It may be accessed local and remote files at the same time without any
location hindrance.
 Mach: It allows the multithreading and multitasking features.
2023/2024 2023/2024 2023/2024

1.7 Characteristics of Distributed System


Resource Sharing: It is the ability to use any Hardware, Software, or Data anywhere in the
System.
Openness: It is concerned with Extensions and improvements in the system (i.e., How
openly the software is developed and shared with others)
Concurrency: It is naturally present in Distributed Systems, that deal with the same activity
or functionality that can be performed by separate users who are in remote locations. Every
local system has its independent Operating Systems and Resources.
Scalability: It increases the scale of the system as a number of processors communicate with
more users by accommodating to improve the responsiveness of the system.
Fault tolerance: It cares about the reliability of the system if there is a failure in Hardware or
Software, the system continues to operate properly without degrading the performance the
system.
Transparency: It hides the complexity of the Distributed Systems to the Users and
Application programs as there should be privacy in every system.
Heterogeneity: Networks, computer hardware, operating systems, programming languages,
and developer implementations can all vary and differ among dispersed system components.

6
[email protected] [email protected] [email protected]
Chapter (1)

1.8 Advantages of Distributed System


 Applications in Distributed Systems are Inherently Distributed Applications.
 Information in Distributed Systems is shared among geographically distributed users.
 Resource Sharing (Autonomous systems can share resources from remote locations).
 It has a better price performance ratio and flexibility.
 It has shorter response time and higher throughput.
 It has higher reliability and availability against component failure.
 It has extensibility so that systems can be extended in more remote locations and also
incremental growth.

1.9 Disadvantages of Distributed System


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Relevant Software for Distributed systems does not exist currently.


 Security possesses a problem due to easy access to data as the resources are shared to
multiple systems.
 Networking Saturation may cause a hurdle in data transfer i.e., if there is a lag in the
network then the user will face a problem accessing data.
 In comparison to a single user system, the database associated with distributed
systems is much more complex and challenging to manage.
 If every node in a distributed system tries to send data at once, the network may
become overloaded.

1.10 Applications Area of Distributed System:


2023/2024 2023/2024 2023/2024
 Finance and Commerce: Amazon, eBay, Online Banking, E-Commerce websites.
 Information Society: Search Engines, Wikipedia, Social Networking, Cloud
Computing.
 Cloud Technologies: AWS, Salesforce, Microsoft Azure, SAP.
 Entertainment: Online Gaming, Music, youtube.
 Healthcare: Online patient records, Health Informatics.
 Education: E-learning.
 Transport and logistics: GPS, Google Maps.
 Environment Management: Sensor technologies.

1.11 Challenges of Distributed Systems


While distributed systems offer many advantages, they also present some challenges that
must be addressed. These challenges include:
 Network latency: The communication network in a distributed system can introduce
latency, which can affect the performance of the system.
 Distributed coordination: Distributed systems require coordination among the
nodes, which can be challenging due to the distributed nature of the system.
 Security: Distributed systems are more vulnerable to security threats than centralized
systems due to the distributed nature of the system.

7
[email protected] [email protected] [email protected]
Introduction to Distributed Systems

 Data consistency: Maintaining data consistency across multiple nodes in a distributed


system can be challenging.

1.12 Features of Distributed Operating System


There are various important goals that must be met to build a distributed system worth the
effort. A distributed system should easily connect users to resources, it should hide the fact
that resources are distributed across a network, must be open, and must be scalable.

 Connecting Users and Resources:


The main goal of a distributed system is to make it easy for users to access remote
resources, and to share them with other users in a controlled manner. Resources can be
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

virtually anything; typical examples of resources are printers, storage facilities, data, files,
web pages, and networks. There are many reasons for sharing resources. One reason is
economics.

 Transparency:
An important goal of a distributed system is to hide the fact that its process and resources
are physically distributed across multiple computers. A distributed system that is capable
of presenting itself to users and applications such that it is only a single computer system
is called transparent. The concept of transparency can be applied to many aspects of a
distributed system as shown in table.
2023/2024 2023/2024 2023/2024

Different Forms of Transparency –

S.No. Transparency Description


(1) Access Hide data representation.
(2) Location Hide location
(3) Migration Move place information.
(4) Relocation Hide moved place relocation.
(5) Replication Hide that a resource is replication.
(6) Concurrency Shared data bases access
(7) Failure Hide fact about resource failure.
(8) Persistence Hide fact about memory location.

 Openness:
Another important goal of distributed systems is openness. An open distributed system is
a system that offers services in standards that describable the syntax and semantics of
those service instances, standard rules in computer networks control the format, content,
and meaning of messages sent and received. Such rules are formalized in the protocols. In
distributed systems, services are typically specified through interfaces, often called
interface definition languages (IDL). Interface definitions written in IDL almost always
capture only the syntax of services. They accurately specify the names of functions that

8
[email protected] [email protected] [email protected]
Chapter (1)

are available with the types of parameters, return values, possible exceptions that can be
raised and so on.

 Scalability:
The uncertain trend in distributed systems is towards larger systems. This observation has
implications for distributed file system design. Algorithms that work well for systems
with 100 machines can work for systems with 1000 machines and none at all for systems
with 10, 000 machines. For starters, the centralized algorithm does not scale well. If
opening a file requires contacting a single centralized server to record the fact that the file
is open then the server will eventually become a bottleneck as the system grows.

 Reliability:
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

The main goal of building distributed systems was to make them more reliable than single
processor systems. The idea is that if some machine goes down, some other machine gets
used to it. In other words, theoretically the reliability of the overall system can be a
Boolean OR of the component reliability. For example, with four file servers, each with a
0.95 chance of being up at any instant, the probability of all four being down
simultaneously is 0.000006, so the probability of at least one being available is (1-
0.000006)= 0.999994, far better than any individual server.

 Performance:
Building a transparent, flexible, reliable
2023/2024
distributed system is useless2023/2024
2023/2024
if it is slow like
molasses. In particular application on a distributed system, it should not deteriorate better
than running some application on a single processor. Various performance metrics can be
used. Response time is one, but so are throughput, system utilization, and amount of
network capacity consumed. Furthermore, the results of any benchmark are often highly
dependent on the nature of the benchmark. A benchmark involves a large number of
independent highly CPU-bound computations which give radically different results than a
benchmark that consists of scanning a single large file for same pattern.

1.13 Evolution of Distributed Computing Systems


Distributed computing systems refer to a network of interconnected devices that share
resources and work together to achieve a common goal. Evolution of distributed computing
systems has been rapid, and it has transformed way we use technology in our daily lives.
From simple file sharing systems to advanced cloud computing, distributed computing
systems have come a long way. In this article, we will discuss evolution of distributed
computing systems and explore some of examples.

1.13.1 Early Days of Distributed Computing


The early days of distributed computing can be traced back to 1960s, where researchers
began experimenting with idea of sharing resources across multiple computers. Concept
gained popularity in 1970s, and early examples of distributed computing systems included

9
[email protected] [email protected] [email protected]
Introduction to Distributed Systems

file-sharing networks and email systems. In 1980s, focus shifted towards client-server
architectures, where one computer acted as a server and provided services to multiple clients.

 Peer-to-Peer Computing
The rise of peer-to-peer computing in late 1990s marked a significant shift in evolution of
distributed computing systems. Peer-to-peer computing refers to a system where
computers on a network can share resources with one another without need for a central
server. Most famous example of peer-to-peer computing is Napster, which allowed users
to share music files with one another. Other notable examples of peer-to-peer computing
include BitTorrent, Gnutella, and Freenet.

 Grid Computing
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Grid computing is another significant milestone in evolution of distributed computing


systems. Grid computing refers to a system where a network of computers can work
together to solve a complex problem. Grid computing is often used in scientific research,
where large amounts of data need to be analyzed. One of most significant grid computing
projects is Large Hadron Collider, which uses a network of computers to analyze vast
amounts of data generated by experiment.

 Cloud Computing
Cloud computing is perhaps most significant development in evolution of distributed
computing systems. Cloud computing refers to a system where users can access
resources, such as servers, storage, and 2023/2024
2023/2024 applications, over internet. Cloud computing has
2023/2024
transformed way businesses operate, allowing them to scale quickly and reduce costs.
Cloud computing services are provided by companies such as Amazon Web Services,
Microsoft Azure, and Google Cloud Platform.

 Internet of Things
The Internet of Things (IoT) is a recent development in evolution of distributed
computing systems. IoT refers to a network of interconnected devices, such as sensors
and appliances that can communicate with one another and share data. IoT has many
applications, including smart homes, smart cities, and industrial automation. IoT relies on
distributed computing systems to process vast amounts of data generated by these
devices.

 Edge Computing
Edge computing is a new trend in distributed computing systems that involves processing
data closer to source rather than sending it to a central location. Edge computing is often used
in applications where low latency is critical, such as self-driving cars and industrial
automation. By processing data at edge of network, edge computing can reduce latency and
improve performance.

10
[email protected] [email protected] [email protected]
Chapter (1)

1.13.2 Examples of Distributed Computing Systems


Let's explore some examples of distributed computing systems in more detail.
 Google Search
Google Search is an example of a distributed computing system that uses a network of
servers to process search queries. When a user enters a search query, it is sent to multiple
servers, each of which processes a portion of query. Results are then combined and
returned to user.

 Bitcoin
Bitcoin is a decentralized digital currency that relies on a distributed computing system to
maintain its ledger. Ledger, called blockchain, is a public record of all Bitcoin
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

transactions. Each node on Bitcoin network has a copy of blockchain, and new
transactions are verified by multiple nodes before they are added to blockchain.

 Amazon Web Services


Amazon Web Services (AWS) is a cloud computing platform that provides a range of
services, including virtual servers, storage, and databases. AWS operates in multiple
regions worldwide, with each region comprising multiple availability zones that are
connected via high-speed networks. AWS also provides tools for managing and scaling
applications running on its platform, such as auto-scaling and load balancing.

 OpenStack
2023/2024 2023/2024 2023/2024

OpenStack is an open-source cloud computing platform that provides infrastructure-as-a-


service (IaaS) capabilities. OpenStack allows users to create and manage virtual
machines, storage, and networks, among other resources. OpenStack can be deployed on-
premises or in public or private clouds.

 Smart Grids
Smart grids are an example of a distributed computing system that is used in electricity
sector. Smart grids use sensors and communication technologies to monitor and manage
flow of electricity across grid. Smart grids can detect faults and reroute power to prevent
blackouts, and they can also integrate renewable energy sources such as solar and wind
power.

1.13.3 Future Trends in Distributed Computing Systems


There are several emerging trends in distributed computing systems that are likely to shape
future of technology. These trends include:

11
[email protected] [email protected] [email protected]
Introduction to Distributed Systems

 Serverless Computing
Serverless computing is a model where cloud provider manages infrastructure and
automatically scales resources based on workload. Developers can write code that runs as
functions without need to manage servers, operating systems, or runtime environments.
Serverless computing is ideal for applications with unpredictable workloads.

 Containerization
Containerization is a lightweight virtualization technology that allows developers to
package applications and their dependencies into a single unit. Containers can run on any
operating system or cloud provider, making it easier to move applications between
environments. Containerization improves application portability, scalability, and
reliability.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Blockchain
Blockchain is a distributed ledger technology that enables secure, transparent, and
tamper-proof transactions. Blockchain has potential to disrupt industries such as finance,
healthcare, and supply chain management. By using a distributed computing system,
blockchain eliminates need for a central authority, making it more resilient to cyber-
attacks and fraud.

 Edge Computing
Edge computing is a model where data2023/2024
2023/2024
processing is done closer to source,
2023/2024
rather than
sending it to a centralized cloud. Edge computing is ideal for applications that require low
latency, such as autonomous vehicles, drones, and industrial automation. Edge computing
reduces amount of data that needs to be sent to cloud, improving efficiency and reducing
costs.

 Quantum Computing
Quantum computing is an emerging technology that uses quantum mechanics to perform
computations that are beyond reach of classical computers. Quantum computing has
potential to revolutionize industries such as finance, cryptography, and drug discovery.
Quantum computing requires a distributed computing system to operate, making it ideal
for cloud providers.

1.13.4 Challenges in Distributed Computing Systems


Despite benefits of distributed computing systems, there are also several challenges that need
to be addressed. These challenges include:

12
[email protected] [email protected] [email protected]
Chapter (1)

 Security
Security is a significant concern in distributed computing systems, as data is transmitted
and stored across multiple nodes. Cyber-attacks such as denial of service (DoS) attacks,
data breaches, and ransomware attacks are a constant threat.

 Scalability
Distributed computing systems must be designed to scale to handle large workloads.
However, scaling a distributed system can be complex and require significant engineering
efforts.

 Fault Tolerance
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Fault tolerance is critical in distributed computing systems, as failures can occur at any
node in system. Systems must be designed to handle these failures without impacting
overall performance or availability of system.

 Complexity
Distributed computing systems are complex, requiring expertise in multiple areas such as
networking, security, and software engineering. This complexity can make it difficult to
design, deploy, and manage distributed systems.

 Interoperability
2023/2024 2023/2024 2023/2024
Distributed computing systems often rely on multiple technologies and protocols, which
can create interoperability issues. Ensuring that different components of system can
communicate with each other is critical for overall performance and reliability of system.

1.14 Design Issues of Distributed System


Distributed System is a collection of autonomous computer systems that are physically
separated but are connected by a centralized computer network that is equipped with
distributed system software. These are used in numerous applications, such as online gaming,
web applications, and cloud computing. However, creating a distributed system is not simple,
and there are a number of design considerations to take into account. The following are some
of the major design issues of distributed systems:

 Heterogeneity:
Heterogeneity is applied to the network, computer hardware, operating system, and
implementation of different developers. A key component of the heterogeneous
distributed system client-server environment is middleware. Middleware is a set of
services that enables applications and end-user to interact with each other across a
heterogeneous distributed system.

13
[email protected] [email protected] [email protected]
Introduction to Distributed Systems

 Openness:
The openness of the distributed system is determined primarily by the degree to which
new resource-sharing services can be made available to the users. Open systems are
characterized by the fact that their key interfaces are published. It is based on a uniform
communication mechanism and published interface for access to shared resources. It can
be constructed from heterogeneous hardware and software.

 Scalability:
The scalability of the system should remain efficient even with a significant increase in
the number of users and resources connected. It shouldn’t matter if a program has 10 or
100 nodes; performance shouldn’t vary. A distributed system’s scaling requires
consideration of a number of elements, including size, geography, and management.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Security:
The security of an information system has three components confidentially, integrity, and
availability. Encryption protects shared resources and keeps sensitive information secrets
when transmitted.

 Failure Handling:
When some faults occur in hardware and the software program, it may produce incorrect
results or they may stop before they have completed the intended computation so
corrective measures should to implement
2023/2024 to handle this case. Failure handling
2023/2024 2023/2024 is difficult

in distributed systems because the failure is partial i, e, some components fail while others
continue to function.

 Concurrency:
There is a possibility that several clients will attempt to access a shared resource at the
same time. Multiple users make requests on the same resources, i.e. read, write, and
update. Each resource must be safe in a concurrent environment. Any object that
represents a shared resource in a distributed system must ensure that it operates correctly
in a concurrent environment.

 Transparency:
Transparency ensures that the distributed system should be perceived as a single entity by
the users or the application programmers rather than a collection of autonomous systems,
which is cooperating. The user should be unaware of where the services are located and
the transfer from a local machine to a remote one should be transparent.

14
[email protected] [email protected] [email protected]
Chapter (1)

1.15 Summary
Distributed systems are becoming increasingly popular due to their high availability,
scalability, and fault tolerance. However, they also present some challenges that must be
addressed. By understanding the characteristics and challenges of distributed systems,
developers can design and implement effective distributed systems that meet the needs of
their users.
The evolution of distributed computing systems has been rapid, and it has transformed way
we use technology. From simple file-sharing systems to advanced cloud computing and
Internet of Things, distributed computing systems have come a long way. Trend towards
decentralization and edge computing is likely to continue, as we see more applications
requiring low latency and high performance. Future of distributed computing is exciting, and
it will undoubtedly play a significant role in shaping technology landscape for years to come.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2023/2024 2023/2024 2023/2024

15
[email protected] [email protected] [email protected]
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2023/2024 2023/2024 2023/2024


Chapter (2)
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Overview
of
Cloud
2023/2024 2023/2024 2023/2024

Computing
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫‪2023/2024‬‬
[email protected] [email protected] [email protected]

Chapter (2)
Overview of Cloud Computing
The popular trend in today's technology driven world is ‘Cloud Computing’. Cloud
computing can be referred to as the storing and accessing of data over the internet rather than
your computer's hard drive. This means you don't access the data from either your computer's
hard drive or over a dedicated computer network (home or office network). Cloud computing
means data is stored at a remote place and is synchronized with other web information. Cloud
Computing provides us means of accessing the applications as utilities over the Internet. It
allows us to create, configure, and customize the applications online.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

One prominent example of cloud computing is Office 365 which allows users to store, access,
edit their MS Office documents online (in browser) without installing the actual program on
their device.

2.1 What is Cloud?


The term Cloud refers to a Network or Internet. In other words, we can say that Cloud is
something, which is present at remote location. Cloud can provide services over public and
private networks, i.e., WAN, LAN or VPN. Applications such as e-mail, web conferencing,
customer relationship management (CRM) execute on cloud.

2.2
2023/2024
What is Cloud Computing?
2023/2024 2023/2024

Cloud Computing refers to manipulating, configuring, and accessing the hardware and
software resources remotely. It offers online data storage, infrastructure, and application.

Figure 2. 1 Cloud Computing

Cloud computing offers platform independency, as the software is not required to be installed
locally on the PC. Hence, the Cloud Computing is making our business applications mobile
and collaborative.

16
[email protected] [email protected] [email protected]
Chapter (2)

2.3 Cloud Computing Components


The three major components of Cloud Computing are: Clients, Data Center, and
Distributed Servers
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 2. 2 Major Components of Cloud Computing


Clients
They are the devices which are used by end-users to manage their resources in cloud;
these devices could be desktop, laptop, smartphone, iPad, and so on. The clients
can be divided into three types (Thin Clients, Mobile, and Thick Clients). Thin
Client does not need to have a high-speed processor and big data storage; it needs to
be able to run a web browser such as (Google Chrome, Firefox, and so on).
Data Center
The applications which are used by the Clients of Cloud Computing are hosted in
many numbers of servers; it could be a building or a room which it is not necessary to
2023/2024 2023/2024 2023/2024
be in your place but must be accessible by the Internet.
Multiple Virtual Machine (VM) can be run together on a single physical server
known as a host; the number of VM will be limited to many factors such as type of
the applications that are run on virtual server, speed, and size of physical server.
Distributed Servers
In order to provide the reliability and availability to servers, the cloud has
distributed the servers in the different geographic area. In the case of failure in the
specific server, then the other server will take the action, on the other hand, to
increase the scalability when an extra server is needed then simply the new one will
be added to the existing one.

2.4 History of Cloud Computing


The concept of Cloud Computing came into existence in the year 1950 with implementation
of mainframe computers, accessible via thin/static clients. Since then, cloud computing has
been evolved from static clients to dynamic ones and from software to services.

17
[email protected] [email protected] [email protected]
Overview of Cloud Computing

Figure 2. 3 The Evolution of Cloud Computing


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2.5 Benefits of Cloud Computing


Cloud Computing has numerous advantages. Some of them are listed below -
 One can access applications as utilities, over the Internet.
 One can manipulate and configure the applications online at any time.
 It does not require installing software to access or manipulating cloud application.
 Cloud Computing offers online development and deployment tools, programming
runtime environment through PaaS model.
 Cloud
2023/2024 resources are available over 2023/2024
the network in a manner that 2023/2024
provides platform
independent access to any type of clients.
 Cloud Computing offers on-demand self-service. The resources can be used without
interaction with cloud service provider.
 Cloud Computing is highly cost effective because it operates at high efficiency with
optimum utilization. It just requires an Internet connection
 Cloud Computing offers load balancing that makes it more reliable.

Figure 2. 4 Cloud Computing Benefits

18
[email protected] [email protected] [email protected]
Chapter (2)

2.6 Risks related to Cloud Computing


Although cloud Computing is a promising innovation with various benefits in the world of
computing, it comes with risks. Some of them are discussed below:
Security and Privacy
It is the biggest concern about cloud computing. Since data management and
infrastructure management in cloud is provided by third-party, it is always a risk to
handover the sensitive information to cloud service providers.
Although the cloud computing vendors ensure highly secured password protected
accounts, any sign of security breach may result in loss of customers and businesses.
Lock In
It is very difficult for the customers to switch from one Cloud Service Provider (CSP)
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

to another. It results in dependency on a particular CSP for service.


Isolation Failure
This risk involves the failure of isolation mechanism that separates storage, memory,
and routing between the different tenants.
Management Interface Compromise
In case of public cloud provider, the customer management interfaces are accessible
through the Internet.
Insecure or Incomplete Data Deletion
It is possible that the data requested for deletion may not get deleted. It happens
because either of the following reasons
2023/2024 2023/2024 2023/2024
Extra copies of data are stored but are not available at the time of deletion
Disk that stores data of multiple tenants is destroyed.

2.7 Characteristics of Cloud Computing


There are four key characteristics of cloud computing. They are shown in the following
diagram:

Figure 2. 5 Cloud Computing characteristics

19
[email protected] [email protected] [email protected]
Overview of Cloud Computing

On Demand Self Service


Cloud Computing allows the users to use web services and resources on demand. One
can logon to a website at any time and use them.
Broad Network Access
Since cloud computing is completely web based, it can be accessed from anywhere
and at any time.
Resource Pooling
Cloud computing allows multiple tenants to share a pool of resources. One can share
single physical instance of hardware, database and basic infrastructure.
Rapid Elasticity
It is very easy to scale the resources vertically or horizontally at any time. Scaling of
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

resources means the ability of resources to deal with increasing or decreasing demand.
The resources being used by customers at any given point of time are automatically
monitored.
Measured Service
In this service cloud provider controls and monitors all the aspects of cloud service.
Resource optimization, billing, and capacity planning etc. depend on it.

2.8 Cloud Computing Planning


Before deploying applications to cloud, it is necessary to consider your business
requirements.
2023/2024 Following are the issues one2023/2024
must consider: 2023/2024

 Data Security and Privacy Requirement


 Budget Requirements
 Type of cloud - public, private or hybrid
 Data backup requirements
 Training requirements
 Dashboard and reporting requirements
 Client access requirements
 Data export requirements
To meet all of these requirements, it is necessary to have well-compiled planning. The
various planning phases, which must be practiced by an enterprise before migrating the entire
business to cloud, will be discussed.

20
[email protected] [email protected] [email protected]
Chapter (2)

Figure 2. 6 Cloud Computing Planning Phases

2.8.1 Strategy Phase


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

In this phase, we analyze the strategy problems that customer might face. There are two steps
to perform this analysis:
 Cloud Computing Value Proposition
 Cloud Computing Strategy Planning

 Cloud Computing Value Proposition


In this, we analyze the factors influencing the customers when applying cloud computing
mode and target the key problems they wish to solve. These key factors are:

2023/2024 ◦ IT management simplification


2023/2024 2023/2024

◦ Operation and maintenance cost reduction


◦ Business mode innovation
◦ Low cost outsourcing hosting
◦ High service quality outsourcing hosting.
All of the above analysis helps in decision making for future development.

 Cloud Computing Strategy Planning


The strategy establishment is based on the analysis result of the above step. In this step, a
strategy document is prepared according to the conditions a customer might face when
applying cloud computing mode.

2.8.2 Planning Phase


This step performs analysis of problems and risks in the cloud application to ensure the
customers that the cloud computing is successfully meeting their business goals. This phase
involves the following planning steps:
 Business Architecture Development
 IT Architecture development

21
[email protected] [email protected] [email protected]
Overview of Cloud Computing

 Requirements on Quality of Service Development


 Transformation Plan development

 Business Architecture Development


In this step, we recognize the risks that might be caused by cloud computing
application from a business perspective.

 IT Architecture Development
In this step, we identify the applications that support the business processes and the
technologies required to support enterprise applications and data systems.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Requirements on QoS Development


Quality of service refers to the non-functional requirements such as reliability,
security, disaster recovery, etc. The success of applying cloud computing mode
depends on these non-functional factors.

 Transformation Plan Development


In this step, we formulate all kinds of plans that are required to transform current
business to cloud computing modes.

2023/2024 2023/2024 2023/2024


2.8.3 Deployment Phase
This phase focuses on both of the above two phases. It involves the following two steps:
 Selecting Cloud Computing Provider
 Maintenance and Technical Service

 Selecting Cloud Computing Provider


This step includes selecting a cloud provider on basis of Service Level Agreement (SLA),
which defines the level of service the provider will meet.

 Maintenance and Technical Service


Maintenance and Technical services are provided by the cloud provider. They need to
ensure the quality of services

2.9 Cloud Computing Architecture


Cloud Computing, which is one of the demanding technologies of the current time and which
is giving a new shape to every organization by providing on demand virtualized
services/resources. Starting from small to medium and from medium to large, every

22
[email protected] [email protected] [email protected]
Chapter (2)

organization use cloud computing services for storing information and accessing it from
anywhere and anytime only with the help of internet. In this article, we will know more about
the internal architecture of cloud computing.
Transparency, scalability, security and intelligent monitoring are some of the most important
constraints which every cloud infrastructure should experience. Current research on other
important constraints is helping cloud computing system to come up with new features and
strategies with a great capability of providing more advanced cloud solutions. Figure 2.6
represents an internal architectural view of cloud computing. The cloud architecture is
divided into 2 parts i.e. Frontend and Backend.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 2. 7 Architecture of Cloud Computing

Architecture
2023/2024 of cloud computing is the 2023/2024
combination of both SOA 2023/2024
(Service Oriented
Architecture) and EDA (Event Driven Architecture). Client infrastructure, application,
service, runtime cloud, storage, infrastructure, management and security all these are the
components of cloud computing architecture.

2.9.1 Frontend
Frontend of the cloud architecture refers to the client side of cloud computing system. Means
it contains all the user interfaces and applications which are used by the client to access the
cloud computing services/resources. For example, use of a web browser to access the cloud
platform.
Client Infrastructure
Client Infrastructure is a part of the frontend component. It contains the applications and
user interfaces which are required to access the cloud platform. In other words, it provides
a GUI (Graphical User Interface) to interact with the cloud.

2.9.2 Backend
Backend refers to the cloud itself which is used by the service provider. It contains the
resources as well as manages the resources and provides security mechanisms. Along with
this, it includes huge storage, virtual applications, virtual machines, traffic control
mechanisms, deployment models, etc.

23
[email protected] [email protected] [email protected]
Overview of Cloud Computing

Application
Application in backend refers to a software or platform to which client accesses.
Means it provides the service in backend as per the client requirement.
Service
Service in backend refers to the major three types of cloud based services like SaaS,
PaaS and IaaS. Also manages which type of service the user accesses.
Runtime Cloud
Runtime cloud in backend provides the execution and Runtime platform/environment
to the Virtual machine.
Storage
Storage in backend provides flexible and scalable storage service and management of
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

stored data.
Infrastructure
Cloud Infrastructure in backend refers to the hardware and software components of
cloud like it includes servers, storage, network devices, virtualization software etc.
Management
Management in backend refers to management of backend components like
application, service, runtime cloud, storage, infrastructure, and other security
mechanisms etc.
Security
Security in backend refers to implementation
2023/2024 2023/2024
of different security mechanisms
2023/2024
in the
backend for secure cloud resources, systems, files, and infrastructure to end-users.

2.9.3 Internet
Internet connection acts as the medium or a bridge between frontend and backend and
establishes the interaction and communication between frontend and backend.

2.10 Cloud Computing Infrastructure


Cloud computing refers to providing on demand services to the customer anywhere and
anytime irrespective of everything where the cloud infrastructure represents the one who
activates the complete cloud computing system. Cloud infrastructure has more capabilities of
providing the same services as the physical infrastructure to the customers. It is available for
private cloud, public cloud, and hybrid cloud systems with low cost, greater flexibility and
scalability.
Cloud infrastructure consists of servers, storage devices, network, cloud management
software, deployment software, and platform virtualization.

24
[email protected] [email protected] [email protected]
Chapter (2)

2.10.1 Cloud Computing Infrastructure Components


Different components of cloud infrastructure support the computing requirements of a cloud
computing model. Cloud infrastructure has number of key components but not limited to only
server, software, network and storage devices.

Figure 2. 8 Cloud Infrastructural Components


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Hypervisor
Hypervisor is a firmware or low-level program that acts as a Virtual Machine
Manager. It allows sharing the single physical instance of cloud resources between
several tenants.

Management Software
It helps to maintain and configure the infrastructure.

Deployment Software
2023/2024 2023/2024 2023/2024
It helps to deploy and integrate the application on the cloud.

Network
It is the key component of cloud infrastructure. It allows connecting cloud services
over the Internet. It is also possible to deliver network as a utility over the Internet,
which means, the customer can customize the network route and protocol.

Server
The server helps to compute the resource sharing and offers other services such as
resource allocation and de-allocation, monitoring the resources, providing security
etc.

Storage
Cloud keeps multiple replicas of storage. If one of the storage resources fails, then it can
be extracted from another one, which makes cloud computing more reliable.

25
[email protected] [email protected] [email protected]
Overview of Cloud Computing

2.10.2 Cloud Computing Infrastructure Constraints


Fundamental constraints that cloud infrastructure should implement are shown in the
following diagram:

Figure 2. 9 Cloud Computing Infrastructure Constraints


Transparency
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Virtualization is the key to share resources in cloud environment. But it is not possible
to satisfy the demand with single resource or server. Therefore, there must be
transparency in resources, load balancing and application, so that we can scale them
on demand.

Scalability
Scaling up an application delivery solution is not that easy as scaling up an
application because it involves configuration overhead or even re-architecting the
network. So, application delivery solution is needed to be scalable which will require
the virtual infrastructure such that resource can be provisioned and de-provisioned
easily.
2023/2024 2023/2024 2023/2024

Intelligent Monitoring
To achieve transparency and scalability, application solution delivery will need to be
capable of intelligent monitoring.

Security
The mega data center in the cloud should be securely architected. Also the control node,
an entry point in mega data center, also needs to be secure.

Along with this, virtualization is also considered as one of important component of cloud
infrastructure. Because it abstracts the available data storage and computing power away
from the actual hardware and the users interact with their cloud infrastructure through GUI
(Graphical User Interface).

26
[email protected] [email protected] [email protected]
Chapter (2)

2.11 Advantages of Cloud Computing:


 Scalability:
o One of the best advantages of cloud computing is scalability.
Maintaining a business, organization, or another element is trying in
ideal circumstances. Especially amid the stresses of downturn,
expansion, pandemic, war, work putting together, and store network
disturbances. Cloud Computing provides the opportunity to scale at
your own speed. Organizations are savvy to have their significant
developments plotted out three to five years ahead of time; however,
the world can be unpredictable. Whether you need to develop
forcefully or carefully or downsize decisively during seasons of unrest,
cloud computing is a business resource you pay for just as and when
you want it.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Security:
o According to certain reports, small private companies are multiple
times more likely to suffer a cyber-attack than large organizations.
That most likely shocks numerous owners of companies. The reasons
are obvious, but — only 33% of organizations with four or fewer
representatives register hacks as a danger. The year 2021 reported
52,974 cybercrime, whereas the year 2020 reported 50,035 cases in
India. Migrating business to the cloud implies approaching industry-
standard information data protection/assurance, firewalls, and
2023/2024
robotized all-day, everyday
2023/2024
network observing. Few2023/2024
out of every odd
organization can bear to hold that sort of IT ability and foundation in-
house.

 Accessible to modern technology:


o Cloud computing is far more than an internet-based storage service for
data. Organizations worldwide currently use cutting-edge technologies
they need to get done with their responsibilities and run their business
over the web utilizing the cloud. Some technology available on a cloud
platform includes Artificial Intelligence and Machine Learning, Data
Analytics, Data Visualization, Containerization, etc. The Public Cloud
Market Set to Surpass US $500 BN by 2023. The opportunity to build
powerful AI applications and machine learning models without buying
actual physical servers is a strong motivation.

 Cheaper:
o The cloud computing model is based on the ‘pay-as-you-go’ principle
and offers a possibly less expensive way for organizations to remain
coordinated and online. Albeit the costs for hard drives, strong state
drives, servers, and other fundamental things have fallen lately, cloud
computing proves to be the best regarding cost expenses. It’s still more

27
[email protected] [email protected] [email protected]
Overview of Cloud Computing

affordable much of the time to pay a continuous membership expense


for cloud computing access than to buy and afterward keep an in-house
data-processing or warehousing contraption. Organizations don’t have
to look at, search for, and buy actual physical infrastructure when they
have a dependable cloud computing partner.

 Mobility:
o One of the main advantages of cloud computing is mobility.
Employees have the option to compute heavy tasks from anywhere.
Work-life balance and working from home on everyone’s brains
nowadays, information and workflow through the cloud introduces
itself as a sensible investment.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Easy Collaboration:
o A benefit of distributed computing firmly connected with mobility is
simple collaboration. It’s one thing to take your platform,
administration, and information mobile. It’s one more challenge to
gather all the data gathered by your company’s agents, organize it, and
ensure there are no errors or duplicates. Cloud services mean less
complex and less mistake-inclined coordination between organizations,
departments, clients, customers, etc. There’s less time expected to
exchange information and reach a significant conclusion from it, and
everyone works from a similar single source of truth.
2023/2024 2023/2024 2023/2024

 Prediction ability:
o Data analytics deserves more consideration. Cloud computing has
accomplished more powerful predictive analytics than other
technologies. In any event, when you don’t have the machines you
really want under your rooftop, someone on the opposite side of the
globe has a processing limit accessible for you to access for a lower
charge.

2.12 Ways to Manage Computing Capacity:


 Find patterns in historical and current data.
 Make predictions about the market, competitors, and other businesses.
 Reproduce the logical impacts of the business choices you’re thinking about.
 Automate essential fundamental but low-value processes.
 Have gear and resources screen their condition and trade machine telemetry.
 Concentrate on client behavior, feeling, and purchasing behaviors to make
more marketing-promoting efforts or item procedures.

28
[email protected] [email protected] [email protected]
Chapter (2)

There’s practically no restriction to the abilities of advanced big-data analytics. You’re just
restricted by your imagination and how much computing capacity is accessible to you.

2.13 Cloud Computing Evolution


The paradigm of Cloud Computing has contribution of many technologies such as parallel
computing, grid computing, utility computing, virtualization, autonomic computing,
ubiquitous computing, software as a service, web 2.0 and distributed computing.
We will explain some of the technologies which related to Cloud Computing.
 Distributed Systems
◦ It is a collection of multiple independent systems but all of them are depicted
as a single entity to the users.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

◦ The purpose of distributed systems is to share resources and also use them
effectively and efficiently.
◦ Distributed systems possess characteristics such as scalability, concurrency,
continuous availability, heterogeneity, and independence in failures.
◦ But the main problem with this system was that all the systems were required
to be present at the same geographical location.
◦ Thus to solve this problem, distributed computing led to three more types of
computing and they were:
 Mainframe computing,
2023/2024  Cluster computing, and
2023/2024 2023/2024

 Grid computing.

 Mainframe Computing
◦ Mainframes which first came into existence in 1951 are highly powerful and
reliable computing machines.
◦ These are responsible for handling large data such as massive input-output
operations.
◦ Even today these are used for bulk processing tasks such as online
transactions etc.
◦ These systems have almost no downtime with high fault tolerance, and
increase the processing capabilities of the system.
◦ But these were very expensive.
 To reduce this cost, cluster computing came as an alternative to
mainframe technology.

29
[email protected] [email protected] [email protected]
Overview of Cloud Computing

 Cluster Computing
◦ In 1980s, cluster computing came as an alternative to mainframe computing.
◦ Each machine in the cluster was connected to each other by a network with
high bandwidth.
◦ These were way cheaper than those mainframe systems.
◦ These were equally capable of high computations.
◦ Also, new nodes could easily be added to the cluster if it was required.
◦ Thus, the problem of the cost was solved to some extent but the problem
related to geographical restrictions still pertained.
◦ To solve this, the concept of grid computing was introduced.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Grid Computing
◦ It solved large problems with parallel computing
◦ It made mainstream by Globus Alliance.
◦ It is used to shift the workload to the place which requires the computing
resources that are remote and immediately available to be used.
◦ It is split the one main task into many subtasks to be executed in parallel.
◦ Applications are also required by the grid to verify grid software interfaces.

2023/2024 2023/2024 2023/2024


 Parallel Computing
◦ It is to divide the computing problem into many small tasks, and run them at
the same time on a parallel computer.
◦ It is used whenever need of high computing performance, such as in the
field of energy exploration, military, medicine, and biotechnology.
◦ It is a set of many homogeneous processing units, which are able to solve
large computational problems faster through collaboration and
communication.

 Virtualization
◦ It was introduced nearly 40 years back.
◦ It refers to the process of creating a virtual layer over the hardware which
allows the user to run multiple instances simultaneously on the hardware.
◦ It is a key technology used in cloud computing.
◦ It is the base on which major cloud computing services such as Amazon EC2,
VMware vCloud, etc work on.
◦ Hardware virtualization is still one of the most common types of
virtualization.

30
[email protected] [email protected] [email protected]
Chapter (2)

 Web 2.0
◦ It is the interface through which the cloud computing services interact with
the clients.
◦ It is because of Web 2.0 that we have interactive and dynamic web pages.
◦ It also increases flexibility among web pages.
◦ Popular examples of web 2.0 include Google Maps, Facebook, Twitter, etc.
◦ Needless to say, social media is possible because of this technology only.
◦ It gained major popularity in 2004.

 Service Orientation
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

◦ It acts as a reference model for cloud computing.


◦ It supports low-cost, flexible, and evolvable applications.
◦ Two important concepts were introduced in this computing model.
 Quality of Service (QoS) which also includes
 the SLA (Service Level Agreement)
 Software as a Service (SaaS).

 Software as a Service
2023/2024 ◦ It gained momentum in 2001.2023/2024 2023/2024

◦ It is a network-based subscription to applications.


◦ It is a web-based software application which is providing software to
subscribers;
◦ SaaS is a model of software attribution in which the applications have
designed to be delivered through the network.

 Utility Computing
◦ Introduced in late 1990’s.
◦ It offered computing resources as a metered service.
◦ It provides the resources based on the client’s demand and charging them
according to the usage.
◦ It uses a fully utility-based pricing scheme for making reasonable charges to
clients.
◦ With the ability of providing the resources on-demand and fully based pricing
scheme, the utility computing maximizes the use of resources and minimizes
the cost of providing resources.

31
[email protected] [email protected] [email protected]
Overview of Cloud Computing

Figure 2. 10 Cloud Computing Evaluation


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2.14 Cloud Computing Technologies


There are certain technologies working behind the cloud computing platforms making cloud
computing flexible, reliable, and usable.
These technologies are listed below:
 Virtualization
 Service-Oriented Architecture (SOA)
 Grid Computing
 Utility Computing

2.14.1 Virtualization
2023/2024 2023/2024 2023/2024
Virtualization is a technique, which allows sharing single physical instance of an application
or resource among multiple organizations or tenants (customers).
It does this by:
 Assigning a logical name to a physical resource and
 Providing a pointer to that physical resource when demanded.
The Multitenant architecture offers virtual isolation among the multiple tenants. Hence, the
organizations can use and customize their application as though they each have their
instances running.

Figure 2. 11 Virtualization of Cloud

32
[email protected] [email protected] [email protected]
Chapter (2)

2.14.2 Service-Oriented Architecture (SOA)


Service-Oriented Architecture helps to use applications as a service for other applications
regardless the type of vendor, product or technology. Therefore, it is possible to exchange the
data between applications of different vendors without additional programming or making
changes to services.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 2. 12 Service-Oriented Architecture

2.14.3 Grid Computing


Grid Computing refers to distributed computing, in which a group of computers from
multiple locations are connected with each other to achieve a common objective. These
computer resources are heterogeneous and geographically dispersed.
Grid Computing breaks complex task into smaller
2023/2024 2023/2024 pieces, which are distributed to CPUs that
2023/2024
reside within the grid.

Figure 2. 13 Grid Computing

2.14.4 Utility Computing


Utility computing is based on Pay-per-Use model. It offers computational resources on
demand as a metered service. Cloud computing, grid computing, and managed IT services
are based on the concept of utility computing.

33
[email protected] [email protected] [email protected]
Overview of Cloud Computing

2.15 Cloud Computing Applications


Cloud service providers provide various applications in the field of art, business, data storage
and backup services, education, entertainment, management, social networking, etc.
The most widely used cloud computing applications are given below
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 2. 14 Cloud Computing Applications

2.15.1 Art Applications


Cloud computing offers various art applications for quickly and easily design attractive
cards, booklets, and images. Some most commonly used cloud art applications are given
below:
2023/2024 2023/2024 2023/2024

 Moo
Moo is one of the best cloud art applications. It is used for designing and printing business
cards, postcards, and mini cards.
 Vistaprint
Vistaprint allows us to easily design various printed marketing products such as business
cards, Postcards, Booklets, and wedding invitations cards.
 Adobe Creative Cloud
Adobe creative cloud is made for designers, artists, filmmakers, and other creative
professionals. It is a suite of apps which includes PhotoShop image editing programming,
Illustrator, InDesign, TypeKit, Dreamweaver, XD, and Audition.

2.15.2 Business Applications


Business applications are based on cloud service providers. Today, every organization
requires the cloud business application to grow their business. It also ensures that business
applications are 24*7 available to users.

34
[email protected] [email protected] [email protected]
Chapter (2)

There are the following business applications of cloud computing:


 MailChimp
MailChimp is an email publishing platform which provides various options to design, send,
and save templates for emails.
 Salesforce
Salesforce platform provides tools for sales, service, marketing, e-commerce, and more. It
also provides a cloud development platform.
 Chatter
Chatter helps us to share important information about the organization in real time.
 Bitrix24
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Bitrix24 is a collaboration platform which provides communication, management, and social


collaboration tools.
 Paypal
Paypal offers the simplest and easiest online payment mode using a secure internet account.
Paypal accepts the payment through debit cards, credit cards, and also from Paypal account
holders.
 Slack
Slack stands for Searchable Log of all Conversation and Knowledge. It provides a user-
friendly interface that helps us to create public and private channels for communication.
 Quickbooks
2023/2024 2023/2024 2023/2024
Quickbooks works on the terminology "Run Enterprise anytime, anywhere, on any device." It
provides online accounting solutions for the business. It allows more than 20 users to work
simultaneously on the same system.

2.15.3 Data Storage and Backup Applications


Cloud computing allows us to store information (data, files, images, audios, and videos) on
the cloud and access this information using an internet connection. As the cloud provider is
responsible for providing security, so they offer various backup recovery application for
retrieving the lost data.
A list of data storage and backup applications in the cloud are given below:
 Box.com
Box provides an online environment for secure content management, workflow, and
collaboration. It allows us to store different files such as Excel, Word, PDF, and images on
the cloud. The main advantage of using box is that it provides drag & drop service for files
and easily integrates with Office 365, G Suite, Salesforce, and more than 1400 tools.
 Mozy
Mozy provides powerful online backup solutions for our personal and business data. It
schedules automatically back up for each day at a specific time.

35
[email protected] [email protected] [email protected]
Overview of Cloud Computing

 Joukuu
Joukuu provides the simplest way to share and track cloud-based backup files. Many users
use joukuu to search files, folders, and collaborate on documents.
 Google G Suite
Google G Suite is one of the best cloud storage and backup application. It includes Google
Calendar, Docs, Forms, Google+, Hangouts, as well as cloud storage and tools for managing
cloud apps. The most popular app in the Google G Suite is Gmail. Gmail offers free email
services to users.

2.15.4 Education Applications


Cloud computing in the education sector becomes very popular. It offers various online
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

distance learning platforms and student information portals to the students. The advantage of
using cloud in the field of education is that it offers strong virtual classroom environments,
Ease of accessibility, secure data storage, scalability, greater reach for the students, and
minimal hardware requirements for the applications.
There are the following education applications offered by the cloud:
 Google Apps for Education
Google Apps for Education is the most widely used platform for free web-based email,
calendar, documents, and collaborative study.
 Chromebooks for Education
Chromebook for Education is one of the most important Google's projects. It is designed for
the2023/2024 2023/2024
purpose that it enhances education innovation. 2023/2024

 Tablets with Google Play for Education


It allows educators to quickly implement the latest technology solutions into the classroom
and make it available to their students.
 AWS in Education
AWS cloud provides an education-friendly environment to universities, community colleges,
and schools.

2.15.5 Entertainment Applications


Entertainment industries use a multi-cloud strategy to interact with the target audience. Cloud
computing offers various entertainment applications such as online games and video
conferencing.
 Online games
Today, cloud gaming becomes one of the most important entertainment media. It offers
various online games that run remotely from the cloud. The best cloud gaming services are
Shaow, GeForce Now, Vortex, Project xCloud, and PlayStation Now.

36
[email protected] [email protected] [email protected]
Chapter (2)

 Video Conferencing Apps


Video conferencing apps provide a simple and instant connected experience. It allows us to
communicate with our business partners, friends, and relatives using a cloud-based video
conferencing. The benefits of using video conferencing are that it reduces cost, increases
efficiency, and removes interoperability.

2.15.6 Management Applications


Cloud computing offers various cloud management tools which help admins to manage all
types of cloud activities, such as resource deployment, data integration, and disaster recovery.
These management tools also provide administrative control over the platforms, applications,
and infrastructure.
Some important management applications are:
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Toggl
Toggl helps users to track allocated time period for a particular project.
 Evernote
Evernote allows you to sync and save your recorded notes, typed notes, and other notes in
one convenient place. It is available for both free as well as a paid version.
It uses platforms like Windows, macOS, Android, iOS, Browser, and Unix.
 Outright
Outright is used by management users for the purpose of accounts. It helps to track income,
expenses,
2023/2024
profits, and losses in real-time environment.
2023/2024 2023/2024
 GoToMeeting
GoToMeeting provides Video Conferencing and online meeting apps, which allows you to
start a meeting with your business partners from anytime, anywhere using mobile phones or
tablets. Using GoToMeeting app, you can perform the tasks related to the management such
as join meetings in seconds, view presentations on the shared screen, get alerts for upcoming
meetings, etc.

2.15.7 Social Applications


Social cloud applications allow a large number of users to connect with each other using
social networking applications such as Facebook, Twitter, Linkedln, etc.
There are the following cloud based social applications:
 Facebook
Facebook is a social networking website which allows active users to share files, photos,
videos, status, more to their friends, relatives, and business partners using the cloud storage
system. On Facebook, we will always get notifications when our friends like and comment on
the posts.

37
[email protected] [email protected] [email protected]
Overview of Cloud Computing

 Twitter
Twitter is a social networking site. It is a microblogging system. It allows users to follow
high profile celebrities, friends, relatives, and receive news. It sends and receives short posts
called tweets.
 Yammer
Yammer is the best team collaboration tool that allows a team of employees to chat, share
images, documents, and videos.
 LinkedIn
LinkedIn is a social network for students, freshers, and professionals.

2.16 Summary
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Cloud computing brought about a 360-degree shift for IT. The future of cloud will bring
better ways to build products and services, serve customers, and make discoveries. Business
leaders who embrace the potential of cloud computing are sure to gain a competitive edge in
this changing landscape – in the tools and software they choose, the cultures they create, or
the business strategies they execute.

2023/2024 2023/2024 2023/2024

38
[email protected] [email protected] [email protected]
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2023/2024 2023/2024 2023/2024


Chapter (3)
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Service
and
Deployment
2023/2024 2023/2024 2023/2024

Models
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫‪2023/2024‬‬
[email protected] [email protected] [email protected]

Chapter (3)
Service and Deployment Models
In cloud computing, we have access to a shared pool of computer resources (servers, storage,
programs, and so on) in the cloud. You simply need to request additional resources when you
require them. Getting resources up and running quickly is a breeze thanks to the clouds. It is
possible to release resources that are no longer necessary. This method allows you to just pay
for what you use. Your cloud provider is in charge of all upkeep.
Cloud Deployment Model functions as a virtual computing environment with a deployment
architecture that varies depending on the amount of data you want to store and who has
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

access to the infrastructure.

3.1 Types of Cloud Computing Deployment Models


The cloud deployment model identifies the specific type of cloud environment based on
ownership, scale, and access, as well as the cloud’s nature and purpose. The locations of the
servers you’re utilizing and who controls them are defined by a cloud deployment model. It
specifies how your cloud infrastructure will look, what you can change, and whether you will
be given services or will have to create everything yourself. Relationships between the
infrastructure and your users are also defined by cloud deployment types. Different types of
cloud computing deployment models are described below.
 Public
2023/2024 Cloud 2023/2024 2023/2024

 Private Cloud
 Hybrid Cloud
 Community Cloud
 Multi-Cloud

3.1.1 Public Cloud Model


Public Cloud allows systems and services to be easily accessible to general public. The IT
giants such as Google, Amazon and Microsoft offer cloud services via Internet. The Public
Cloud Model is shown in the diagram below.

Figure 3. 1 Public Cloud Model

39
[email protected] [email protected] [email protected]
Service and Deployment Models

Benefits
There are many benefits of deploying cloud as public cloud model. The following diagram
shows some of those benefits:
Cost Effective
Since public cloud shares same resources with large number of customers it turns out
inexpensive.
Reliability
The public cloud employs large number of resources from different locations. If any
of the resources fails, public cloud can employ another one.
Flexibility
The public cloud can smoothly integrate with private cloud, which gives customers a
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

flexible approach.
Location Independence
Public cloud services are delivered through Internet, ensuring location independence.
Utility Style Costing
Public cloud is also based on pay-per-use model and resources are accessible
whenever customer needs them.
High Scalability
Cloud resources are made available on demand from a pool of resources, i.e., they can
be scaled up or down according the requirement.
2023/2024 2023/2024 2023/2024

Disadvantages
Here are some disadvantages of public cloud model:
Low Security
In public cloud model, data is hosted off-site and resources are shared publicly,
therefore does not ensure higher level of security.
Less Customizable
It is comparatively less customizable than private cloud.

3.1.2 Private Cloud Model


Private Cloud allows systems and services to be accessible within an organization. The
Private Cloud is operated only within a single organization. However, it may be managed
internally by the organization itself or by third-party. The private cloud model is shown in the
diagram below.

40
[email protected] [email protected] [email protected]
Chapter (3)

Figure 3. 2 Private Cloud Model

Benefits
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

There are many benefits of deploying cloud as private cloud model. The following diagram
shows some of those benefits:
High Security and Privacy
Private cloud operations are not available to general public and resources are shared
from distinct pool of resources. Therefore, it ensures high security and privacy.
More Control
The private cloud has more control on its resources and hardware than public cloud
because it is accessed only within an organization.
Cost and Energy Efficiency
The private cloud resources are not as cost effective as resources in public clouds but
they
2023/2024 offer more efficiency than public cloud resources.
2023/2024 2023/2024

Disadvantages
Here are the disadvantages of using private cloud model:
Restricted Area of Operation
The private cloud is only accessible locally and is very difficult to deploy globally.
High Priced
Purchasing new hardware in order to fulfill the demand is a costly transaction.
Limited Scalability
The private cloud can be scaled only within capacity of internal hosted resources.
Additional Skills
In order to maintain cloud deployment, organization requires skilled expertise.

3.1.3 Hybrid Cloud Model


Hybrid Cloud is a mixture of public and private cloud. Non-critical activities are performed
using public cloud while the critical activities are performed using private cloud. The Hybrid
Cloud Model is shown in the diagram below.

41
[email protected] [email protected] [email protected]
Service and Deployment Models

Figure 3. 3 Hybrid Cloud Model

Benefits
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

There are many benefits of deploying cloud as hybrid cloud model. The following diagram
shows some of those benefits:
Scalability
It offers features of both, the public cloud scalability and the private cloud scalability.

Flexibility
It offers secure resources and scalable public resources.
Cost Efficiency
Public clouds are more cost effective than private ones. Therefore, hybrid clouds can
be cost saving.
2023/2024 2023/2024 2023/2024
Security
The private cloud in hybrid cloud ensures higher degree of security.

Disadvantages
Networking Issues
Networking becomes complex due to presence of private and public cloud.
Security Compliance
It is necessary to ensure that cloud services are compliant with security policies of the
organization.
Infrastructure Dependency
The hybrid cloud model is dependent on internal IT infrastructure; therefore it is
necessary to ensure redundancy across data centers.

3.1.4 Community Cloud Model


Community Cloud allows system and services to be accessible by group of organizations. It
shares the infrastructure between several organizations from a specific community. It may be

42
[email protected] [email protected] [email protected]
Chapter (3)

managed internally by organizations or by the third-party. The Community Cloud Model is


shown in the diagram below.

Figure 3. 4 Community Cloud Model


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Benefits
There are many benefits of deploying cloud as community cloud model.
Cost Effective
Community cloud offers same advantages as that of private cloud at low cost.

Sharing Among Organizations


Community cloud provides an infrastructure to share cloud resources and capabilities
among several organizations.
Security
2023/2024 2023/2024 2023/2024
The community cloud is comparatively more secure than the public cloud but less
secured than the private cloud.

Issues
 Since all data is located at one place, one must be careful in storing data in
community cloud because it might be accessible to others.
 It is also challenging to allocate responsibilities of governance, security and cost
among organizations.

3.1.5 Multi-cloud Cloud Model


Multi-cloud is the use of multiple cloud computing services from different providers, which
allows organizations to use the best-suited services for their specific needs and avoid vendor
lock-in.
This allows organizations to take advantage of the different features and capabilities offered
by different cloud providers.

43
[email protected] [email protected] [email protected]
Service and Deployment Models

Figure 3. 5 Multicloud Cloud Model

Advantages of using multi-cloud:


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Flexibility
Using multiple cloud providers allows organizations to choose the best-suited services
for their specific needs, and avoid vendor lock-in.
Cost-effectiveness
Organizations can take advantage of the cost savings and pricing benefits offered by
different cloud providers for different services.
Improved performance
By distributing workloads across multiple cloud providers, organizations can improve
the performance and availability of their applications and services.
Increased security
2023/2024 2023/2024 2023/2024
Organizations can increase the security of their data and applications by spreading
them across multiple cloud providers and implementing different security strategies
for each.

Disadvantages of using multi-cloud:


Complexity
Managing multiple cloud providers and services can be complex and require
specialized knowledge and expertise.
Increased costs
The cost of managing multiple cloud providers and services can be higher than using
a single provider.
Compatibility issues
Different cloud providers may use different technologies and standards, which can
cause compatibility issues and require additional resources to resolve.
Limited interoperability
Different cloud providers may not be able to interoperate seamlessly, which can limit the
ability to move data and applications between them.

44
[email protected] [email protected] [email protected]
Chapter (3)

3.2 Right Choice for Cloud Deployment Model


As of now, no such approach fits picking a cloud deployment model. We will always
consider the best cloud deployment model as per our requirements. Here are some factors
which should be considered before choosing the best deployment model.
Cost:
Cost is an important factor for the cloud deployment model as it tells how
much amount you want to pay for these things.
Scalability:
Scalability tells about the current activity status and how much we can scale it.
Easy to use:
It tells how much your resources are trained and how easily can you manage
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

these models.
Compliance:
Compliance tells about the laws and regulations which impact the
implementation of the model.
Privacy:
Privacy tells about what data you gather for the model.
Each model has some advantages and some disadvantages, and the selection of the best is
only done on the basis of your requirement. If your requirement changes, you can switch to
any other model.
2023/2024 2023/2024 2023/2024

3.3 Overall Analysis of Cloud Deployment Models


The overall Analysis of these models with respect to different factors is described below.
Public
Factors Private Cloud Community Cloud Hybrid Cloud
Cloud
Complex, requires a Complex, requires a Complex, requires a
Initial Setup Easy professional team to professional team to professional team to
setup setup setup
Scalability and
High High Fixed High
Flexibility
Cost- Cost- Distributed cost Between public and
Costly
Comparison Effective among members private cloud
Reliability Low Low High High
Data Security Low High High High
Data Privacy Low High High High

45
[email protected] [email protected] [email protected]
Service and Deployment Models

3.4 Cloud Based Services


Cloud Computing can be defined as the practice of using a network of remote servers hosted
on the Internet to store, manage, and process data, rather than a local server or a personal
computer. Companies offering such kinds of cloud computing services are called cloud
providers and typically charge for cloud computing services based on usage. Grids and
clusters are the foundations for cloud computing.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 3. 6 Cloud Service Models

3.5 Types of Cloud Computing Service Models


Most cloud computing services fall into five2023/2024
2023/2024 broad categories: 2023/2024

1. Software as a service (SaaS)


2. Platform as a service (PaaS)
3. Infrastructure as a service (IaaS)
4. Anything/Everything as a service (XaaS)
5. Function as a Service (FaaS)
These are sometimes called the cloud computing stack because they are built on top of one
another. Knowing what they are and how they are different, makes it easier to accomplish
your goals. These abstraction layers can also be viewed as a layered architecture where
services of a higher layer can be composed of services of the underlying layer i.e., SaaS can
provide Infrastructure.

3.5.1 Cloud Computing Infrastructure as a Service (IaaS)


Infrastructure-as-a-Service provides access to fundamental resources such as physical
machines, virtual machines, virtual storage, etc. Apart from these resources, the IaaS also
offers:
 Virtual machine disk storage
 Virtual local area network (VLANs)
 Load balancers

46
[email protected] [email protected] [email protected]
Chapter (3)

 IP addresses
 Software bundles
All of the above resources are made available to end user via server virtualization. Moreover,
these resources are accessed by the customers as if they own them.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 3. 7 Cloud Computing IaaS

Benefits
IaaS allows the cloud provider to freely locate the infrastructure over the Internet in a cost-
effective manner. Some of the key benefits of IaaS are listed below:
 Full control of the computing resources through administrative access to VMs.
 Flexible and efficient renting of computer hardware.
 Portability, interoperability with legacy applications.
2023/2024 2023/2024 2023/2024
Full control over computing resources through administrative access to VMs
IaaS allows the customer to access computing resources through administrative access to
virtual machines in the following manner:
 Customer issues administrative command to cloud provider to run the virtual
machine or to save data on cloud server.
 Customer issues administrative command to virtual machines they owned to start
web server or to install new applications.
Flexible and efficient renting of computer hardware
IaaS resources such as virtual machines, storage devices, bandwidth, IP addresses,
monitoring services, firewalls, etc. are made available to the customers on rent. The
payment is based upon the amount of time the customer retains a resource. Also with
administrative access to virtual machines, the customer can run any software, even a
custom operating system.
Portability, interoperability with legacy applications
It is possible to maintain legacy between applications and workloads between IaaS
clouds. For example, network applications such as web server or e-mail server that
normally runs on customer-owned server hardware can also run from VMs in IaaS
cloud.

47
[email protected] [email protected] [email protected]
Service and Deployment Models

Issues
IaaS shares issues with PaaS and SaaS, such as Network dependence and browser based risks.
It also has some specific issues, which are mentioned in the following diagram:
Compatibility with legacy security vulnerabilities
Because IaaS offers the customer to run legacy software in provider's infrastructure, it
exposes customers to all of the security vulnerabilities of such legacy software.
Virtual Machine sprawl
The VM can become out-of-date with respect to security updates because IaaS allows
the customer to operate the virtual machines in running, suspended and off state.
However, the provider can automatically update such VMs, but this mechanism is
hard and complex.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Robustness of VM-level isolation


IaaS offers an isolated environment to individual customers through hypervisor.
Hypervisor is a software layer that includes hardware support for virtualization to split
a physical computer into multiple virtual machines.
Data erase practices
The customer uses virtual machines that in turn use the common disk resources
provided by the cloud provider. When the customer releases the resource, the cloud
provider must ensure that next customer to rent the resource does not observe data
residue from previous customer.

Characteristics
2023/2024 2023/2024 2023/2024

Here are the characteristics of IaaS service model:


 Virtual machines with pre-installed software.
 Virtual machines with pre-installed operating systems such as Windows, Linux, and
Solaris.
 On-demand availability of resources.
 Allows storing copies of particular data at different locations.
 The computing resources can be easily scaled up and down.

3.5.2 Cloud Computing Platform as a Service (PaaS)


Platform-as-a-Service offers the runtime environment for applications. It also offers
development and deployment tools required to develop applications. PaaS has a feature of
point-and-click tools that enables non-developers to create web applications.
App Engine of Google and Force.com are examples of PaaS offering vendors. Developer
may log on to these websites and use the built-in API to create web-based applications.
But the disadvantage of using PaaS is that, the developer locks-in with a particular vendor.
For example, an application written in Python against API of Google, and using App Engine
of Google is likely to work only in that environment.
The following diagram shows how PaaS offers an API and development tools to the
developers and how it helps the end user to access business applications.

48
[email protected] [email protected] [email protected]
Chapter (3)

Figure 3. 8 Cloud Computing PaaS

Benefits
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Following are the benefits of PaaS model:


Lower administrative overhead
Customer need not bother about the administration because it is the responsibility of
cloud provider.
Lower total cost of ownership
Customer need not purchase expensive hardware, servers, power, and data storage.
Scalable solutions
It is very easy to scale the resources up or down automatically, based on their
demand.
More current system software
2023/2024 2023/2024 2023/2024
It is the responsibility of the cloud provider to maintain software versions and patch
installations.

Issues
Like SaaS, PaaS also places significant burdens on customer's browsers to maintain reliable
and secure connections to the provider’s systems. Therefore, PaaS shares many of the issues
of SaaS. However, there are some specific issues associated with PaaS as shown below:
Lack of portability between PaaS clouds
Although standard languages are used, yet the implementations of platform services
may vary. For example, file, queue, or hash table interfaces of one platform may
differ from another, making it difficult to transfer the workloads from one platform to
another.
Event based processor scheduling
The PaaS applications are event-oriented which poses resource constraints on
applications, i.e., they have to answer a request in a given interval of time.
Security engineering of PaaS applications
Since PaaS applications are dependent on network, they must explicitly use
cryptography and manage security exposures.

49
[email protected] [email protected] [email protected]
Service and Deployment Models

Characteristics
Here are the characteristics of PaaS service model:
 PaaS offers browser based development environment. It allows the developer to create
database and edit the application code either via Application Programming Interface
or point-and-click tools.
 PaaS provides built-in security, scalability, and web service interfaces.
 PaaS provides built-in tools for defining workflow, approval processes, and business
rules.
 It is easy to integrate PaaS with other applications on the same platform.
 PaaS also provides web services interfaces that allow us to connect the applications
outside the platform.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

PaaS Types
Based on the functions, PaaS can be classified into four types as shown in the following
diagram:

2023/2024 2023/2024 2023/2024


Figure 3. 9 Cloud Computing PaaS Types
Stand-alone development environments
The stand-alone PaaS works as an independent entity for a specific function. It does
not include licensing or technical dependencies on specific SaaS applications.
Application delivery-only environments
The application delivery PaaS includes on-demand scaling and application security.
Open platform as a service
Open PaaS offers open source software that helps a PaaS provider to run applications.
Add-on development facilities
The add-on PaaS allows customizing the existing SaaS platform.

3.5.3 Cloud Computing Software as a Service (SaaS)


Software-as–a-Service (SaaS) model allows providing software application as a service to the
end users. It refers to software that is deployed on a host service and is accessible via
Internet. There are several SaaS applications listed below:
 Billing and invoicing system
 Customer Relationship Management (CRM) applications

50
[email protected] [email protected] [email protected]
Chapter (3)

 Help desk applications


 Human Resource (HR) solutions
Some of the SaaS applications are not customizable such as Microsoft Office Suite. But SaaS
provides us Application Programming Interface (API), which allows the developer to develop
a customized application.

Characteristics
Here are the characteristics of SaaS service model:
 SaaS makes the software available over the Internet.
 The software applications are maintained by the vendor.
 The license to the software may be subscription based or usage based. And it is billed
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

on recurring basis.
 SaaS applications are cost-effective since they do not require any maintenance at end
user side.
 They are available on demand.
 They can be scaled up or down on demand.
 They are automatically upgraded and updated.
 SaaS offers shared data model. Therefore, multiple users can share single instance of
infrastructure. It is not required to hard code the functionality for individual users.
 All users run the same version of the software.

Benefits
2023/2024 2023/2024 2023/2024
Using SaaS has proved to be beneficial in terms of scalability, efficiency and performance.
Some of the benefits are listed below:
 Modest software tools
 Efficient use of software licenses
 Centralized management and data
 Platform responsibilities managed by provider
 Multitenant solutions
Modest software tools
The SaaS application deployment requires a little or no client side software installation,
which results in the following benefits:
 No requirement for complex software packages at client side
 Little or no risk of configuration at client side
 Low distribution cost
Efficient use of software licenses
The customer can have single license for multiple computers running at different
locations which reduces the licensing cost. Also, there is no requirement for license
servers because the software runs in the provider's infrastructure.

51
[email protected] [email protected] [email protected]
Service and Deployment Models

Centralized management and data


The cloud provider stores data centrally. However, the cloud providers may store data
in a decentralized manner for the sake of redundancy and reliability.
Platform responsibilities managed by providers
All platform responsibilities such as backups, system maintenance, security, hardware
refresh, power management, etc. are performed by the cloud provider. The customer
does not need to bother about them.
Multitenant solutions
Multitenant solutions allow multiple users to share single instance of different
resources in virtual isolation. Customers can customize their application without
affecting the core functionality.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Issues
There are several issues associated with SaaS, some of them are listed below:
 Browser based risks
 Network dependence
 Lack of portability between SaaS clouds
Browser based risks
If the customer visits malicious website and browser becomes infected, the
subsequent access to SaaS application might compromise the customer's data.
To avoid such risks, the customer can
2023/2024
use multiple browsers and dedicate
2023/2024 2023/2024
a specific
browser to access SaaS applications or can use virtual desktop while accessing the
SaaS applications.
Network dependence
The SaaS application can be delivered only when network is continuously available.
Also network should be reliable but the network reliability cannot be guaranteed
either by cloud provider or by the customer.
Lack of portability between SaaS clouds
Transferring workloads from one SaaS cloud to another is not so easy because work
flow, business logics, user interfaces, support scripts can be provider specific.

Open SaaS and SOA


Open SaaS uses those SaaS applications, which are developed using open source
programming language. These SaaS applications can run on any open source operating
system and database. Open SaaS has several benefits listed below:
 No License Required
 Low Deployment Cost
 Less Vendor Lock-in
 More portable applications
 More Robust Solution

52
[email protected] [email protected] [email protected]
Chapter (3)

The following diagram shows the SaaS implementation based on SOA:


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 3. 10 Cloud Computing SOA Implementation of SaaS

3.5.4 Anything as a Service


It is also known as Everything as a Service. Most of the cloud service providers nowadays
offer anything as a service that is a compilation of all of the above services including some
additional services.
Advantages of XaaS:
Scalability:
XaaS solutions can be easily scaled up or down to meet the changing needs of an
organization.
2023/2024 2023/2024 2023/2024

Flexibility:
XaaS solutions can be used to provide a wide range of services, such as storage,
databases, networking, and software, which can be customized to meet the specific
needs of an organization.
Cost-effectiveness:
XaaS solutions can be more cost-effective than traditional on-premises solutions, as
organizations only pay for the services.

Disadvantages of XaaS:
Dependence on the provider:
Users are dependent on the XaaS provider for the availability, scalability, and
reliability of the service, which can be a risk if the provider experiences outages or
other issues.
Limited flexibility:
XaaS solutions may not be able to accommodate certain types of workloads or
applications, which can limit the value of the solution for certain organizations.

53
[email protected] [email protected] [email protected]
Service and Deployment Models

Limited integration:
XaaS solutions may not be able to integrate with existing systems and data sources,
which can limit the value of the solution for certain organizations.

3.5.5 Function as a Service:


FaaS is a type of cloud computing service. It provides a platform for its users or customers to
develop, compute, run and deploy the code or entire application as functions. It allows the
user to entirely develop the code and update it at any time without worrying about the
maintenance of the underlying infrastructure. The developed code can be executed with
response to the specific event. It is also as same as PaaS.
FaaS is an event-driven execution model. It is implemented in the serverless container. When
the application is developed completely, the user will now trigger the event to execute the
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

code. Now, the triggered event makes response and activates the servers to execute it. The
servers are nothing but the Linux servers or any other servers which is managed by the
vendor completely. Customer does not have clue about any servers which is why they do not
need to maintain the server hence it is serverless architecture.
Both PaaS and FaaS are providing the same functionality but there is still some
differentiation in terms of Scalability and Cost.
FaaS, provides auto-scaling up and scaling down depending upon the demand. PaaS also
provides scalability but here users have to configure the scaling parameter depending upon
the demand.
In FaaS, users only have to pay for the number of execution time happened. In PaaS, users
have to pay for the amount based on pay-as-you-go
2023/2024 2023/2024
price regardless of how2023/2024
much or less they
use.

Advantages of FaaS:
Highly Scalable:
Auto scaling is done by the provider depending upon the demand.
Cost-Effective:
Pay only for the number of events executed.
Code Simplification:
FaaS allows the users to upload the entire application all at once. It allows you to
write code for independent functions or similar to those functions.
Maintenance of code is enough and no need to worry about the servers.
Functions can be written in any programming language.
Less control over the system.
The various companies providing Function as a Service are Amazon Web Services –
Firecracker, Google – Kubernetes, Oracle – Fn, Apache OpenWhisk – IBM, OpenFaaS,

54
[email protected] [email protected] [email protected]
Chapter (3)

Disadvantages of FaaS:
Cold start latency:
Since FaaS functions are event-triggered, the first request to a new function may
experience increased latency as the function container is created and initialized.
Limited control over infrastructure:
FaaS providers typically manage the underlying infrastructure and take care of
maintenance and updates, but this can also mean that users have less control over the
environment and may not be able to make certain customizations.
Security concerns:
Users are responsible for securing their own data and applications, which can be a
significant undertaking.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Limited scalability:
FaaS functions may not be able to handle high traffic or large number of requests.

3.6 Summary
In this chapter, the cloud deployment models discussed in details, which are public, private,
community and hybrid. Each model has its own advantages and disadvantages. Also the
cloud services models discussed in details, which are SaaS, PaaS and Iaas with their
advantage sand disadvantages.

2023/2024 2023/2024 2023/2024

55
[email protected] [email protected] [email protected]
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2023/2024 2023/2024 2023/2024


Chapter (4)
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Cloud
Computing
Virtualization
2023/2024 2023/2024 2023/2024
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫‪2023/2024‬‬
[email protected] [email protected] [email protected]

Chapter (4)
Cloud Computing Virtualization
Virtualization is the "creation of a virtual (rather than actual ‫ )وليس الفعلي‬version of something,
such as a server, a desktop, a storage device, an operating system or network resources". In
other words, Virtualization is a technique, which allows sharing a single physical instance of
a resource or an application among multiple customers and organizations. It does by
assigning a logical name to a physical storage and providing a pointer to that physical
resource when demanded.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

4.1 Virtualization Concept


Creation of a virtual machine over existing operating system and hardware is known as
Hardware Virtualization. A Virtual Machine provides an environment that is logically
separated from the underlying hardware. The machine on which the virtual machine is going
to create is known as Host Machine and that virtual machine is referred as a Guest Machine.

2023/2024 2023/2024 2023/2024

Figure 4. 1 Virtualization

4.1.1 Virtualization Example


Consider a company that needs servers for three functions:
 Store business email securely
 Run a customer-facing application
 Run internal business applications
Each of these functions has different configuration requirements:
 The email application requires more storage capacity and a Windows operating
system.
 The customer-facing application requires a Linux operating system and high
processing power to handle large volumes of website traffic.
 The internal business application requires iOS and more internal memory (RAM).
To meet these requirements,
 The company sets up three different dedicated physical servers for each application.
 The company must make a high initial investment and perform ongoing
maintenance and upgrades for one machine at a time.

56
[email protected] [email protected] [email protected]
Chapter (4)

 The company also cannot optimize ‫ تحسسن‬its computing capacity.


 It pays 100% of the servers’ maintenance costs but uses only a fraction of their
storage and processing capacities.
With virtualization,
 The company creates three digital servers, or virtual machines, on a single physical
server.
 It specifies the OS requirements for the virtual machines and can use them like the
physical servers.
 However, the company now has less hardware and fewer related expenses.
 “Efficient Hardware Use”
The company can use a cloud instance or virtual machine from a cloud computing
provider such as AWS. (IaaS)
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 AWS manages all the underlying hardware, and the company can request server
resources with varying configurations.
 All the applications run on these virtual servers without the users noticing any
difference.
 Server management also becomes easier for the company’s IT team.

4.2 Kernel-based Virtual Machine (KVM)


To properly understand Kernel-based Virtual Machine (KVM), you first need to understand
some basic concepts in virtualization. With virtualization, organizations can switch between
different operating systems on the same server without rebooting. Virtual Machines and
Hypervisors are two important concepts in virtualization.
2023/2024 2023/2024 2023/2024

4.2.1 Virtual Machine


It is the emulation ‫ محاكيا‬or a virtual representation ‫ التمثسي افتتاايي‬of a physical device that can
execute multiple OSs on the same computer with a different operating system. The OS
installed using the virtual machine are known as the guest OS, and the physical system's OS
where the virtual machine is executed is known as the host OS.
It is a software-defined computer that runs on a physical computer with a separate operating
system and computing resources. The physical computer is called the host machine and
virtual machines are guest machines. Multiple virtual machines can run on a single physical
machine. Virtual machines are abstracted from ‫ مسييتجام ميين‬the computer hardware by a
hypervisor ‫مااقب األجهز افتتاايسة‬.

Figure 4. 2 Virtual Machine

57
[email protected] [email protected]
[email protected]
Computing Virtualization

4.2.1 Hypervisor
It is a software component that manages multiple virtual machines in a computer. It ensures
that each virtual machine gets the allocated resources and does not interfere with the
operation of other virtual machines. The hypervisor is a firmware or low-level program that
acts as a Virtual Machine Manager. It also manages the Virtual machines and is known as the
virtual machine monitor (VMM). There are two types of hypervisor:
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 4. 3 Hypervisor
Type1 Hypervisor
Also known as bare-metal hypervisor, it is a program installed directly on the
computer’s hardware instead of the OS. Therefore, it has better performance and
commonly used by enterprise applications. KVM uses it to host multiple virtual
machines on the Linux OS. It interacts directly with the hardware resources of the
system, replacing the host operating system. It does not have any host operating
system because they are installed on a bare system.
Examples: LynxSecure, RTS Hypervisor, Oracle VM, Sun xVM Server,
VirtualLogic VLX.
2023/2024 2023/2024 2023/2024

Figure 4. 4 Type 1 hypervisor


Type2 Hypervisor
Also known as a hosted hypervisor, it is installed on an operating system. It is suitable
for end-user computing. It runs as a software application on the host OS, it also
coordinates with the virtual machines for hardware resource management. It is a
software interface that emulates the devices with which a system normally interacts.
Examples: Containers, KVM, Microsoft Hyper V, VMWare Fusion, Virtual Server
2005 R2, Windows Virtual PC and VMWare workstation 6.0.

58
[email protected] [email protected] [email protected]
Chapter (4)

Figure 4. 5 Type2 Hypervisor


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

4.3 Types of Hardware Virtualization


Here are the three types of hardware virtualization:
 Full Virtualization
 Emulation Virtualization
 Paravirtualization

 Full Virtualization
In full virtualization, the underlying hardware is completely simulated. Guest software
does not require any modification to run.
2023/2024 2023/2024 2023/2024

Figure 4. 6 Full Virtualization

 Emulation Virtualization
In Emulation, the virtual machine simulates the hardware and hence becomes independent
of it. In this, the guest operating system does not require modification.

59
[email protected] [email protected]
[email protected]
Computing Virtualization

Figure 4. 7 Cloud Computing Emulation

 Paravirtualization
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

In Paravirtualization, the hardware is not simulated. The guest software runs its own
isolated domains.

2023/2024 2023/2024 2023/2024

Figure 4. 8 Cloud Computing Paravirtualization

VMware vSphere is highly developed infrastructure that offers a management infrastructure


framework for virtualization. It virtualizes the system, storage and networking hardware.

4.4 Work of Virtualization in Cloud Computing


Virtualization has a prominent impact on Cloud Computing. In the case of cloud computing,
users store data in the cloud, but with the help of Virtualization, users have the extra benefit
of sharing the infrastructure. Cloud Vendors take care of the required physical resources, but
these cloud providers charge a huge amount for these services which impacts every user or
organization. Virtualization helps Users or Organizations in maintaining those services which
are required by a company through external (third-party) people, which helps in reducing
costs to the company. This is the way through which Virtualization works in Cloud
Computing.

4.5 Benefits of Virtualization


 More flexible and efficient allocation of resources.

60
[email protected] [email protected] [email protected]
Chapter (4)

 Enhance development productivity.


 It lowers the cost of IT infrastructure.
 Remote access and rapid scalability.
 High availability and disaster recovery.
 Pay peruse of the IT infrastructure on demand.
 Enables running multiple operating systems.

4.6 Drawback of Virtualization


High Initial Investment:
Clouds have a very high initial investment, but it is also true that it will help in
reducing the cost of companies.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Learning New Infrastructure:


As the companies shifted from Servers to Cloud, it requires highly skilled staff that
has skills to work with the cloud easily, and for this, you have to hire new staff or
provide training to current staff.
Risk of Data:
Hosting data on third-party resources can lead to putting the data at risk, it has the
chance of getting attacked by any hacker or cracker very easily.

4.7 Characteristics of Virtualization


Increased Security:
2023/2024 2023/2024 2023/2024
The ability to control the execution of a guest program in a completely transparent
manner opens new possibilities for delivering a secure, controlled execution
environment. All the operations of the guest programs are generally performed against
the virtual machine, which then translates and applies them to the host programs.
Managed Execution:
In particular, sharing, aggregation, emulation, and isolation are the most relevant
features.
Sharing:
Virtualization allows the creation of a separate computing environment within the
same host.
Aggregation:
It is possible to share physical resources among several guests, but virtualization also
allows aggregation, which is the opposite process.

61
[email protected] [email protected]
[email protected]
Computing Virtualization

4.8 Types of Virtualization


1. Application Virtualization
2. Network Virtualization
3. Desktop Virtualization
4. Storage Virtualization
5. Server Virtualization
6. Data virtualization
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 4. 9 Types of Virtualization

4.8.1 Application Virtualization


In this virtualization process, the application runs without the need of installing it into the
system, as they run on a virtual environment. Application virtualization helps a user to have
remote access to an application from a server. The server stores all personal information and
other characteristics of the application but 2023/2024
2023/2024
can still run on a local workstation
2023/2024
through the
internet. An example of this would be a user who needs to run two different versions of the
same software. Technologies that use application virtualization are hosted applications and
packaged applications.

Types of Application Virtualization:


 Local Application Virtualization runs on the host device but runs in a virtual
environment, not in the hardware.
 Application Virtualization, the application is on the server-side, and it sends some
components to the host device according to the requirement.
 Server-based Application Virtualization runs only on the server-side and sends the
only interface to the client system.

62
[email protected] [email protected] [email protected]
Chapter (4)

Figure 4. 10 Application Virtualization

To lower costs and improve productivity, organizations must evolve their digital workspace.
This means migrating networking assets from on-premises to the cloud. DaaSis a result of
this paradigm shift.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Today's digital workspace aggregates the devices, apps, and services that users require. These
workspaces must be managed securely and unified to allow for common access across the
enterprise.
DaaS solutions can be deployed with VMware Horizon, a desktop virtualization product that
streamlines the delivery, protection, and management of desktops and apps. With
unsurpassed simplicity, speed, flexibility, and scale, Horizon significantly constrains costs
compared to conventional VDI while assuring a persistent and engaging UX across any
device anywhere, at any time.
Horizon supports workplace mobility and allows users to access multiple OS-specific apps
from the cloud quickly and simultaneously across any device.
2023/2024 2023/2024 2023/2024

Specific Horizon products include


 VMware Horizon —a single platform that streamlines quick and efficient delivery
and management of virtual desktops and published apps in the cloud, on-premises, or
in a multi-cloud or hybrid configuration to any device at any location.
 Horizon Cloud on Microsoft Azure—receive the advantages of applications-as-a-
service (SaaS) combined with intrinsically flexible IaaS for an enhanced digital
workspace at a lower cost.
 Horizon Apps—provides end-users fast, easy access to SaaS apps, their published
apps, and mobile apps from a unified workspace.
 Horizon Cloud on IBM Cloud—eliminate the cost and nuisance of managing on-
premises infrastructure while easily and quickly delivering cloud-hosted apps and
desktops to any endpoint.
 App Volumes—for application and UEM usage, App Volumes quickly delivers apps
to desktop environments and allows IT to scalably provision apps to users in an
instant.

4.8.2 Software Virtualization


Managing applications and distribution becomes a typical task for IT departments.
Installation mechanism differs from application to application. Some programs require

63
[email protected] [email protected]
[email protected]
Computing Virtualization

certain helper applications or frameworks and these applications may have conflict with
existing applications.
Software virtualization is just like a virtualization but able to abstract the software installation
procedure and create virtual software installations.
Virtualized software is an application that will be "installed" into its own self-contained unit.
Example of software virtualization is VMware software, virtual box etc. In the next pages,
we are going to see how to install linux OS and windows OS on VMware application.

Advantages of Software Virtualization


1) Client Deployments Become Easier:
Copying a file to a workstation or linking a file in a network then we can easily install virtual
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

software.
2) Easy to manage:
To manage updates becomes a simpler task. You need to update at one place and deploy the
updated virtual application to the all clients.
3) Software Migration:
Without software virtualization, moving from one software platform to another platform
takes much time for deploying and impact on end user systems. With the help of virtualized
software environment the migration becomes easier.

4.8.3
2023/2024 Network Virtualization2023/2024 2023/2024

In this, the software creates a virtual instance of the network that can be used to manage from
a single console. It forms the abstraction of the hardware components and functions (e.g.,
switches, routers, etc.), simplifying network management. The ability to run multiple virtual
networks with each having a separate control and data plan.
It co-exists ‫ ستواجي معيا‬together on top of one physical network. It can be managed by individual
parties that are potentially confidential ‫ سحتمي نن تكيون سياسة‬to each other. Network Virtualization
provides a facility to create and provision virtual networks, logical switches, routers,
firewalls, load balancers, Virtual Private Networks (VPN), and workload security within days
or even weeks.

Types of network virtualization:


 Software-defined Networking (SDN) virtualizes hardware that controls network
traffic routing.
 Network Function Virtualization (NFV) virtualizes hardware appliances ‫ األجهيز‬that
provide network-specific functions easier to configure and manage, e.g., firewall, etc.

64
[email protected] [email protected] [email protected]
Chapter (4)

Figure 4. 11 Network Virtualization

Advantages of Network Virtualization


 Improves manageability
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

o Grouping and regrouping of nodes are eased.


o Configuration of VM is allowed from a centralized management workstation
using management software.

 Reduces CAPEX
o The requirement to set up separate physical networks for different node groups
is reduced.

 Improves utilization
o Multiple VMs are enabled to share the same physical network which enhances
2023/2024 the utilization of network resource.
2023/2024 2023/2024

 Enhances performance
Network broadcast is restricted and VM performance is improved.

 Enhances security
o Sensitive data is isolated from one VM to another VM.
o Access to nodes is restricted in a VM from another VM.

Disadvantages of Network Virtualization


 It needs to manage IT in the abstract.
 It needs to coexist with physical devices in a cloud-integrated hybrid environment.
 Increased complexity.
 Upfront cost.
 Possible learning curve.

65
[email protected] [email protected]
[email protected]
Computing Virtualization

Examples of Network Virtualization


 Virtual LAN (VLAN)
o The performance and speed of busy networks can be improved by VLAN.
o VLAN can simplify additions or any changes to the network.

 Network Overlays
o A framework is provided by an encapsulation protocol called VXLAN for
overlaying virtualized layer 2 networks over layer 3 networks.
o The Generic Network Virtualization Encapsulation protocol (GENEVE)
provides a new way to encapsulation designed to provide control-plane
independence between the endpoints of the tunnel.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Network Virtualization Platform: VMware NSX


o VMware NSX Data Center transports the components of networking and
security such as switching, firewalling and routing that are defined and
consumed in software.
o It transports the operational model of a virtual machine (VM) for the network.

Applications of Network Virtualization


 Network virtualization may be used in the development of application testing to
mimic real-world hardware and system software.
 It helps us to integrate several physical networks into a single network or separate
single physical networks into multiple
2023/2024 analytical networks.
2023/2024 2023/2024
 In the field of application performance engineering, network virtualization allows the
simulation of connections between applications, services, dependencies, and end-
users for software testing.
 It helps us to deploy applications in a quicker time frame, thereby supporting a faster
go-to-market.
 Network virtualization helps the software testing teams to derive actual results with
expected instances and congestion issues in a networked environment.

4.8.4 Desktop Virtualization


In this type of virtualization, you can run multiple operating systems, each in its own virtual
machine on the same system. Desktop Virtualization allows the users’ OS to be remotely
stored on a server in the data center. It allows the user to access their desktop virtually, from
any location by a different machine.
In this type of virtualization, you can run multiple operating systems, each in its own virtual
machine on the same system. Desktop Virtualization allows the users’ OS to be remotely
stored on a server in the data center. It allows the user to access their desktop virtually, from
any location by a different machine. Users who want specific operating systems other than
Windows Server will need to have a virtual desktop.
The main benefits of Desktop Virtualization are user mobility, portability ‫قابلسية التقلي‬, and easy
management of software installation, updates, and patches.

66
[email protected] [email protected] [email protected]
Chapter (4)

Types of Desktop Virtualization:


 Virtual Desktop Infrastructure runs numerous virtual machines on a central server
and then hosts it to the host system according to the user's requirements. In this way,
you can access any operating system from any device without installing the actual
operating system in their local machine.
 Local Desktop Virtualization is the type that runs the hypervisor on the local
system, which allows the user to install multiple operating systems simultaneously
without affecting the host's operating system.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 4. 12 Desktop Virtualization

Benefits of Desktop Virtualization


 Resource Utilization:
2023/2024 2023/2024 2023/2024
Since IT resources for desktop virtualization are concentrated in a data center, resources
are pooled for efficiency. The need to push OS and application updates to end-user
devices is eliminated, and virtually any desktop, laptop, tablet, or smartphone can be used
to access virtualized desktop applications. IT organizations can thus deploy less powerful
and less expensive client devices since they are basically only used for input and output.

 Remote Workforce Enablement:


Since each virtual desktop resides in central servers, new user desktops can be
provisioned in minutes and become instantly available for new users to access.
Additionally IT support resources can focus on issues on the virtualization servers with
little regard to the actual end-user device being used to access the virtual desktop. Finally,
since all applicationss are served to the client over a network, users have the ability to
access their business applications virtually anywhere there is internet connectivity. If a
user leaves the organization, the resources that were used for their virtual desktop can
then be returned to centrally pooled infrastructure.

 Security:
IT professionals rate security as their biggest challenge year after year. By removing OS
and application concerns from user devices, desktop virtualization enables centralized
security control, with hardware security needs limited to virtualization servers, and an

67
[email protected] [email protected]
[email protected]
Computing Virtualization

emphasis on identity and access management with role-based permissions that limit users
only to those applications and data they are authorized to access. Additionally, if an
employee leaves an organization there is no need to remove applications and data from
user devices; any data on the user device is ephemeral by design and does not persist
when a virtual desktop session ends.

4.8.5 Storage Virtualization


This virtualization enables all the storage devices on the system to be accessed and be
managed as a single storage unit pool ‫ تجمي وحي تجيزسن واحي‬for better maintenance. The storage
virtualization collects all the storage into a single pool from which they can allocate to any of
the VM on the network as required.
This step makes it easier for the hypervisor to assign storage for VMs with max efficiency
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

and without wasting any hardware resources from our system. Storage Virtualization is the
process of grouping the physical storage from multiple network storage devices so that it
looks like a single storage device. Storage Virtualization is also implemented by using
software applications.
Usage: Storage Virtualization is mainly done for back-up and recovery purposes.
Storage Virtualization is an array of servers that are managed by a virtual storage system. The
servers aren’t aware of exactly where their data is stored and instead function more like
worker bees in a hive.
It makes managing storage from multiple sources be managed and utilized as a single
repository. Storage Virtualization software maintains smooth operations, consistent
performance, and a continuous suite of advanced functions despite changes, breaks down,
and2023/2024
differences in the underlying equipment.2023/2024 2023/2024

Figure 4. 13 Storage Virtualization

As we know that, there has been a strong link between the physical host and the locally
installed storage devices. However, that paradigm has been changing drastically, almost local
storage is no longer needed. As the technology progressing, more advanced storage devices
are coming to the market that provide more functionality, and obsolete the local storage.
Storage virtualization is a major component for storage servers, in the form of functional
RAID levels and controllers. Operating systems and applications with device can access the
disks directly by themselves for writing. The controllers configure the local storage in RAID
groups and present the storage to the operating system depending upon the configuration.

68
[email protected] [email protected] [email protected]
Chapter (4)

However, the storage is abstracted and the controller is determining how to write the data or
retrieve the requested data for the operating system.
Storage virtualization is becoming more and more important in various other forms:
 File servers: The operating system writes the data to a remote location with no need
to understand how to write to the physical media.
 WAN Accelerators: Instead of sending multiple copies of the same data over the
WAN environment, WAN accelerators will cache the data locally and present the re-
requested blocks at LAN speed, while not impacting the WAN performance.
 SAN and NAS: Storage is presented over the Ethernet network of the operating
system. NAS presents the storage as file operations (like NFS). SAN technologies
present the storage as block level storage (like Fibre Channel). SAN technologies
receive the operating instructions only when if the storage was a locally attached
device.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Storage Tiering: Utilizing the storage pool concept as a stepping stone, storage
tiering analyzes the most commonly used data and places it on the highest performing
storage pool. The lowest one used data is placed on the weakest performing storage
pool.
This operation is done automatically without any interruption of service to the data consumer.

Advantages of Storage Virtualization


 Data is stored in the more convenient locations away from the specific host. In the
case of a host failure, the data is not compromised necessarily.
 The storage devices can perform advanced functions like replication, reduplication,
and disaster recovery functionality. 2023/2024
2023/2024 2023/2024
 By doing abstraction of the storage level, IT operations become more flexible in how
storage is provided, partitioned, and protected.

4.8.6 Server Virtualization


When the virtual machine software or virtual machine manager (VMM) is directly installed
on the Server system is known as server virtualization.
Usage: Server Virtualization is done because a single physical server can be divided into
multiple servers on the demand basis and for balancing the load.
This is a kind of virtualization in which the masking ‫ اجفيا‬of server resources takes place.
Here, the central server (physical server) is divided into multiple different virtual servers by
changing the identity number, and processors. So, each system can operate its operating
systems in an isolated manner. Where each sub-server knows the identity of the central
server.
It causes an increase in performance and reduces the operating cost by the deployment of
main server resources into a sub-server resource. It’s beneficial in virtual migration, reducing
energy consumption, reducing infrastructural costs, etc.

69
[email protected] [email protected]
[email protected]
Computing Virtualization

Figure 4. 14 Server Virtualization

Server Virtualization is the process of dividing a physical server into several virtual servers,
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

called virtual private servers. Each virtual private server can run independently.
The concept of Server Virtualization widely used in the IT infrastructure to minimizes the
costs by increasing the utilization of existing resources.

Types of Server Virtualization


1. Hypervisor
In the Server Virtualization, Hypervisor plays an important role. It is a layer between the
operating system (OS) and hardware. There are two types of hypervisors.
 Type 1 hypervisor ( also known as bare metal or native hypervisors)
 Type
2023/2024 2 hypervisor ( also known as hosted or Embedded hypervisors)2023/2024
2023/2024

The hypervisor is mainly used to perform various tasks such as allocate physical hardware
resources (CPU, RAM, etc.) to several smaller independent virtual machines, called "guest"
on the host machine.

2. Full Virtualization
Full Virtualization uses a hypervisor to directly communicate with the CPU and physical
server. It provides the best isolation and security mechanism to the virtual machines.
The biggest disadvantage of using hypervisor in full virtualization is that a hypervisor has its
own processing needs, so it can slow down the application and server performance.
VMWare ESX server is the best example of full virtualization.

3. Para Virtualization
Para Virtualization is quite similar to the Full Virtualization. The advantage of using this
virtualization is that it is easier to use, Enhanced performance, and does not require emulation
overhead. Xen primarily and UML use the Para Virtualization.
The difference between full and pare virtualization is that, in para virtualization hypervisor
does not need too much processing power to manage the OS.

70
[email protected] [email protected] [email protected]
Chapter (4)

4. Operating System Virtualization


Operating system virtualization is also called as system-lever virtualization. It is a server
virtualization technology that divides one operating system into multiple isolated user-space
called virtual environments. The biggest advantage of using server visualization is that it
reduces the use of physical space, so it will save money.
Linux OS Virtualization and Windows OS Virtualization are the types of Operating System
virtualization.
FreeVPS, OpenVZ, and Linux Vserver are some examples of System-Level Virtualization.

Note: OS-Level Virtualization never uses a hypervisor.


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

5. Hardware Assisted Virtualization


Hardware Assisted Virtualization was presented by AMD and Intel. It is also known as
Hardware virtualization, AMD virtualization, and Intel virtualization. It is designed to
increase the performance of the processor. The advantage of using Hardware Assisted
Virtualization is that it requires less hypervisor overhead.
6. Kernel-Level Virtualization
Kernel-level virtualization is one of the most important types of server virtualization. It is an
open-source virtualization which uses the Linux kernel as a hypervisor. The advantage of
using kernel virtualization is that it does not require any special administrative software and
has very less overhead.
User Mode Linux (UML) and Kernel-based
2023/2024 virtual machine are some examples
2023/2024 2023/2024 of kernel
virtualization.

Advantages of Server Virtualization


There are the following advantages of Server Virtualization:
1. Independent Restart
In Server Virtualization, each server can be restart independently and does not affect the
working of other virtual servers.
2. Low Cost
Server Virtualization can divide a single server into multiple virtual private servers, so it
reduces the cost of hardware components.
3. Disaster Recovery
Disaster Recovery is one of the best advantages of Server Virtualization. In Server
Virtualization, data can easily and quickly move from one server to another and these data
can be stored and retrieved from anywhere.
4. Faster deployment of resources
Server virtualization allows us to deploy our resources in a simpler and faster way.

71
[email protected] [email protected]
[email protected]
Computing Virtualization

5. Security
It allows uses to store their sensitive data inside the data centers.

Disadvantages of Server Virtualization


There are the following disadvantages of Server Virtualization:
 The biggest disadvantage of server virtualization is that when the server goes offline,
all the websites that are hosted by the server will also go down.
 There is no way to measure the performance of virtualized environments.
 It requires a huge amount of RAM consumption.
 It is difficult to set up and maintain.
 Some core applications and databases are not supported virtualization.

‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

It requires extra hardware resources.

Uses of Server Virtualization


A list of uses of server virtualization is given below:
 Server Virtualization is used in the testing and development environment.
 It improves the availability of servers.
 It allows organizations to make efficient use of resources.
 It reduces redundancy without purchasing additional hardware components.

4.8.7
2023/2024
Data Virtualization 2023/2024 2023/2024
This is the kind of virtualization in which:
 The data is collected from various sources and managed at a single place without
knowing more about the technical information like how data is collected, stored &
formatted,
 Then arranged that data logically so that its virtual view can be accessed by its
interested people and stakeholders, and users through the various cloud services
remotely.
Many big giant companies are providing their services like Oracle, IBM, At scale, Cdata, etc.
Data virtualization is the process of retrieve data from various resources without knowing its
type and physical location where it is stored. It collects heterogeneous data from different
resources and allows data users across the organization to access this data according to their
work requirements. This heterogeneous data can be accessed using any application such as
web portals, web services, E-commerce, Software as a Service (SaaS), and mobile
application.
We can use Data Virtualization in the field of data integration, business intelligence, and
cloud computing.

72
[email protected] [email protected] [email protected]
Chapter (4)

Advantages of Data Virtualization


There are the following advantages of data virtualization:
 It allows users to access the data without worrying about where it resides on the
memory.
 It offers better customer satisfaction, retention, and revenue growth.
 It provides various security mechanisms that allow users to safely store their personal
and professional information.
 It reduces costs by removing data replication.
 It provides a user-friendly interface to develop customized views.
 It provides various simple and fast deployment resources.
 It increases business user efficiency by providing data in real-time.
 It is used to perform tasks such as data integration, business integration, Service-
Oriented Architecture (SOA) data services, and enterprise search.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Disadvantages of Data Virtualization


 It creates availability issues, because availability is maintained by third-party
providers.
 It required a high implementation cost.
 It creates the availability and scalability issues.
 Although it saves time during the implementation phase of virtualization but it
consumes more time to generate the appropriate result.

Uses of Data Virtualization


2023/2024 2023/2024 2023/2024

There are the following uses of Data Virtualization:


1. Analyze performance
Data virtualization is used to analyze the performance of the organization compared to
previous years.

2. Search and discover interrelated data


Data Virtualization (DV) provides a mechanism to easily search the data which is similar and
internally related to each other.

3. Agile Business Intelligence


It is one of the most common uses of Data Virtualization. It is used in agile reporting, real-
time dashboards that require timely aggregation, analyze and present the relevant data from
multiple resources. Both individuals and managers use this to monitor performance, which
helps to make daily operational decision processes such as sales, support, finance, logistics,
legal, and compliance.

73
[email protected] [email protected]
[email protected]
Computing Virtualization

4. Data Management
Data virtualization provides a secure centralized layer to search, discover, and govern the
unified data and its relationships.

Data Virtualization Tools


There are the following Data Virtualization tools:

1. Red Hat JBoss data virtualization


Red Hat virtualization is the best choice for developers and those who are using micro
services and containers. It is written in Java.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2. TIBCO data virtualization


TIBCO helps administrators and users to create a data virtualization platform for accessing
the multiple data sources and data sets. It provides a builtin transformation engine to combine
non-relational and un-structured data sources.

3. Oracle data service integrator


It is a very popular and powerful data integrator tool which is mainly worked with Oracle
products. It allows organizations to quickly develop and manage data services to access a
single view of data.
2023/2024 2023/2024 2023/2024

4. SAS Federation Server


SAS Federation Server provides various technologies such as scalable, multi-user, and
standards-based data access to access data from multiple data services. It mainly focuses on
securing data.

5. Denodo
Denodo is one of the best data virtualization tools which allows organizations to minimize the
network traffic load and improve response time for large data sets. It is suitable for both small
as well as large organizations.

Industries that use Data Virtualization


 Communication & Technology
In Communication & Technology industry, data virtualization is used to increase revenue
per customer, create a real-time ODS for marketing, manage customers, improve
customer insights, and optimize customer care, etc.

74
[email protected] [email protected] [email protected]
Chapter (4)

 Finance
In the field of finance, DV is used to improve trade reconciliation, empowering data
democracy, addressing data complexity, and managing fixed-risk income.

 Government
In the government sector, DV is used for protecting the environment.

 Healthcare
Data virtualization plays a very important role in the field of healthcare. In healthcare, DV
helps to improve patient care, drive new product innovation, accelerating M&A synergies,
and provide a more efficient claim analysis.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Manufacturing
In manufacturing industry, data virtualization is used to optimize a global supply chain,
optimize factories, and improve IT assets utilization.

4.9 Summary
In this chapter, various topics of virtualization have been discussed. Mainly Virtualization
means, running multiple operating systems on a single machine but sharing all the hardware
resources. And it helps us to provide the pool of IT resources so that we can share these IT
2023/2024 in order get benefits in the business.
resources 2023/2024 2023/2024

75
‫)‪Chapter (5‬‬
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪Cloud‬‬
‫‪2023/2024‬‬
‫‪Migration‬‬
‫‪2023/2024‬‬ ‫‪2023/2024‬‬
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫‪2023/2024‬‬
[email protected] [email protected] [email protected]

Chapter (5)
Cloud Migration
In today’s competitive business world, cloud technology is capable enough to provide cloud
services anytime and anywhere. In the current time cloud computing whether we like it or not
but it is present here and will be also for our benefit and the benefit of the society at large. It
has improved the way of operating the business activities, it has reduced the cost of
conducting business, and it has increased productivity, and on a process to make life of
people easier and it continues.
Where we are living with cloud technology, there the point cloud migration comes into the
picture. So let’s know more about this cloud migration by going a little bit deep into this
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

migration concept.

5.1 Cloud Migration


Cloud Migration is the procedure of transferring applications, data, and other types of
business components from old traditional business operations to (digital business operations)
any cloud computing platform. There are several parts of cloud migration an organization can
perform. The most used model is the applications and data transfer through an on-premises
and local data center to any public cloud. For example; moving data and applications from a
local on-premises data center to the cloud.
But, a cloud migration can also entail transferring
2023/2024 2023/2024
applications and data from a single cloud
2023/2024
environment or facilitate them to another- a model called cloud-to-cloud migration. The other
type of cloud migration is reverse cloud migration, cloud exit, and cloud repatriation where
applications or data are transferred and back to the local data center.

5.2 On-premises to Cloud Migration Process


Every business starting from small to large organizations follows slightly different process
for cloud migrations. Some of the common elements which are considered before cloud
migration are
 Evaluation of requirement and performance
 Selection of cloud provider
 Calculation of operational costs

The basic steps which are followed as follows


 Establishing migration goals
 Creating a security strategy
 Replicating existing database
 Move business intelligence
 Then switch production from on-premises to cloud

76
[email protected] [email protected] [email protected]
Chapter (5)

The way we consider the strategies of cloud migration as mentioned above depends on
migration goals, the complexity, size of our current environment, and our business model. At
this time, we will want to trust our IT team's expertise to understand the various outs and in
of our environment.
Whether we transfer all services and apps at once or take the hybrid path of keeping a few
applications on-premise, most of the migrations pursues a similar basic procedure as listed
below:

5.2.1 Plan our migration


Cloud migration needs a solid planning strategy to be successful. Get clear over our reasons
for the transfer and which of the migration strategy best helps them before getting begun.
Here is where we might apply cloud migration resources and tools for supporting our
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

migration plan by:


 Giving complete visibility into our on-premise platform including each system
dependency.
 Assessing security, server, and performance requirements. Also, examine what type of
training our team will require.

5.2.2 Select our cloud environment


We are ready to select any cloud provider that matches our requirements after evaluating our
latest application resource needs.
The most popular environments include Google Cloud Platform, Microsoft Azure, and AWS
2023/2024 2023/2024
(Amazon Web Services). All of these environments provide a lot of distinct2023/2024
cloud models for
adopting, whether it is multi-cloud, private cloud, hybrid cloud, or public cloud. Price out,
test, and build out a virtual workspace for seeing how things appear in distribution.

5.2.3 Migrate our data and apps


We have three options for moving a local data center to a public cloud such as online transfer
with either private network or public internet, or an offline transfer (offline). Here, we upload
data on an appliance for shipping to any cloud provider. One of the best approaches relies on
the type and amount of data we are speed and moving on which to implement it.

5.2.4 Certify post-move success


Our work is not complete until we can show any return over investment in our migration.

5.3 Cloud Migration Challenges


We can't use the strategies of the cloud without accurate planning. Some of the common
pitfalls are discussed below:

77
[email protected] [email protected] [email protected]
Cloud Migration

Figure 5. 1 Cloud Migration Challenges

Interoperability:
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

It is not easy to get our existing applications for communicating with new cloud
environments. We need to maintain our processes and procedures to those of our
cloud provider to make sure they do.
Resource Availability:
The process of migration may need holding in-house servers offline temporarily. But,
downtime can be harmful to application performance when not supported by an
accurate plan for the recovery process.
Resource Management:
Yet, not all the professionals of IT trust the cloud. If our team has been used to
handling physical servers, they may2023/2024
2023/2024
require educating over newer2023/2024
infrastructure or
reconfiguring to define new roles.
The more complex or larger our latest infrastructure, the stronger these challenges are for
overcoming. That is why out IT team must hold on to this appealing transformation armed
using services of cloud migration that could mitigate these issues including openness to
modification, room for development, and a sound strategy. There are some more challenges,
such as:
 Moving a database is a difficult task as there are large amounts of data involved
and mostly transferred over internet.
 After data is transferred into cloud database, another problem is to check the
transferred data is intact and secure as well as there is no data loss has been
occurred during this process.
 During migration a problem arises as some of operations or data are already
moved into cloud and some are still available on-premises. So ensuring current
system is operational and ensuring on going cloud migration process is taking
place correctly needs a careful attention.
 Interoperability becomes a problem as it is not easy to establish a perfect
communication in between existing applications and newer cloud environments.
 Using cloud services, getting good with newer cloud procedures, managing
resources and cloud activities require trained IT professionals who can work in the
cloud eco system.

78
[email protected] [email protected] [email protected]
Chapter (5)

5.4 Pros of Cloud Migration


Organizations migrate to a cloud for various reasons, but, normally when faced with many
challenges of developing IT infrastructure within the most secure and cost-effective way
possible. Some of the advantages of migrating to a cloud are as follows:
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Figure 5. 2 Pros of Cloud Migration

Flexibility:
No organization facilitating experiences a similar demand level by a similar number
of users every time. If our apps face fluctuations in traffic, then cloud infrastructure
permits us to scale down and up to meet the demand. Hence, we can apply only those
resources we require.
It allows using the services flexibly as well as from anywhere and anytime cloud
services can be accessed as per demand/need.
2023/2024 2023/2024 2023/2024

Scalability:
The analytics grow as the organization grows with databases, and other escalates
workloads. The cloud facilitates the ability to enhance existing infrastructure.
Therefore, applications have space to rise without impacting work.
Scalable enough to support various workloads and users, so it offers to expand
without impacting performance.

Agility:
The part of the development is remaining elastic enough for responding to rapid
modifications within the technology resources. Cloud adoption offers this by
decreasing the time drastically it takes for procuring new storage and inventory.
It is flexible enough to go with rapid changes in technology and it provides producing
newer and advanced setup quickly as per requirement.

Productivity:
Our cloud provider could handle the complexities of our infrastructure so we can
concentrate on productivity. Furthermore, the remote accessibility and simplicity of

79
[email protected] [email protected] [email protected]
Cloud Migration

most of the cloud solutions define that our team can concentrate on what matters such
as growing our business.
As it manages the complexity of infrastructure, so improved productivity is more
focused with a continuous process of growing business.

Security:
The cloud facilitates security than various others data centers by centrally storing
data. Also, most of the cloud providers give some built-in aspects including cross-
enterprise visibility, periodic updates, and security analytics.
Security is a major concern which is taking care by cloud service providers.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Profitability:
The cloud pursues a pay-per-use technique. There is no requirement to pay for extra
charges or to invest continually in training on, maintaining, making, and updating
space for various physical servers.
As it follows pay per use model so it delivers a greater profitability to the customers.

Recovery:
It provides backup and recovery solutions to businesses with less time and upfront
investment.

2023/2024 2023/2024 2023/2024


Cost:
Moving into cloud technology offers reduced cost in managing, operating, upgrading
and maintaining IT operations or infrastructure.

Performance:
Moving into cloud provides higher performance and customer satisfaction as
compared to traditional business processes.

5.5 Cloud Migration Strategies Types


Migrating to a cloud can be a good investment for our business. We might be admiring where
to start like several companies. Gartner specified some options that are widely called “the six
Rs of migration”, defined as follows:

80
[email protected] [email protected] [email protected]
Chapter (5)

Figure 5. 3 Cloud Migration Strategies

5.5.1 Rehosting (lift-and-shift)


It refers to take the application to the new hosted cloud environment by selecting IaaS
(Infrastructure as a Service).
The most general path is rehosting (or lift-and-shift), which implements as it sounds. It holds
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

our application and then drops it into our new hosting platform without changing the
architecture and code of the app. Also, it is a general way for enterprises unfamiliar with
cloud computing, who profit from the deployment speed without having to waste money or
time on planning for enlargement.
Besides, by migrating our existing infrastructure, we are applying a cloud just like other data
centers. It pays for making good use of various cloud services present for a few enterprises.
For example, adding scalable functions to our application to develop the experience for an
improving segment of many users.

5.5.2 Re-platforming
2023/2024
Re-platforming 2023/2024
is called "lift-tinker-and-shift". 2023/2024
It includes making some cloud optimizations
without modifying our app's core architecture. It is the better strategy for enterprises that are
not ready for configuration and expansion, or those enterprises that wish to improve trust
inside the cloud.

5.5.3 Re-factoring
It refers to reuse the application code and frameworks and running the application on a PaaS
(Platform as a Service).
It means to rebuild our applications from leverage to scratch cloud-native abilities. We could
not perform serverless computing or auto-scaling. A potential disadvantage is vendor lock-in
as we are re-creating on the cloud infrastructure. It is the most expensive and time-consuming
route as we may expect. But, it is also future-proof for enterprises that wish to take benefit
from more standard cloud features.
It covers the most common three approaches for migrating our existing infrastructure.

5.5.4 Re-purchasing
It means replacing our existing applications along with a new SaaS-based and cloud-native
platform (such as a homegrown CRM using Salesforce). The complexity is losing the existing
training and code's familiarity with our team over a new platform. However, the profit is
ignoring the cost of the development.

81
[email protected] [email protected] [email protected]
Cloud Migration

Re-purchasing is the most cost-effective process if moving through a highly personalized


legacy landscape and minimizing the apps and service number we have to handle. Once we
have accessed the nature and size of our application portfolio, we may detect cloud migration
is not correct for us.

5.5.5 Retiring
When we don't find an application useful and then simply turn off these applications. The
consequence savings may boost our business situation for application migration if we are
accessible for making the move.
5.5.6 Re-visiting
Re-visiting may be all or some of our applications must reside in the house. For example,
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

applications that have unique sensitivity or handle internal processes to an enterprise. Don't
be scared for revisiting cloud computing at any later date. We must migrate only what makes
effects to the business.

5.6 Cloud Migration Tools


Third-party vendors and cloud providers facilitate a lot of automated, cloud-based, and open-
source services and tools designed to:
 Certify post-migration success
 Manage and monitor its progress
 Help develop for cloud migration
2023/2024
Let's discuss some essentials. 2023/2024 2023/2024

5.6.1 APM (Application Performance Management)


Bear in mind that during cloud vendors offer access to the metric's rich set for acknowledging
modifications in our cloud environment. Usually, these metrics aren't in the overall
application context.
We will need an isolated monitoring solution for the visibility level. We can create real-time
correlations among end-user experience, application performance, and cloud service
utilization with a solution that includes AppDynamics APM.

5.6.2 Unified Monitoring


It is an emerging ability that gives full visibility into our whole application supporting
components, infrastructure, database, application, end-user, and ecosystem. These are
running in the cloud and on-premises. We can easily find the issues of cloud migration that
will usually cause war-room calls.
We have to be ensured for selecting tools that incorporate our platforms and operating
systems. The capabilities of cloud migration we require down the line may even resolve
which cloud provider we opt for today.

82
[email protected] [email protected] [email protected]
Chapter (5)

5.6.3 Business Intelligence Monitoring


It is a kind of tool we will need to verify cloud migration profits. Check for a tool same as
AppDynamics Business iQ, that can compare post and pre-move performance baselines
through a business and technical perspective. Accordingly, optimize enterprise performance
simulates the experience of the user during all the phases of our migration project, and track
enterprise transactions for revealing the true effect on our bottom line.

5.7 7 Steps of Migrating Model in Cloud


Migrating a model to a cloud can help in several ways, such as improving scalability,
flexibility, and accessibility. There are seven steps to follow when migrating a model to the
cloud:
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Step 1: Choose the right cloud provider (Assessment step)


The first step in migrating your model to the cloud is to choose a cloud provider that aligns
with your needs, budget, and model requirement. Consider the factors such as compliance,
privacy, and security.

Step 2: Prepare your data (Isolation step)


Before migrating to your cloud, you need to prepare your data. for that ensure your data is
clean and well organized, and in a format that is compatible with your chosen cloud provider.

2023/2024 2023/2024 2023/2024

Step 3: Choose your cloud storage (Mapping step)


Once your data is prepared, you need to choose your cloud storage. This is where your data is
stored in the cloud. There are many cloud storage services such as GCP Cloud Storage, AWS
S3, or Azure Blob Storage.

Step 4: Set up your cloud computing resources and deploy your model (Re-
architect step)
If you want to run a model in the cloud, you will need to set up your cloud computing
resources. This includes selecting the appropriate instance type and setting up a virtual
machine (VM) or container for your model. After setting up your computing resource, it is
time to deploy your model to the cloud. This includes packaging your model into a container
or virtual machine image and deploying it to your cloud computing resource. And while
deploying it may be possible that some functionality gets lost so due to this some parts of the
application need to be re-architect.

83
[email protected] [email protected] [email protected]
Cloud Migration

Step-5: Augmentation step


It is the most important step for our business for which we migrate to the cloud in this step by
taking leverage of the internal features of cloud computing service we augment our
enterprise.

Step 6: Test your Model


Once your model is deployed, we need to test it to ensure that it is working or not. That
involves running test data through your model and comparing the results with your expected
output.

Step 7: Monitor and maintain your Model


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

After the model is deployed and tested, it is important to monitor and maintain it. That
includes monitoring the performance, updating the model as needed, and need to ensure your
data stays up-to-date. Migrating your machine learning model to the cloud can be a complex
process, but above 7 steps, you can help ensure a smooth and successful migration, ensuring
that your model is scalable and accessible.

2023/2024 2023/2024 2023/2024

Figure 5. 4 Cloud Migration process

5.8 Cloud Migration Process


The cloud migration steps or processes an enterprise follows will vary based on factors such
as the type of migration it wants to perform and the specific resources it wants to move. That
said, common elements of a cloud migration strategy include the following:

 Understand the purpose.


This is the "why" of any cloud migration. Every cloud migration should start by defining
tangible business purposes for the migration and set clear expectations from the migration
project. If the business cannot identify at least one tangible or measurable reason for a
migration, it's often best to pause the project early on.

84
[email protected] [email protected] [email protected]
Chapter (5)

 Determine the target application(s).


This is the "what" of the cloud migration project, where business, technical and compliance
leaders assess the local environment and identify potential candidates for a cloud migration.
Not every workload is suited to the cloud because of performance, security, compliance or
other issues, so deciding what workload(s) should be included in a migration is a vital step
forward. In addition, a migration is not an all-or-nothing process. It's often advisable to
migrate workloads as individual projects rather than epic all-encompassing transformations.
Start small with simple, low-priority workloads with few -- if any -- dependencies and gain
experience with the migration process and pitfalls before tackling more complex or critical
workloads. Migrations must include all dependencies, such as related databases, in the
migration project.

 Choose the cloud target.


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

This is the "where" of a cloud migration project. Once an application is selected for a cloud
migration, the business can select the cloud deployment model -- such as public, private,
hybrid or multi-cloud, as well as IaaS, PaaS or SaaS -- that is best suited as the destination.
For example, a simple migration using a SaaS offering to replace an aging local workload
might involve a leading SaaS provider, while an advanced business transformation strategy
might involve creating a private cloud, establishing a hybrid cloud and then making the
migration.

 Select a proven cloud partner.


It's2023/2024
important to consider cloud targets carefully to ensure that the provider 2023/2024
2023/2024 has a proven track
record and will be in business for the foreseeable future. This might seem like an excessive
precaution, but provenance is everything in cloud computing. The most disruptive event for a
business is finding that a vital provider is closing its doors, forcing businesses to scramble to
find alternative providers -- often with undesirable outcomes.

 Evaluate migration costs and needs.


A cloud costs money, and any migration project must consider the costs of migration. This
typically includes per-month fees for a SaaS, per-user fees for a PaaS and the various costs of
IaaS resources and services. Since cloud costs are recurring, businesses will need to budget
appropriate funds for migration and ongoing support. Similarly, understand the performance
requirements and expectations from the workload once the migration is complete, and be
prepared to establish metrics and KPIs for ongoing workload performance monitoring and
reporting.

 Choose the appropriate architecture.


While PaaS and SaaS architectures are largely set and their costs are relatively
straightforward to determine, composing an architecture for a workload within an IaaS cloud
environment can be challenging -- especially for highly scalable architectures. It requires the
efforts of a skilled cloud architect with expertise in the chosen cloud target to compose an
environment with the reliability, security, monitoring and performance to meet the workload's

85
[email protected] [email protected] [email protected]
Cloud Migration

needs. Cost data from IaaS architectural designs should loop back to refine the cost analysis
and budgeting for the workload.

 Create the migration plan.


This is both the "when" and "how" of the cloud migration, enabling a business to outline its
approach and timeline for the actual migration. The plan should include provisions for
detailed data migration; testing and validating dependencies first, such as the required
databases; moving the intended target workload; and then performing all final testing and
validation. Only then should there be a clear cutover process to turn the local workload off
and turn the newly migrated cloud workload on. Finally, there should be consideration of
rollback processes for failed or problematic migrations. Any migration testing should include
detailed attention to access and security.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Perform the migration.


With all the pieces and plans in place, the business can migrate data and workloads in
accordance with its migration plan. This is where all of the movement and detailed testing
takes place. Business and technology leaders -- and often workload owners -- should see
initial performance reporting to ensure adequate performance and security under full load.
Cautious migration plans might run the cloud and local workloads concurrently for a short
time, syncing data and opening the cloud workload to systematically more users until the
cloud deployment is fully validated and cutover.

 Follow monitoring and reporting.


2023/2024 2023/2024 2023/2024

Cloud workloads are typically instrumented with performance monitoring services to track
workload availability, access, health and performance as it runs in the cloud. Stakeholders
should verify that reporting is available and KPIs meet expectations.

 Follow-up and organizational changes.


There might be some aftermath to a cloud migration. At the technical level, the local
resources -- such as servers and storage -- previously utilized by the local workload might be
freed for reuse or decommissioned to save power and cooling costs for the business. At the
business or organizational level, the movement of a workload into the cloud might result in
some staff reassignment. For example, moving a custom workload to a SaaS offering could
free developers to work on other projects.

At the same time, be prepared to address several common challenges during a cloud
migration:
 Interoperability.
 Data and application portability.
 Data integrity and security.
 Business continuity.

86
[email protected] [email protected] [email protected]
Chapter (5)

Without proper planning, a migration could degrade workload performance and lead to
higher IT costs -- thereby negating some of the main benefits of cloud computing.

5.9 Summary
Cloud migration has become a crucial aspect of modern business operations, providing
organizations with a flexible and cost-effective way to manage their digital assets. With the
increasing adoption of cloud technologies, organizations that do not embrace cloud migration
risk falling behind in efficiency, competitiveness, and innovation. As such, it is important for
businesses to carefully evaluate their cloud migration strategy and partner with experienced
cloud service providers to ensure a successful transition to the cloud.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2023/2024 2023/2024 2023/2024

87
Chapter (6)
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Resource
Management
2023/2024 2023/2024 2023/2024
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫‪2023/2024‬‬
[email protected] [email protected] [email protected]

Chapter (6)
Resource Management
The term resource management refers to the operations used to control how capabilities
provided by Cloud resources and services are made available to other entities, whether users,
applications, or services.

6.1 Cloud Computing Management


It is the responsibility of cloud provider to manage resources and their performance.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Management of resources includes several aspects of cloud computing such as load


balancing, performance, storage, backups, capacity, deployment, etc. The management is
essential to access full functionality of resources in the cloud.

6.2 Cloud Management Tasks


The cloud provider performs a number of tasks to ensure efficient use of cloud resources.
Here, we will discuss some of them:

2023/2024 2023/2024 2023/2024

Figure 6. 1 Cloud Management Tasks

6.2.1 Audit System Backups


It is required to audit the backups timely to ensure restoring of randomly selected files of
different users. Backups can be performed in following ways:
 Backing up files by the company, from on-site computers to the disks that reside
within the cloud.
 Backing up files by the cloud provider.
It is necessary to know if cloud provider has encrypted the data, who has access to that data
and if the backup is taken at different locations then the user must know the details of those
locations.

88
[email protected] [email protected] [email protected]
Chapter (6)

6.2.2 Data Flow of the System


The managers are responsible to develop a diagram describing a detailed process flow. This
process flow describes the movement of data belonging to an organization throughout the
cloud solution.

6.2.3 Vendor Lock-In Awareness and Solutions


The managers must know the procedure to exit from services of a particular cloud provider.
The procedures must be defined to enable the cloud managers to export data of an
organization from their system to another cloud provider.

6.2.4 Knowing Provider’s Security Procedures


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

The managers should know the security plans of the provider for the following services:
 Multitenant use
 E-commerce processing
 Employee screening
 Encryption policy

6.2.5 Monitoring Capacity Planning and Scaling Capabilities


The managers must know the capacity planning in order to ensure whether the cloud provider
is meeting the future capacity requirement for his business or not.
The managers must manage the scaling capabilities
2023/2024 2023/2024 in order to ensure services can be scaled
2023/2024
up or down as per the user need.

6.2.6 Monitor Audit Log Use


In order to identify errors in the system, managers must audit the logs on a regular basis.

6.2.7 Solution Testing and Validation


When the cloud provider offers a solution, it is essential to test it in order to ensure that it
gives the correct result and it is error-free. This is necessary for a system to be robust and
reliable.

6.3 Types of Resources


Physical Resource:
Computer, disk, database, network, etc.
Logical Resource:
Execution, monitoring, and application to communicate

89
[email protected] [email protected] [email protected]
Resource Management

6.4 Resource Management in Cloud Computing


On the Cloud Vendor’s View
 Provision resources on an on-demand basis.
 Energy conservation and proper utilization is maintained in Cloud Data Centers

On the Cloud Service Provider’s View


 To make available the best performance resources at the cheapest cost.
 QoS (Quality of Service) to their cloud users

On the Cloud User’s View


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Renting resources at a low price without compromising performance


 Cloud provider guarantees to provide a minimum level of service to the user

6.5 Resource Management Models


6.5.1 Compute Model
Resource in the cloud is shared by all users at the same time. It allows the user to reserve the
VM’s memory to ensure that the memory size requested by the VM is always available to
operate locally on clouds with a good enough level of QoS (Quality of Service) being
delivered to the end user.
2023/2024 2023/2024
Grid strictly manages the workload of computing mode. Local resource2023/2024
manager such as
Portable Batch System, Condor, and Sun Grid Engine manages the compute resource for the
Grid site. Identify the user to run the job

6.5.2 Data Model


It is related to plotting, separating, querying, transferring, caching, and replicating data.
Data is Stored at an Un-Trusted Host:
Although may not seem the best policy to store data and let others use the data
without permission moving data off-premises increases the number of potential
security risks.

Data Replication over Large Areas:


Making sure data is available and durable whenever demanded is of utmost
importance for cloud storage providers. Data availability and durability are typically
achieved through under-the-covers replication i.e., data is automatically replicated
without customer interference or requests.

90
[email protected] [email protected] [email protected]
Chapter (6)

Problems with Data Management:


Transactional data management is one of the biggest data management problems. It is
hard to ensure Atomicity, Consistency, Isolation, and Durability is maintained during
data replication over large distances. It is also risky to store such sensitive data in
untrusted storage.

6.5.3 Virtualization
It is the method by which we can create an emulation of software or hardware on our
computer. It has further two components:
Abstraction:
It provides the necessary virtual versions of raw compute, storage, and network that
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

can be unified as a pool of resources and resource overlay which includes data storage
services, and a web hosting environment.

Encapsulation:
A virtual machine can be represented as a single file. Virtualization configures,
deploys starts, migrates, suspends, resumes, and stops in each application. It provides
better security, manageability, and isolation.

6.5.4 Monitoring
The challenge that virtualization brings is that users don’t have a lot of control over the
2023/2024 2023/2024 2023/2024
monitoring resource. It is a method of reviewing, observing, and managing the operation of a
cloud-based IT infrastructure.
In Cloud:
Different levels of services can be offered to end users. The user is only exposed to a
limited Application Programming Interface. And lower-level resources are not
revealed to the user (PaaS, SaaS level some providers may choose to expose
monitoring information at these levels). The user does not have the capability to
implement a new application of its own monitoring infrastructure. Limited
information returned to users restricts their knowledge about the current status of the
resource. Require maintaining business tracking, updating, inspecting and
troubleshooting the servers of the cloud organization, monitor virtual machines, and
maintain the functioning of the hardware.

In Grid:
Have a different trust model in which users via their identity delegation can access
and browse resources at different Grid sites and Grid resources are not highly
abstracted and virtualized as in Clouds.

91
[email protected] [email protected] [email protected]
Resource Management

6.5.5 Programming Model


User-level programming languages are used for accessing and operating the cloud.
In Cloud:
Makes use of Web Services where users have more control over the Cloud Services.
The translation of data for the receiving system and real-time data exchange between
systems without middleware of all the services and applications remain a big
challenge.

In Grid:
Makes use of parallel and distributed computing environment
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Challenges:
 Multiple service providers allow to access data to clients with little authorization or
authentication
 Diversity in resources in turn affects the performance and stability
 Error handling in a continuously changing business environment

6.5.6 Security Model


It allows users to control the security of their own data by maintaining passwords, and
receiving any news regarding suspicious activity with their data via email.
Risks in the Security Model:
2023/2024 2023/2024 2023/2024

 Privileged use access


 Regulatory compliance
 Data location
 Data partition
 Recovery
 Investigation support
 Long-term durability

6.6 Resource pooling in Cloud Computing


6.6.1 Resource Pooling
The next resource we will look at that we can pool is the storage. The big blue box represents
a storage system with many hard drives in the diagram below. Each of the smaller white
squares represents the hard drives.

92
[email protected] [email protected] [email protected]
Chapter (6)

Figure 6. 2 Resource pooling in Cloud Computing

With my centralized storage, I can slice up my storage however I want and give the virtual
machines their own small part of that storage for however much space they require. In the
example below, I take a slice of the first disk and allocate that as the boot disk for 'Tenant 1,
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Server 1'.

2023/2024 Figure 6. 3 Resource pooling


2023/2024in Cloud Computing 2023/2024

I take another slice of my storage and provision that as the boot disk for 'Tenant 2, Server 1'.

Figure 6. 4 Resource pooling in Cloud Computing

Shared centralized storage makes storage allocation efficient - rather than giving whole disks
to different servers, I can give them exactly how much storage they require. Further savings
can be made through storage efficiency techniques such as thin provisioning, deduplication,
and compression.

93
[email protected] [email protected] [email protected]
Resource Management

Check out my Introduction to SAN and NAS Storage course to learn more about centralized
storage.

6.6.2 Network Infrastructure Pooling


The next resource that can be pooled is network infrastructure.

At the top of the diagram below is a physical firewall.


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2023/2024 2023/2024 2023/2024

Figure 6. 5 Resource pooling in Cloud Computing

All different tenants will have firewall rules that control what traffic is allowed into their
virtual machines, such as RDP for management and HTTP traffic on port 80 if it is a web
server.
We don't need to give each customer their physical firewall; we can share the same physical
firewall between different clients. Load balancers for incoming connections can also be
virtualized and shared among multiple clients.
In the main section on the left side of the diagram, you can see several switches and routers.
Those switches and routers are shared, with traffic going through the same device to different
clients.

6.6.3 Service pooling


The cloud provider also provides various services to the customers, as shown on the right side
of the diagram. Windows Update and Red Hat Update Server for operating system patching,
DNS, etc. Keeping DNS as a centralized service saves customers from having to provide their
DNS solution.

94
[email protected] [email protected] [email protected]
Chapter (6)

6.6.4 Location Independence


As stated by NIST, the customer generally has no knowledge or control over the exact
location of the resources provided. Nevertheless, they may be able to specify the location at a
higher level of abstraction, such as the country, state, or data center level.
For example, let's use AWS again; when I created a virtual machine, I did it in a Singapore
data center because I am located in the Southeast Asia region. I would get the lowest network
latency and best performance by having mine.
With AWS, I know the data center where my virtual machine is located, but not the actual
physical server it is running on. It could be anywhere in that particular data center. It can use
any personal storage system in the data center and any personal firewall. Those specifics
don't matter to the customer.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

6.6.5 How does resource pooling work?


In this private cloud as a service, the user can choose the ideal resource segmentation based
on his needs. The main thing to be considered in resource pooling is cost-effectiveness. It
also ensures that the brand provides new delivery of services.
It is commonly used in wireless technology such as radio communication. And here, single
channels join together to form a strong connection. So, the connection can transmit without
interference.
And in the cloud, resource pooling is a multi-tenant process that depends on user demand. It
is why it is known as SaaS or Software as a Service controlled in a centralized manner. Also,
as more and more people start using such SaaS services as service providers. The charges for
the2023/2024
services tend to be quite low. Therefore,
2023/2024 owning such technology becomes more
2023/2024
accessible at a certain point than it.
In a private cloud, the pool is created, and cloud computing resources are transferred to the
user's IP address. Therefore, by accessing the IP address, the resources continue to transfer
the data to an ideal cloud service platform.

6.6.6 Benefits of resource pooling


1. High Availability Rate
Resource pooling is a great way to make SaaS products more accessible. Nowadays, the use
of such services has become common. And most of them are far more accessible and reliable
than owning one. So, startups and entry-level businesses can get such technology.

2. Balanced load on the server


Load balancing is another benefit that a tenant of resource pooling-based services enjoys. In
this, users do not have to face many challenges regarding server speed.

95
[email protected] [email protected] [email protected]
Resource Management

3. Provides High Computing Experience


Multi-tenant technologies are offering excellent performance to the users. Users can easily
and securely hold data or avail such services with high-security benefits. Plus, many pre-built
tools and technologies make cloud computing advanced and easy to use.

4. Stored Data Virtually and Physically


The best advantage of resource pool-based services is that users can use the virtual space
offered by the host. However, they also moved to the physical host provided by the service
provider.

5. Flexibility for Businesses


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Pool-based cloud-based services are flexible as they can be transformed according to the need
of the technology. Plus, users don't have to worry about capitalization or huge investments.

6. Physical Host Works When a Virtual Host Goes Down


It could be a common technical issue that the virtual host becomes slow or slow. So, in that
case, the physical host of the SaaS service provider will start working. Therefore, the user or
tenant can get a suitable computing environment without technical challenges.

6.6.7 Disadvantages of resource pooling


1. 2023/2024
Security 2023/2024 2023/2024

Most service providers offering resource pooling-based services provide a high security
features. However, many features can provide a high level of security with such services. But
even then, the company's confidential data may pass to a third party, a service provider. And
due to any flaw, the company's data may be misused. But even then, it would not be a good
idea to rely solely on a third-party service provider.

2. Non-scalability
It can be another disadvantage of using resource pooling for organizations. Because if they
find cheap solutions, they may face challenges while upgrading their business in the future.
Also, another element can hinder the whole process and limit the scale of the business.

3. Restricted Access
In private resource pooling, users have restricted access to the database. In this, only a user
with user credentials can access the company's stored or cloud computing data. Since there
may be confidential user details and other important documents. Therefore such a service
provider can provide tenant port designation, domain membership, and protocol transition.
They can also use another credential for the users of the allotted area in cloud computing.

96
[email protected] [email protected] [email protected]
Chapter (6)

6.7 What is Azure Resource Manager?


Azure Resource Manager is the service that manages and deploys Azure resources. It has a
management layer that allows us to create, update, and delete Azure account resources. After
deployment, we employ administration tools like access control, locks, and tags to secure and
organize our resources.

6.7.1 Consistent management layer


When a user uses one of the Azure tools, APIs, or SDKs to deliver a request, Resource
Manager receives it. It verifies the request and authorizes it. The request is sent to the Azure
service, which performs the specified action. Because all requests are routed through the
same API, the results and capabilities across all tools are consistent.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

The role of Azure Resource Manager in handling Azure requests is depicted in the diagram
below.

2023/2024 2023/2024 2023/2024

Figure 6. 6 Azure Resource Manager

PowerShell, Azure CLI, REST APIs, and client SDKs provide access to all functionalities
offered in the portal. Within 180 days of its initial release, API-based functionality will be
displayed in the portal.

6.7.2 Terminology
There are several things names or terms that one might not be familiar with, if one is a first
time user of the Azure.
 Resource - A managed item that may be accessed via Azure. The Resources in the
azure can include virtual computers, storage accounts, databases, web apps, and
virtual networks.
 Resource Group - A container for Azure solutions that houses connected resources.
In other words we can say that the resource group contains all of the resources that we
want to manage collectively.

97
[email protected] [email protected] [email protected]
Resource Management

 Resource Provider- A service that makes Azure resources available.


Microsoft.Compute, for example, is a popular resource provider that provides the
virtual machine resource. Another frequent resource provider is Microsoft.Storage.
 Resource Manager Template- A JSON file that specifies one or more resources to
be deployed to a resource group, subscription, management group, or tenant.
 Declarative Syntax- Syntax that allows us to say "Here's what I'm going to make"
without having to write the programming commands that will make it happen.
Declarative syntax is demonstrated in the Resource Manager template.

6.7.3 The benefits of using Resource Manager


There are several benefits of using the Azure Resource Manager, some of them are stated
below:
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 Use the declarative temple to manage the infrastructure.


 Rather than managing individual resources, deploy, manage, and monitor all of our
solution's resources as a group.
 Define resource dependencies so that they are distributed in the correct order.
 Use tags to organize all of the resources in our subscription sensibly.
 View prices for a set of resources with the same tag to better understand our
organization's billing.

6.7.4 Understand scope


Management groups, subscriptions, resource groups, and resources are the four degrees of
scope available in Azure. An example of these
2023/2024 layers can be seen in the figure
2023/2024 below.
2023/2024

Figure 6. 7 Azure Resource Manager

At any of these scope levels, we can apply management settings. The setting's scope is
determined by the level we choose. The settings from higher levels are passed down to lower
levels.
Tenants, management groups, subscriptions, and resource groups can all receive templates.

98
[email protected] [email protected] [email protected]
Chapter (6)

6.7.5 Resource groups


 When defining our resource group, keep the following points in mind:
 Our resource group's resources should all have the same lifespan. We deploy, update,
and remove them all at the same time. If a resource, such as a server, has to be
deployed at a different time, it should be in a distinct resource group.
 One resource group can contain an isolate resource.
 We can add or remove a resource from a resource group at any point of time.
 We can move a resource group from one to another.
 A resource group's resources can be in distinct areas than the resource group itself.
 We must have a good habit of giving the resource group a proper name and location
while we are creation it. One might be thinking, "Why is it necessary for a resource
group to have a physical location? And, if the resources can be in different places than
the resource group, why does the location of the resource group matter?"
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

 The metadata about the resources is stored in the resource group. When we give a
resource group a location, we're telling it where to keep its metadata. We may need to
verify that our data is stored in a specific location for compliance reasons.
 Because the metadata is inaccessible when the resource group's area is momentarily
unavailable, we can't change resources in the resource group.
 A resource can be linked to others in the same resource group. When two resources
are related but not in the same lifetime, this is a common circumstance.
 When we delete a resource group, it also deletes all of the resources within it. For
more details on how Azure Resource Manager manages those deletions, go here.
 Every resource group can have up to 800 instances of resource type. The 800-instance
restriction may not apply to all resource types.
 There are some resources that are not part of a resource group. The subscriber,
2023/2024 2023/2024 2023/2024
management group, or tenant receives these resources.

6.7.6 Resiliency of Azure Resource Manager


The Azure Resource Manager service is built for high availability and resiliency. In the
REST API, Resource Manager and control plane operations (requests addressed to
management.azure.com) are:
 They're dispersed around the country. Some services are only available in certain
areas.
 In the azure, we have multiple locations and zone available. They are across various
regions as well depending on zones available.
This resiliency is only applicable to services that accept requests via Resource Manager. Key
Vault, for example, benefits from this robustness.

6.7.7 Management of limits in the resource Group


One must Note that "Some services have adjustable limits".
It utilizes the header Limit when a service does not have changeable limits. The default and
maximum limitations are the same in such circumstances.

99
[email protected] [email protected] [email protected]
Resource Management

The tables provide Default limit and Maximum limit headers when the limit can be modified.
The limit can be increased beyond the default but not beyond the maximum.
Open a free online customer support request if we want to increase the limit or quota beyond
the preset limit.
Limit and quota increases are not applicable to Free Trial memberships. We can upgrade to
the Pay-As-You-Go subscription plan whenever we want from our Free trial subscription.

6.8 Summary
Resource management in cloud computing represents the technical phrase. It is used to
describe a service provider as providing IT service to multiple customers at a time. And these
services are scalable and accessible to businesses as well. Plus, when brands use this kind of
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

technology, they can save a large capitalization investment.


Resource pooling in cloud computing represents the technical phrase. It is used to describe a
service provider as providing IT service to multiple customers at a time. And these services
are scalable and accessible to businesses as well. Plus, when brands use this kind of
technology, they can save a large capitalization investment.

2023/2024 2023/2024 2023/2024

100
[email protected] [email protected] [email protected]
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

2023/2024 2023/2024 2023/2024


References

Chao, Lee. Cloud computing networking: Theory, practice, and development. CRC
Press, 2015.

Arora, P., A. Duchene. To the Cloud: Cloud Powering an Enterprise. New York:
McGraw-Hill Osborne Media, 2012.
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Crookes, D. Cloud Computing in Easy Steps. Warwickshire, U.K.: In Easy Steps


Limited, 2012.

Finn, A., H. Vredevoort, P.Lownds, D. Flynn. Microsoft Private Cloud Computing.


Indianapolis, IN: Sybex, 2012. Jackson, K. OpenStack Cloud

Chappell, D. (August 2008). A short introduction to cloud platforms: An


2023/2024 2023/2024 2023/2024
enterprise-oriented view. San Francisco, CA: Chappel and Associates.

Sun Microsystems (June 2009). Introduction to cloud computing architecture.


White Paper, Sun Microsystems.

Buyya, Rajkumar, James Broberg, and Andrzej M. Goscinski, eds. Cloud


computing: Principles and paradigms. John Wiley & Sons, 2010.

101
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬

‫‪Worksheets‬‬
‫‪2023/2024‬‬ ‫‪2023/2024‬‬
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

‫‪2023/2024‬‬
‫‪2023/2024‬‬
‫‪2023/2024‬‬
Sheet
Q (1): What is Cloud Computing?
a) Cloud Computing means providing services like storage, servers, database, networking, etc
b) Cloud Computing means storing data in a database
c) Cloud Computing is a tool used to create an application
d) None of the mentioned

Q (2): Which of the following is not a type of cloud server?


a) Public Cloud Servers c) Community Cloud Servers
b) Private Cloud Servers d) Merged Cloud Servers
‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

Q (3): Which of the following are the features of cloud computing?


a) Security c) Large Network Access
b) Availability d) All of the mentioned
architecture

Q (4): Which of the following is a type of cloud computing service?


a) Service-as-a-Software (SaaS) c) Software-as-a-Service (SaaS)
b) Software-and-a-Server (SaaS) d) Software-as-a-Server (SaaS)

Q (5): The following figure represents _______________

2023/2024 2023/2024 2023/2024

a) Public Cloud Model c) Hybrid Cloud Model


b) Private Cloud Model d) Community Cloud Model

Q (6): These cloud services are of the form of utility computing i.e. the _________ uses these services pay-as-you-
go model.
a) Cloud Providers b) Cloud users c) End users d) Clients

Q (7): Which of the following is the correct statement about cloud computing?
a) Cloud computing abstracts systems by pooling and sharing resources
b) Cloud computing is nothing more than the Internet
c) The use of the word “cloud” makes reference to the two essential concepts
d) All of the mentioned

Q (8): Which of the following is an example of a SaaS cloud service?


a) Google Workspace b) Dropbox c) Salesforce d) All of the above

Q (9): Which one of the following refers to the user's part of the Cloud Computing system?
a) Back End b) Management c) Infrastructure d) Front End

Q (10): In how many parts we can broadly divide the architecture of the Cloud?
a) 4 b) 3 c) 2 d) 5

Q (11): In distributed system, each processor has its own ___________


a) local memory b) clock c) both local memory and clock d) none of the mentioned
i
Q (12): A distributed system contains _____ nodes.
a) zero node b) one node c) two node d) multiple node

Q (13): The nodes in the distributed systems can be arranged in the form of?
a) client/server systems c) both a and b
b) peer to peer systems d) none of the above

Q (14): In which system, tasks are equally divided between all the nodes?
a) client/server systems c) user to client system
b) peer to peer systems d) all of the above

Q (15): In distributed system, each processor has its own ___________


‫ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ‬

a) local memory b) clock c) both a and b d) none of the above

Q (16): A server may serve _________ clients at the same time


a) no b) single c) multiple d) cannot say

Q (17): Clustered systems have ___________ CPUs.


a) zero b) one c) two d) multiple

Q (18): Clustered systems are created by ________ individual computer systems.


a) one b) two c) two or more d) none of the above

Q (19): What is Cloud Computing?


a) Cloud Computing means providing services like storage, servers, database, networking, etc.
b) Cloud Computing means storing data in a database
2023/2024 2023/2024 2023/2024
c) Cloud Computing is a tool used to create an application
d) None of the mentioned

Q (20): Which of the following is a type of cloud computing service?


a) Service-as-a-Software (SaaS)
b) Software-and-a-Server (SaaS)
c) Software-as-a-Service (SaaS)
d) Software-as-a-Server (SaaS)
Q.21) what is the distributed systems? What are its types in details?

Q.22) What are the different layers in cloud computing? Explain working of them.

Q.23) What is on-demand functionality? How is it provided in cloud computing?

Q.24) What are the different models for deployment in cloud computing?

Q.25) What is the difference between scalability and elasticity?

ii

You might also like