Download as pdf or txt
Download as pdf or txt
You are on page 1of 67

Distributed Systems and Cloud

Computing
Lec. 1
UNIT- I : Systems Modeling, Clustering
and Virtualization
• Distributed System
• Models and Enabling Technologies
• Computer Clusters for Scalable Parallel Computing
• Virtual Machines and Virtualization of Clusters
and Data centers.
Introduction
• What is Distributed Systems ?
• What is Cloud Computing ?
Distributed computing
Distributed computing This is a field of computer
science/engineering that studies distributed systems.
A distributed system consists of multiple autonomous
computers, each having its own private memory,
communicating through a computer network.
Information exchange in a distributed system is
accomplished through message passing.
A computer program that runs in a distributed system is
known as a distributed program. The process of
writing distributed programs is referred to as
distributed programming.
We define a distributed system as one in which
hardware or software component located at
networked computers communicate and
coordinate their action only by passing
message .
What is a Distributed System?
• From various textbooks:
– “A distributed system is a collection of independent
computers that appear to the users of the system as a
single computer.”
– “A distributed system consists of a collection of
autonomous computers linked to a computer network and
equipped with distributed system software.”
– “A distributed system is a collection of processors that do
not share memory or a clock.”
– “Distributed systems is a term used to define a wide range
of computer systems from a weakly-coupled system such
as wide area networks, to very strongly coupled systems
such as multiprocessor systems.”
Distributed Computing System Examples

• World Wide Web


• Social Media Giant Facebook
• Hadoop’sDistributed File System (HDFS)
• ATM
• Cloud Network Systems(Specialized form of
Distributed Computing Systems)
• Google Bots, Google Web Server, Indexing
Server
Cloud computing
Cloud computing An Internet cloud of resources
can be either a centralized or a distributed
computing system. The cloud applies parallel
or distributed computing, or both. Clouds can
be built with physical or virtualized resources
over large data centers that are centralized or
distributed. Some authors consider cloud
computing to be a form of utility computing or
service computing .
what cloud computing is?

• It's the delivery of computing services over the


internet, which is otherwise known as the cloud.
These services include servers, storage,
databases, networking, software, analytics, and
intelligence. Cloud computing offers faster
innovation, flexible resources, and economies of
scale.
• Cloud computing is the delivery of computing
services over the internet by using a
pay-as-you-go pricing model.
• cloud computing is a way to rent compute power
and storage from someone else's datacenter.
Examples of Cloud computing
• YouTube is the best example of cloud storage which
hosts millions of user uploaded video files.
• Picasa and Flickr host millions of digital photographs
allowing their users to create photo albums online by
uploading pictures to their service’s servers.
• Google Docs is another best example of cloud
computing that allows users to upload presentations,
word documents and spreadsheets to their data
servers. Google Docs allows users edit files and publish
their documents for other users to read or make edits.
List of Cloud Service Providers
• Amazon Web Service (AWS) • Rackspace
• Microsoft Azure • Red Hat
• ServerSpace • Salesforce
• Google Cloud Platform • Oracle Cloud
• IBM Cloud Services • SAP
• Adobe Creative Cloud • Verizon Cloud
• Kamatera • Navisite
• VMware • Dropbox
AWS Certifications
AWS certifications are divided into four major categories – Foundational, Associate,
Professional, and Specialty.
Azure Certifications

• Here is a list of some Microsoft Azure certifications.


• AZ-103: Microsoft Azure Administrator
• AZ-203: Developing Solutions for Microsoft Azure
• AZ-300: Microsoft Azure Architect Technologies
• AZ-301: Microsoft Azure Architect Design
• AZ-400: Microsoft Azure DevOps Solutions
• AZ-500: Microsoft Azure Security Technologies
• AZ-900: Microsoft Azure Fundamentals
• 70-487: Developing Microsoft Azure and Web Services
• 70-537: Configuring and Operating a Hybrid Cloud with
Microsoft Azure Stack
Google Cloud Certifications

• Here is a list of Google cloud certifications:


• Associate Cloud Engineer
• Professional Data Engineer
• Professional Cloud Architect
• Professional Cloud Developer
• Professional Cloud Network Engineer
• Professional Cloud Security Engineer
• G Suite
Difference between Cloud Computing and
Distributed Computing

Distributed computing is the use of distributed


