Cloud Computing
Cloud Computing
Computing
2023/2024 2023/2024 2023/2024
By
2023/2024
2023/2024
2023/2024
[email protected] [email protected] [email protected]
Table of Contents
Worksheets
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
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
1
[email protected] [email protected] [email protected]
Introduction to Distributed Systems
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.
2
[email protected] [email protected] [email protected]
Chapter (1)
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.
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)
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.
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
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
6
[email protected] [email protected] [email protected]
Chapter (1)
7
[email protected] [email protected] [email protected]
Introduction to Distributed Systems
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
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.
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
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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)
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.
OpenStack
2023/2024 2023/2024 2023/2024
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.
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.
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.
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.
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
15
[email protected] [email protected] [email protected]
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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.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.
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)
17
[email protected] [email protected] [email protected]
Overview of Cloud Computing
18
[email protected] [email protected] [email protected]
Chapter (2)
19
[email protected] [email protected] [email protected]
Overview of Cloud Computing
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.
20
[email protected] [email protected] [email protected]
Chapter (2)
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
21
[email protected] [email protected] [email protected]
Overview of Cloud Computing
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.
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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.
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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.
24
[email protected] [email protected] [email protected]
Chapter (2)
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
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)
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.
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
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.
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.
◦ 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.
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
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
Software as a Service
2023/2024 ◦ It gained momentum in 2001.2023/2024 2023/2024
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
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.
32
[email protected] [email protected] [email protected]
Chapter (2)
33
[email protected] [email protected] [email protected]
Overview of Cloud Computing
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.
34
[email protected] [email protected] [email protected]
Chapter (2)
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.
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
36
[email protected] [email protected] [email protected]
Chapter (2)
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.
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.
38
[email protected] [email protected] [email protected]
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
Private Cloud
Hybrid Cloud
Community Cloud
Multi-Cloud
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.
40
[email protected] [email protected] [email protected]
Chapter (3)
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.
41
[email protected] [email protected] [email protected]
Service and Deployment Models
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.
42
[email protected] [email protected] [email protected]
Chapter (3)
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.
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.
43
[email protected] [email protected] [email protected]
Service and Deployment Models
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.
44
[email protected] [email protected] [email protected]
Chapter (3)
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
45
[email protected] [email protected] [email protected]
Service and Deployment Models
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.
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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.
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
Characteristics
2023/2024 2023/2024 2023/2024
48
[email protected] [email protected] [email protected]
Chapter (3)
Benefits
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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:
50
[email protected] [email protected] [email protected]
Chapter (3)
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
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.
52
[email protected] [email protected] [email protected]
Chapter (3)
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.
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.
55
[email protected] [email protected] [email protected]
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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.
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
Figure 4. 1 Virtualization
56
[email protected] [email protected] [email protected]
Chapter (4)
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.
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
58
[email protected] [email protected] [email protected]
Chapter (4)
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
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
Paravirtualization
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
In Paravirtualization, the hardware is not simulated. The guest software runs its own
isolated domains.
60
[email protected] [email protected] [email protected]
Chapter (4)
61
[email protected] [email protected]
[email protected]
Computing Virtualization
62
[email protected] [email protected] [email protected]
Chapter (4)
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
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.
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.
64
[email protected] [email protected] [email protected]
Chapter (4)
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.
65
[email protected] [email protected]
[email protected]
Computing Virtualization
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.
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
66
[email protected] [email protected] [email protected]
Chapter (4)
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.
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
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.
69
[email protected] [email protected]
[email protected]
Computing 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.
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)
71
[email protected] [email protected]
[email protected]
Computing Virtualization
5. Security
It allows uses to store their sensitive data inside the data centers.
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)
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.
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.
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.
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:
77
[email protected] [email protected] [email protected]
Cloud Migration
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)
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.
Performance:
Moving into cloud provides higher performance and customer satisfaction as
compared to traditional business processes.
80
[email protected] [email protected] [email protected]
Chapter (5)
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
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.
82
[email protected] [email protected] [email protected]
Chapter (5)
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
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.
84
[email protected] [email protected] [email protected]
Chapter (5)
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.
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.
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.
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.
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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.
88
[email protected] [email protected] [email protected]
Chapter (6)
The managers should know the security plans of the provider for the following services:
Multitenant use
E-commerce processing
Employee screening
Encryption policy
89
[email protected] [email protected] [email protected]
Resource Management
90
[email protected] [email protected] [email protected]
Chapter (6)
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
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
92
[email protected] [email protected] [email protected]
Chapter (6)
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'.
I take another slice of my storage and provision that as the boot disk for 'Tenant 2, Server 1'.
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.
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.
94
[email protected] [email protected] [email protected]
Chapter (6)
95
[email protected] [email protected] [email protected]
Resource Management
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.
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)
The role of Azure Resource Manager in handling Azure requests is depicted in the diagram
below.
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
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)
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.
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
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
100
[email protected] [email protected] [email protected]
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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.
ﻣﻴﺮﻧﺎ ﻣﺤﻤﺪ ﻋﺒﺪﺍﻟﻤﻨﻌﻢ ﻋﻄﺎﺍﻟﻠﻪ
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 (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 (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 (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.22) What are the different layers in cloud computing? Explain working of them.
Q.24) What are the different models for deployment in cloud computing?
ii