2
Comparing grid withutility computing
• Grid Computing : Grid Computing, as name suggests, is a
type of computing that combine resources from various
administrative domains to achieve common goal. Its main
goal to virtualized resources to simply solve problems or
issues and apply resources of several computers in network
to single problem at same time to solve technical or
scientific problem.
3.
3
• Utility Computing: is a type of computing that provide
services and computing resources to customers. It is
basically a facility that is being provided to users on their
demand and charge them for specific usage. It is similar to
cloud computing and therefore requires cloud-like
infrastructure.
4.
4
Grid Computing UtilityComputing
It is a process architecture that
combines different computing
resources from multiple locations to
achieve desired and common goal.
It is process architecture that provide
on-demand computing resources and
infrastructure on basis of pay per use
method.
It distributes workload across
multiple systems and allow
computers to contribute their
individual resources to common goal.
It allows organization to allocate and
segregate computing resources and
infrastructure to various users on
basis of their requirements.
It makes better use of existing
resources, address rapid fluctuations
in customer demands, improve
computational capabilities, provide
flexibility, etc.
It simply reduces IT costs, easier to
manage, provide greater flexibility,
compatibility, provide more
convenience, etc.
5.
5
Grid Computing UtilityComputing
It is of three types i.e., computational
grid, data grid, and collaborative grid.
It is of two type i.e., Internal and
external utility.
It is used in ATMs, back-end
infrastructures, marketing research,
etc.
It is used in large organizations such
as Amazon, Google, etc., where they
establish their own utility services for
computing storage and applications.
Its main purpose is to integrate usage
of computer resources from
cooperating partners in form of VO
(Virtual Organizations).
Its main purpose is to make
computing resources and
infrastructure management available
to customer as per their need, and
charge them for specific usage rather
than flat rate.
Its characteristics include resource Its characteristics include scalability,
7
Hypervisors
• A hypervisoris a form of virtualization software used in
Cloud hosting to divide and allocate the resources on
various pieces of hardware.
• The program which provides partitioning, isolation, or
abstraction is called a virtualization hypervisor.
• The hypervisor is a hardware virtualization technique that
allows multiple guest operating systems (OS) to run on a
single host system at the same time. A hypervisor is
sometimes also called a virtual machine manager(VMM).
8.
8
Types of Hypervisor
TYPE-1Hypervisor:
• The hypervisor runs directly on the underlying host system.
• It is also known as a “Native Hypervisor” or “Bare metal
hypervisor”. It does not require any base server operating
system.
• It has direct access to hardware resources.
• Examples of Type 1 hypervisors include VMware ESXi, Citrix
XenServer, and Microsoft Hyper-V hypervisor.
9.
9
TYPE-2 Hypervisor:
• AHost operating system runs on the underlying host system. It is also
known as ‘Hosted Hypervisor”.
• Such kind of hypervisors doesn’t run directly over the underlying hardware
rather they run as an application in a Host system(physical machine).
• Basically, the software is installed on an operating system. Hypervisor asks
the operating system to make hardware calls.
• An example of a Type 2 hypervisor includes VMware Player or Parallels
Desktop.
• Hosted hypervisors are often found on endpoints like PCs.
• The type-2 hypervisor is very useful for engineers, and security analysts
(for checking malware, or malicious source code and newly developed
applications).
10.
10
Multitenancy
Multitenancy in Cloudcomputing: Multitenancy is a type of
software architecture where a single software instance can
serve multiple distinct user groups. It means that multiple
customers of cloud vendor are using the same computing
resources. As they are sharing the same computing resources
but the data of each Cloud customer is kept totally separate
and secure. It is very important concept of Cloud Computing.
11.
11
Example:
• The exampleof multitenancy is the same as working of Bank.
Multiple people can store money in the one same bank. But every
customer asset is totally different like one customer cannot have
access to the other customer’s money and account and different
customers are not aware about each other’s account balance and
details etc.
• Multi-tenancy is an architectural approach enabling a single
instance of an application to be shared among multiple
organizations or users, and is applied only to SaaS (Software as a
service). The core principle here is, it is the single instance of the
application which is being shared. Hence, multi-instance
architectures aren’t the same as multi-tenant architectures.
12.
12
Advantages of Multitenancy
•Use of Available resources is maximized by sharing
resources.
• Customer’s Cost of Physical Hardware System reduces.
• It reduce usage of physical devices and thus power
consumption and cooling cost save.
• Save Vendor’s cost as it become difficult for cloud vendor to
provide separate Physical Services to each individual.
• Provides isolation to user while maximizing resource
utilization.
13.
13
Disadvantages of Multitenancy
•As data is stored in third party services , this reduces
security of our data and put it into vulnerable condition .
• Unauthorized access will cause damage of data.
• Possibility of competition for system resources.
• It has single point of failure since there is only one instance
of resource, clients face loss of service in such cases.
14.
14
Application Programming Interfaces(API)
• API full form is an Application Programming Interface that is a
collection of communication protocols and subroutines used by
various programs to communicate between them.
• A programmer can make use of various API tools to make their
program easier and simpler.
• An API facilitates programmers with an efficient way to develop their
software programs.
• An API helps two programs or applications to communicate with
each other by providing them with the necessary tools and functions.
• It takes the request from the user and sends it to the service
provider and then again sends the result generated from the service
provider to the desired user.
15.
15
How do APIsWork?
The working of an API can be clearly explained with a few
simple steps.
• Think of a client-server architecture where the client sends
the request via a medium to the server and receives the
response through the same medium.
• An API acts as a communication medium between two
programs or systems for functioning.
• The client is the user/customer (who sends the request), the
medium is the application interface programming , and the
server is the backend (where the request is accepted and a
response is provided).
16.
16
Steps followed inthe working of APIs:
• The client initiates the requests via the APIs URI (Uniform
Resource Identifier)
• The API makes a call to the server after receiving the
request
• Then the server sends the response back to the API with
the information
• Finally, the API transfers the data to the client
17.
17
APIs are consideredsafe in terms of attacks as it includes
authorization credentials and an API gateway to limit access so
as to minimize security threats. To provide additional security
layers to the data, HTTP headers, query string parameters, or
cookies are used.
API’s architectures are:
• REST (Representational State Transfer)
• SOAP (Simple Object Access Protocol)
• Both define a standard communication protocol for the exchange of
messages in XML (Extensible Markup Language).
18.
18
Elasticity
• Elasticity refersto the ability of a cloud to automatically
expand or compress the infrastructural resources on a
sudden up and down in the requirement so that the
workload can be managed efficiently.
• This elasticity helps to minimize infrastructural costs.
• This is not applicable for all kinds of environments, it is
helpful to address only those scenarios where the resource
requirements fluctuate up and down suddenly for a specific
time interval.
• It is not quite practical to use where persistent resource
infrastructure is required to handle the heavy workload.
19.
19
• Example: Consideran online shopping site whose
transaction workload increases during festive season like
Christmas. So for this specific period of time, the resources
need a spike up. In order to handle this kind of situation, we
can go for a Cloud-Elasticity service rather than Cloud
Scalability. As soon as the season goes out, the deployed
resources can then be requested for withdrawal.
20.
20
Scalability
• Cloud scalabilityis used to handle the growing workload
where good performance is also needed to work efficiently
with software or applications. Scalability is commonly used
where the persistent deployment
• Example: Consider you are the owner of a company whose
database size was small in earlier days but as time passed
your business does grow and the size of your database also
increases, so in this case you just need to request your cloud
service vendor to scale up your database capacity to handle
a heavy workload. of resources is required to handle the
workload statically.
21.
21
Problem:
You are taskedwith running multiple virtual machines (VMs) on a physical server
that has the following specifications:
CPU: 8 cores
RAM: 64 GB
Disk Space: 1 TB
Each VM has the following requirements:
2 vCPUs
8 GB RAM
100 GB Disk Space
You need to calculate how many VMs can run on this physical server using full
virtualization.
22.
22
Solution:
1. Determine themaximum number of VMs by CPU:
Each VM requires 2 virtual CPUs (vCPUs), and the physical server has
8 CPU cores.
Number of VMs based on CPUs =
Total CPU coresv/CPUs per VM=8/2=4
So, based on CPU requirements, the physical server can run 4 VMs.
2. Determine the maximum number of VMs by RAM:
Each VM requires 8 GB of RAM, and the physical server has 64 GB of
RAM.
Number of VMs based on RAM = Total RAM/RAM per VM=64/8=8
So, based on RAM requirements, the physical server can run 8 VMs.
23.
23
3. Determine themaximum number of VMs by Disk Space:
Each VM requires 100 GB of disk space, and the physical server has 1
TB (1,000 GB) of disk space.
Number of VMs based on disk space =
Total Disk Space/Disk Space per VM=1000/100=10
So, based on disk space, the physical server can run 10 VMs.
4. Determine the overall maximum number of VMs:
The limiting factor here is the CPU, as it can only support 4 VMs
(based on CPU cores). Therefore, the number of VMs that can be
supported on this server is 4.
24.
24
Assignment 1
• Howwould you apply cloud computing in a business
scenario where the company needs to scale resources on-
demand?
• Given a company's fluctuating needs, which type of cloud
workload pattern would be the best choice and why?
• How would virtualization techniques be implemented to
maximize resource efficiency in a data center?
• Analyze the major milestones in the historical development
of cloud computing, and discuss the ongoing challenges the
industry faces today.