systems to solve single large problems by
distributing tasks to single computers in the
distributing systems. On the other hand, cloud
computing is the use of network hosted servers
to do several tasks like storage, process and
management of data.
Cloud Computing

Cloud computing refers to providing on demand IT


resources/services like server, storage, database, networking,
analytics, software etc. over internet. It is a computing
technique that delivers hosted services over the internet to its
users/customers. Cloud computing provides services such as
hardware, software, networking resources through internet.
Some characteristics of cloud computing are providing shared
pool of configurable computing resources, on-demand
service, pay per use, provisioned by the Service Providers etc.
• It is classified into 4 different types such as
• Public Cloud
• Private Cloud
• Community Cloud
• Hybrid Cloud
• Private Cloud –A cloud infrastructure dedicated to a
particular IT organization for it to host applications so that it
can have complete control over the data without any fear
of security breach.
• Public Cloud- A cloud infrastructure hosted by service
providers and made available to the public. In this kind of
cloud, customers have no control or visibility about the
infrastructure. For example, Google and Microsoft own and
operate their own their public cloud infrastructure by
providing access to the public through Internet.
• Community Cloud- A multi-tenant cloud infrastructure
where the cloud is shared by several IT organizations.
• Hybrid Cloud- A combination or 2 or more different types of
the above mentioned clouds (Private, Public and
Community) forms the Hybrid cloud infrastructure where
each cloud remains as a single entity but all the clouds are
combined to provide the advantage of multiple deployment
models.
Distributed Computing :
Distributed computing refers to solve a problem over distributed autonomous
computers and they communicate between them over a network. It is a
computing technique which allows to multiple computers to communicate and
work to solve a single problem. Distributed computing helps to achieve
computational tasks more faster than using a single computer as it takes a lot of
time. Some characteristics of distributed computing are distributing a single task
among computers to progress the work at same time, Remote Procedure calls
and Remote Method Invocation for distributed computations.

The goal of Distributed Computing is to provide collaborative resource


sharing by connecting users and resources. Distributed Computing strives
to provide administrative scalability (number of domains in
administration), size scalability (number of processes and users), and
geographical scalability (maximum distance between the nodes in the
distributed system).

It is classified into 3 different types such as

• Distributed Computing Systems


• Distributed Information Systems
• Distributed Pervasive Systems
Distributed Information Systems –The main goal of
these systems is to distribute information across
different servers through various communication
models like RMI and RPC.
• Distributed Pervasive Systems-These kind of
distributed systems consist of embedded computer
devices such as portable ECG monitors, wireless
cameras, PDA’s, sensors and mobile devices.
Distributed Pervasive systems are identified by their
instability when compared to more “traditional”
distributed systems.
• Distributed Computing Systems –In this kind of
systems, the computers connected within a network
communicate through message passing to keep a
track of their actions.
S.No. CLOUD COMPUTING DISTRIBUTED COMPUTING

01. Cloud computing refers to providing on Distributed computing refers to solve a problem
demand IT resources/services like server, over distributed autonomous computers and they
storage, database, networking, analytics, communicate between them over a network.
software etc. over internet.

02. In simple cloud computing can be said as a In simple distributed computing can be said as a
computing technique that delivers hosted computing technique which allows to multiple
services over the internet to its computers to communicate and work to solve a
users/customers. single problem.

03. It is classified into 4 different types such as It is classified into 3 different types such as
Public Cloud, Private Cloud, Community Distributed Computing Systems, Distributed
Cloud and Hybrid Cloud. Information Systems and Distributed Pervasive
Systems.

04. There are many benefits of cloud computing There are many benefits of distributed computing
like cost effective, elasticity and reliable, like flexibility, reliability, improved performance
economies of Scale, access to the global etc.
market etc.
05. Cloud computing provides services Distributed computing helps to achieve
such as hardware, software, networking computational tasks more faster than using a
resources through internet. single computer as it takes a lot of time.

06. The goal of cloud computing is to The goal of distributed computing is to


provide on demand computing services distribute a single task among multiple
over internet on pay per use model. computers and to solve it quickly by
maintaining coordination between them.

07. Some characteristics of cloud Some characteristics of distributed computing


computing are providing shared pool of are distributing a single task among computers
configurable computing resources, to progress the work at same time, Remote
on-demand service, pay per use, Procedure calls and Remote Method Invocation
provisioned by the Service Providers for distributed computations.
etc.

08. Some disadvantage of cloud computing Some disadvantage of cloud computing


includes less control especially in the includes chances of failure of nodes, slow
case of public clouds, restrictions on network may create problem in communication.
available services may be faced and
cloud security.
Grid Computing
• Grid Computing is a subset of distributed computing,
where a virtual super computer comprises of
machines on a network connected by some bus,
mostly Ethernet or sometimes the Internet.
• Grid computing is not a technical term - it is a
marketing term. There is no technology called "Grid
Computing", there are no products that implement
"Grid Computing". The term "Grid Computing"
collectively defines a set of distributed computing use
cases that have certain technical aspects in common.
Grid Computing
• Grid Computing can be defined as a network of computers working
together to perform a task that would rather be difficult for a single
machine. All machines on that network work under the same
protocol to act like a virtual supercomputer. The task that they work
on may include analyzing huge datasets or simulating situations
which require high computing power. Computers on the network
contribute resources like processing power and storage capacity to
the network.
• Grid Computing is a subset of distributed computing, where a virtual
super computer comprises of machines on a network connected by
some bus, mostly Ethernet or sometimes the Internet. It can also be
seen as a form of Parallel Computing where instead of many CPU
cores on a single machine, it contains multiple cores spread across
various locations. The concept of grid computing isn’t new, but it is
not yet perfected as there are no standard rules and protocols
established and accepted by people.
• Grid computing is a group of networked
computers which work together as a virtual
supercomputer to perform large tasks, such as
analyzing huge sets of data or weather
modeling.
• Grid computing is also called as "distributed
computing." It links multiple computing
resources (PC's, workstations, servers, and
storage elements) together and provides a
mechanism to access them.
Cloud Computing Grid Computing

Cloud Computing follows client-server Grid computing follows a distributed


computing architecture. computing architecture.

Scalability is high. Scalability is normal.

Cloud Computing is more flexible than Grid Computing is less flexible than cloud
grid computing. computing.

Cloud operates as a centralized Grid operates as a decentralized


management system. management system.

In cloud computing, cloud servers are In Grid computing, grids are owned and
owned by infrastructure providers. managed by the organization.

Cloud computing uses services like Iaas, Grid computing uses systems like
PaaS, and SaaS. distributed computing, distributed
information, and distributed pervasive.

Cloud Computing is Service-oriented. Grid Computing is Application-oriented.

It is accessible through standard web It is accessible through grid middleware.


protocols.
CLUSTER COMPUTING
• A cluster computer is a type of distributed or parallel
processing system, which consists of a collection of
interconnected individual computers running jointly as
a single integrated source. The parts of a cluster are
interconnected by high speed Local Area Network
(LAN).A cluster is a group of distributed and parallel
computers that are interconnected by speedy
networks such as Myrinet, Infini band, and Gigabit
Ethernet. They effort jointly in performing intensive
tasks to large volumes of data and the calculations of
which would not be possible on a single computer. The
clusters are mostly used in favor of load-balancing,
high availability and for computing use.
What Is Edge Computing?
• Edge computing enables connected devices to
process data closer to where it is created — or the
“edge.” This can be either within the device itself
(i.e., sensors), or close to the device, and provides
an alternative to sending data to a centralized
cloud for processing. Some of the biggest players
in tech — including Amazon, Microsoft, and
Google — are exploring edge computing,
potentially giving rise to the next big computing
race.
Fog computing
Fog computing is the concept of a network
fabric that stretches from the outer edges of
where data is created to where it will
eventually be stored, whether that's in the
cloud or in a customer’s data center.
• Fog computing is a decentralized computing infrastructure
in which data, compute, storage and applications are
located somewhere between the data source and the cloud.
Like edge computing, fog computing brings the advantages
and power of the cloud closer to where data is created and
acted upon. Many people use the terms fog
computing and edge computing interchangeably because
both involve bringing intelligence and processing closer to
where the data is created. This is often done to improve
efficiency, though it might also be done for security and
compliance reasons.
• The fog metaphor comes from the meteorological term for
a cloud close to the ground, just as fog concentrates on the
edge of the network. The term is often associated with
Cisco; the company's product line manager, Ginny Nichols,
is believed to have coined the term. Cisco Fog Computing is
a registered name; fog computing is open to the community
at large.
Fog Computing
• The term fog computing, originated by Cisco, refers to an
alternative to cloud computing. This approach seizes upon the
dual problem of the proliferation of computing devices and the
opportunity presented by the data those devices generate by
locating certain resources and transactions at the edge of a
network.
• By locating these closer to devices, rather than establishing
in-cloud channels for utilization and storage, users aggregate
bandwidth at access points such as routers. This in turn reduces
the overall need for bandwidth, as less data can be transmitted
away from data centers, across cloud channels and distances.
• Data storage is another important difference between cloud
computing and fog computing. In fog computing less data
demands immediate cloud storage, so users can instead subject
data to strategic compilation and distribution rules designed to
boost efficiency and reduce costs.
What is Fog Computing?
• Decentralization and flexibility are the main difference between fog
computing and cloud computing. Fog computing, also called fog
networking or fogging, describes a decentralized computing structure
located between the cloud and devices that produce data. This flexible
structure enables users to place resources, including applications and
the data they produce, in logical locations to enhance performance.
• The structure's goal is to locate basic analytic services at the edge of
the network, closer to where they are needed. This reduces the
distance across the network that users must transmit data, improving
performance and overall network efficiency.
• Fog computing security issues also provide benefits for users. The fog
computing paradigm can segment bandwidth traffic, enabling users to
boost security with additional firewalls in the network.
• Fog computing maintains some of the features of cloud computing,
where it originates. Users may still store applications and data offsite,
and pay for not just offsite storage, but also cloud upgrades and
maintenance for their data while still using a fog computing model.
Their teams will still be able to access data remotely, for example.
What is edge computing?
• Gartner defines edge computing as “a part of a
distributed computing topology in which information
processing is located close to the edge – where things
and people produce or consume that information.”

• At its basic level, edge computing brings computation


and data storage closer to the devices where it’s being
gathered, rather than relying on a central location that
can be thousands of miles away. This is done so that
data, especially real-time data, does not suffer latency
issues that can affect an application’s performance. In
addition, companies can save money by having the
processing done locally, reducing the amount of data
that needs to be processed in a centralized or
cloud-based location.
• Edge computing is transforming the way data is being handled,
processed, and delivered from millions of devices around the
world. The explosive growth of internet-connected devices –
the IoT – along with new applications that require real-time
computing power, continues to drive edge-computing systems.
• Faster networking technologies, such as 5G wireless, are allowing
for edge computing systems to accelerate the creation or support
of real-time applications, such as video processing and analytics,
self-driving cars, artificial intelligence and robotics, to name a few.

• Edge computing is a networking philosophy focused on


bringing computing as close to the source of data as possible
in order to reduce latency and bandwidth use. In simpler
terms, edge computing means running fewer processes in the
cloud and moving those processes to local places, such as on a
user’s computer, an IoT device, or an edge server. Bringing
computation to the network’s edge minimizes the amount of
long-distance communication that has to happen between
a client and server.
Utility computing
Utility computing is the process of providing
computing service through an on-demand,
pay-per-use billing method. Utility computing
is a computing business model in which the
provider owns, operates and manages the
computing infrastructure and resources, and
the subscribers accesses it as and when
required on a rental or metered basis.
• Utility computing is one of the most popular IT service
models, primarily because of the flexibility and economy
it provides. This model is based on that used by
conventional utilities such as telephone services,
electricity and gas. The principle behind utility computing
is simple. The consumer has access to a virtually
unlimited supply of computing solutions over the
Internet or a virtual private network, which can be
sourced and used whenever it's required. The back-end
infrastructure and computing resources management
and delivery is governed by the provider.
• Utility computing solutions can include virtual servers,
virtual storage, virtual software, backup and most IT
solutions.
• Cloud computing, grid computing and managed IT
services are based on the concept of utility computing.
What is Parallel Computing?
• Parallel computing refers to the process of breaking down
larger problems into smaller, independent, often similar
parts that can be executed simultaneously by multiple
processors communicating via shared memory, the results
of which are combined upon completion as part of an
overall algorithm. The primary goal of parallel computing is
to increase available computation power for faster
application processing and problem solving.

• Parallel computing infrastructure is typically housed within


a single datacenter where several processors are installed in
a server rack; computation requests are distributed in small
chunks by the application server that are then executed
simultaneously on each server.
types of parallel computing
• Bit-level parallelism: increases processor word size, which reduces
the quantity of instructions the processor must execute in order to
perform an operation on variables greater than the length of the
word.
• Instruction-level parallelism: the hardware approach works upon
dynamic parallelism, in which the processor decides at run-time
which instructions to execute in parallel; the software approach
works upon static parallelism, in which the compiler decides which
instructions to execute in parallel
• Task parallelism: a form of parallelization of computer code across
multiple processors that runs several different tasks at the same
time on the same data
• Superword-level parallelism: a vectorization technique that can
exploit parallelism of inline code
Virtualization
• Virtualization is the creation of virtual servers,
infrastructures, devices and computing
resources. Virtualization changes the
hardware-software relations and is one of the
foundational elements of cloud computing
technology that helps utilize the capabilities
of cloud computing to the full. Virtualization
techniques allow companies to turn virtual
their networks, storage, servers, data,
desktops and applications.
WHAT ARE CLOUD SERVICE MODELS?
Computing Description
model
IaaS This cloud service model is the closest to managing physical servers. A cloud provider
keeps the hardware up to date, but operating system maintenance and network
configuration is left to the cloud tenant. For example, Azure virtual machines are fully
operational virtual compute devices running in Microsoft's datacenters. An advantage
of this cloud service model is rapid deployment of new compute devices. Setting up a
new virtual machine is considerably faster than procuring, installing, and configuring a
physical server.
PaaS This cloud service model is a managed hosting environment. The cloud provider
manages the virtual machines and networking resources, and the cloud tenant deploys
their applications into the managed hosting environment. For example, Azure App
Services provides a managed hosting environment where developers can upload their
web applications without having to deal with the physical hardware and software
requirements.
SaaS In this cloud service model, the cloud provider manages all aspects of the application
environment, such as virtual machines, networking resources, data storage, and
applications. The cloud tenant only needs to provide their data to the application
managed by the cloud provider. For example, Office 365 provides a fully working
version of Office that runs in the cloud. All that you need to do is create your content,
and Office 365 takes care of everything else.
CLOUD COMPUTING
• With cloud computing, you have the flexibility of
choosing your own configuration, the operating
system of your choice and for the time period that you
need, even just paying for what you use, nothing
more. Now scale that situation up to an
enterprise-level, and you will realize the use case for
cloud computing.
• If you are wondering what the term cloud represents,
it represents virtual hardware resources like
computing, storage, software, and more that you have
access to, via the internet. Cloud computing was first
mentioned in a Compaq internal document as early as
1996 but was popularized by Amazon to release Elastic
Compute Cloud.
CHARACTERISTICS OF CLOUD COMPUTING
Hardware and Software resource pool
The cloud computing service provider invests in all the data centres
and manpower to maintain all that hardware. Also involved is the
cost of real estate and network bandwidth across countries and
even continents. This hardware, software, and other related
resources makes for a huge pool of resources, each enumerated
and listed, to be made available to many clients in various
configurations.
Available on-demand
These resources pooled and enumerated should be made available
for quick provisioning through a self-service portal. Provisioning
should happen in minutes, unlike on-premises systems, where
provision might take hours or in some cases even days. A
convenient billing model that tracks your purchases and
provisioning and provides you with a detailed billing statement
every month is also considered an important feature in a public
cloud setup, to support the pay-as-you-go model.
CHARACTERISTICS OF CLOUD COMPUTING
Overbooking of resources
Cloud services turn their huge upfront investment into profits by
selling pieces of hardware and software over the internet to
multiple clients. They can turn profitable only if most of their
resources are running at near full capacity. Practically, not all
applications and services operate at their peak capacity all the
time. Cloud providers make use of this fact and overbook their
resources to be able to maximize capacity and revenue. This
characteristic of cloud services helps them generate enough
revenue and stay green on the financial side.
Elastic Scalability
Scalability is the system’s ability to dynamically increase its capacity
to handle a sudden surge in demand. Elastic scalability is an
important characteristic of cloud computing without which it
wouldn’t be as appealing to customers. With Elastic scalability,
you can scale up or wind down your infrastructure, based on
demand.
CHARACTERISTICS OF CLOUD COMPUTING
High Availability, Redundancy, Continuity of Operations
and Disaster Recovery
All must-have features for a cloud computing service,
these features ensure minimum data loss if any and
minimum disruption of service to the client even in the
face of disasters like natural calamities.
Multitenancy
Multitenancy is a key characteristic of public cloud
computing services. Cloud service providers, host data
and applications of multiple customers on the same
shared resource pool, maintaining them in their own
individual silos. Even in case of a private cloud, several
departments are hosted on a single cloud which is in
turn hosted on a dedicated data centre.
CHARACTERISTICS OF CLOUD COMPUTING
Measured Service
With a pay as you go, model, cloud computing
services must have a system in place to measure
usage of resources down to a fraction of a second.
This enables truly pay as you go service, making it
an appealing feature for customers.
Service Level Agreements
A guarantee on a certain level of availability,
performance or capacity is particularly important
for enterprise customers. Cloud service providers
should be able to offer such SLAs and consistently
meet them.
CLOUD COMPUTING ARCHITECTURE
A simple architecture of Cloud Computing depicts it as having two
important interfaces to it, a front end that offers the services on a
web interface and a backend that holds all the resources,
including application software, hardware, databases, resources,
storage, computing resources, at various locations interconnected
via the internet.
Front End
The end-user interface can be anything from an app to a website
from where a customer can subscribe, log in, and provision
resources for business use.
Back End
The backend is pretty much everything else in the system. From
computing resources and storage to services like IaaS
(Infrastructure as a Service), SaaS (Software as a Service) and PaaS
(Platform as a Service) among others. The back-end resources are
never hosted in one geographic location; they are spread across
strategic locations worldwide, with a certain level of redundancy
built-in, to ensure protection against data loss due to natural
calamities.
Virtualization
Virtualization is basically making a virtual image or “version” of
something such as server, operating system, storage devices or
network resources so that they can be used on multiple
machines at the same time.
The main aim of virtualization is to manage the workload by
transforming traditional computing to make it more scalable,
efficient and economical. Virtualization can be applied to a wide
range such as operating system virtualization, hardware-level
virtualization and server virtualization.
Virtualization technology is hardware reducing cost saving and
energy saving technology that is rapidly transforming the
fundamental way of computing
Architecture of Virtualized Technology
In cloud computing space/memory is virtually allocated
to the users in the servers which requires a host
(platform) on which hypervisor (software which
interacts with the hardware) runs.
The virtualization model is consisting of cloud users,
service models, virtualized models and its host
software and as well as their hardware.
Virtualization software makes it possible to run multiple
operating systems and multiple applications on the
same server at the same time,” said Mike Adams,
director of product marketing at VMware, a pioneer in
virtualization and cloud software and services. It is
based on three service models that are SAAS (software
as a service), PAAS (platform as a service) and IAAS
(infrastructure as a service).
Host: for virtualization the hypervisor software
runs on a virtualization platform i.e. is host.
Hypervisor: the software program which
handles the virtual machine to work under the
virtually simulated environment is called
hypervisor.
Basic traditional servers
Traditionally the servers that were used has a lost of disadvantages
and were not at all cost effective. “These servers are maintained
by system administrator, normally these servers are described
as combined unit that consist of operating system, the
hardware, the storage and the application” .In traditional server
if the storage becomes full then it has to be replaced by a new
server .
● Merits
a. Things are easily deployed in them.
b. Easy to maintain backup.
c. Application can be run virtually with traditional servers.
● Demerits
a. Hardware maintenance is very cost effective.
b. Duplication is very difficult.
c. Physical infrastructure cannot be updated.
d. Redundancy implementation is very difficult .
Virtual server
“Virtual server seeks to encapsulate the server
software away from the hardware the virtual
server consists of the operating system (os),
storage and application”. By maintaining virtual
server we can reduce the service provided by the
cloud provider.
● Merits
a. IT pool maintenance.
b. High availability of hardware.
c. Deployment of servers in virtually based
environment .
Types of virtualization
In cloud computing the virtualization can be done in
two ways either by storage virtualization or by
software virtualization.
a. Storage virtualization:
The storage available is virtualized to get large virtual
storage access and it is further used for allocating
memory to the cloud clients.
b. Software virtualization:
software built by the company can be used by a large
number of systems at the same time with the help
of virtualization. A virtual layer is created on which
the software is installed and used .
Why Virtualization?
With the help of virtualization we can increase the use of
resources available to us in many to get more benefits.
We should virtualize because of the following reasons:
a. Isolation among users: one user should be isolated from the
other users so that he/she may not get information about the
others user’s data and usage and cannot even access other’s
data.
b. Resource sharing: a big resource can be fragmented into
multiple virtual resources so that it can be used by multiple users
using
virtualization technique.
c. Dynamical resources: reallocation of resources such as storage
and computational resources is very difficult but if they are
virtualized then they can be easily re-allocated.
d. Aggregation of resources: the small resources available can be
increased at a large extent with the help of virtualization .
Benefits of Virtualization Technology
a. Virtualization is one of the cost-saving,
hardware-reducing and energy saving technique.
b. It helped to make cloud computing more
efficient and ecofriendly .
c. A big step towards new technology making life
easier and better.
d. Isolation.
e. Resource sharing.
f. Aggregation of resources.
g. Dynamical resource.
CLOUD COMPUTING TYPES
Computing services offered on the cloud for
businesses are categorised broadly into four
services, IaaS (Infrastructure as a Service),
SaaS (Software as a Service), PaaS (Platform as
a Service) and Serverless.
IAAS
In this case, the whole infrastructure is offered on the cloud.
Infrastructure here refers to servers, data centres, storage
space that traditionally had to be bought by a business and
placed in real estate space with IT personnel to design, setup
and maintain them. With IaaS, it is possible for the business to
get this infrastructure up and running in a matter of minutes
or hours without investing in the rich hardware and paying
only for the usage. A good analogy is of a cybercafé. You visit
the cybercafé to get access to a machine that is connected to
the internet and probably is also wired up to a printer. You
use the services, pay and carry on.
IaaS is flexible to scale up or down based on demand, enabling
you to pay only for the infrastructure you use. IaaS include
broadly three types of hardware,
Storage and servers
Networking /firewalls/security
Data Centre physical plant/building
Test and Development
Use cases for IaaS
Development teams can quickly provision development and test environments for themselves,
helping to shorten the time to market. With IaaS, applications can be tested for high or low
demands and in multiple environments much quicker than traditionally as possible.
Website Hosting
Gain back more control of your website by hosting on IaaS than traditional web hosting. Also,
you save time on updating your websites while being less expensive than the traditional
hosting methods. Switching your website over to another platform is a breeze with IaaS.
Storage, backup and recovery
Data storage with backup and recovery in today’s world is a complex system that businesses
can avoid by transferring all this complexity to the cloud service provider. Data storage also
needs to meet some legal and compliance requirements, which now with IaaS, is a liability
of the cloud service provider.
Web apps
All the infrastructure required for web apps can be provisioned on the cloud. Businesses can
quickly deploy apps and scale up or down, on-demand.
High-performance computing
Processing power, guzzling applications like genome sequencing, earthquake simulations,
financial modelling, climate and weather predictions among others are all now possible on
the cloud.
Big-data analysis
The huge amount of processing power that Big Data analysis requires is just the kind that IaaS
can offer minus the upfront cost.
Advantages
Upfront capital is eliminated
of IaaS
IaaS is a boon for start-ups and new business ideas, as it takes hardly minutes or hours to get going
with your new idea, without having to splurge on expensive hardware upfront.
Business Continuity and Disaster Recovery
It is critical for a medium to large scale business that they have a business continuity plan for disasters
or other external factors that impact the business. Although this is an important facet of the
business, it is not core to running the business, and your precious time and efforts are consumed.
With IaaS, almost all of your worries get transferred to the cloud service provider which is bound
by an SLA, to ensure that your business continues to run in the face of a disaster or outage.
Facilitate rapid development
In today’s cut-throat competition, there is no time to invest in things other than core development,
testing and deployment. IaaS allows you to do just that, letting you develop faster, deliver to
market faster, giving you a better opportunity to capture the market.
Agile response to changing business conditions
With a traditional setup, you have to bake in, spikes in demand, during your initial round of
infrastructure procurement. With IaaS, one- you don’t have to invest for the spike in demand
upfront and two- you can quickly scale up your servers during the spike and wind down easily once
the spike settles.
Increased reliability, stability and supportability
In an on-premises set up, the onus of upgrading software and hardware is on you. Any new security
update, critical to security will need to be monitored by IT staff and installed on the entire installed
base, which can take several weeks to months. In IaaS, all such upgrades and security patch
updates are taken care of by the cloud service provider.
PAAS
Platform as a Service is an environment which provides end to end
support for development and deployment in the cloud for your
apps or full-blown web applications.
PaaS is a superset of IaaS, not only including servers, storage and
network infrastructure but also middleware, tools and libraries for
development, databases management systems, business
intelligence services and more. Along with the benefits of IaaS,
PaaS allows you to sidestep the complexity and expense of buying
and managing software licenses, underlying application
framework, container orchestrators like Kubernetes or Docker or
the development tools and libraries.
You will use PaaS typically to provide a framework for developers to
build custom cloud-based solutions. PaaS lets developers put
together with built-in components and build applications. The
developers focus on the application logic as cloud features like
scalability, high-availability and multitenancy are built into PaaS
offering.
You may also use PaaS when you have your data stored on the cloud
and use analytical software to mine your data, to find insights and
predicting outcomes.
Advantages of PaaS
Apart from the advantages that IaaS brings to the table; PaaS provides many other advantages.
Reduce coding time
With built-in components, PaaS helps to stitch together new apps that are quick to build. Components like
workflow, security features, directory services and more are readily available for use.
More development with less developers
PaaS can help add more capabilities to your existing development team without the need to extend it for
added skill set.
Easier cross-platform development
Many cloud service providers offer multi-platform development options for building highly responsive
apps that are device-aware and adapt to the user device, be it mobile, tab or a computer.
Enterprise scale tools affordability
With the pay-as-you-go model, many cash strapped organizations, especially start-ups, now have
sophisticated development and business intelligence tools at their disposal without upfront
investment in rich software.
Geographically distributed teams
With the development tools accessible on any internet-connected device, you can have developers
contribute from any location.
Complete application lifecycle management
PaaS provides the entire framework for building, testing, deployment, managing and updating within the
same environment.
SAAS
SaaS makes it possible to make software applications available over
the internet via a browser. These are cloud-based apps residing on
the cloud, running on the cloud servers and only rendering results
on the webpage. Common examples of SaaS that you might be
able to relate to are email, calendaring tools or even Microsoft
Office 365(online). Billed on a pay as you go model, this kind of
service can be an individual license like in calendaring tools or a
multi-licensing arrangement like Microsoft Office 365 for business.
All of the underlying infrastructure, both hardware and software,
are hosted on the cloud.
You would typically use SaaS when using web-based applications that
you run through your browser or a mobile phone app. Examples
include email, weather app, navigation, productivity tools and
more. Nowadays many applications are run from the web, with
the important processing happening at the backend. Sophisticated
business applications like CRM, ERP are also available as web
applications, with the implementation pertaining to your
organization hosted securely on the cloud.
Installation free apps.
Advantages of SaaS
With almost the entire application (even the enterprise-scale ones) installed on the cloud,
acting as both server or client, depending on who logs in, this setup does not need any
client software to be installed on the user machine. All one needs is an internet-connected
device with a compatible browser.
Access to sophisticated applications
SaaS makes it possible for organizations who do not have the starting capital to invest in big
enterprise-wide applications like CRM or ERP but can sustain with the pay as you go
model.
Pay as you go
SaaS services automatically scale based on the level of usage, an economical proposition,
especially for start-ups.
No Client Software
SaaS allows you to run apps of any scale, directly from the web browser. The need to install
client software on every client machine by IT staff is completely eliminated.
Nimble Workforce
SaaS brings in the flexibility of running the application on any internet-connected device. This
means your workforce is able to connect from any location and access information that
might be useful to close a deal probably.
Latest software
SaaS will ensure you always have the latest version of the software against the traditional
system of ensuring that each client installed software is updated, which could take weeks
to months in case of an enterprise installation.
Difference between IaaS, PaaS, and SaaS
IaaS Paas SaaS

It provides a virtual data It provides virtual platforms It provides web software


center to store information and tools to create, test, and apps to complete
and create platforms for and deploy apps. business tasks.
app development, testing,
and deployment.
It provides access to It provides runtime It provides software as a
resources such as virtual environments and service to the end-users.
machines, virtual storage, deployment tools for
etc. applications.

It is used by network It is used by developers. It is used by end users.


architects.
IaaS provides only PaaS provides SaaS provides
Infrastructure. Infrastructure+Platform. Infrastructure+Platform
+Software.

You might also like