School of Engineering and Technology
Program: B. Tech. CSE
Course Code: PCCCSE-0303
Course Name: Cloud Computing
Unit: I
Lecture No: 1, 2 & 3
1
Cloud Computing
Course Prerequisites
Networking, World Wide Web, Fundamental of Computing.
2
Introduction to Cloud Computing
• Cloud Computing is the delivery of computing services such as servers, storage,
databases, networking, software, analytics, intelligence, and more, over the Cloud
(Internet).
3
Introduction to Cloud Computing
• Cloud Computing provides an alternative to the on-premises datacenter. With an on-
premises datacenter, we have to manage everything, such as purchasing and installing
hardware, virtualization, installing the operating system, and any other required
applications, setting up the network, configuring the firewall, and setting up storage
for data. After doing all the set-up, we become responsible for maintaining it through
its entire lifecycle.
• But if we choose Cloud Computing, a cloud vendor is responsible for the hardware
purchase and maintenance. They also provide a wide variety of software and platform
as a service. We can take any required services on rent. The cloud computing services
will be charged based on usage.
4
Introduction to Cloud Computing
5
Introduction to Cloud Computing
• The cloud environment provides an easily accessible online portal that makes handy
for the user to manage the compute, storage, network, and application resources.
Some cloud service providers are in the following figure.
6
Advantages of Cloud Computing
• Cost: It reduces the huge capital costs of buying hardware and software.
• Speed: Resources can be accessed in minutes, typically within a few clicks.
• Scalability: We can increase or decrease the requirement of resources according to
the business requirements.
• Productivity: While using cloud computing, we put less operational effort. We do not
need to apply patching, as well as no need to maintain hardware and software. So, in
this way, the IT team can be more productive and focus on achieving business goals.
• Reliability: Backup and recovery of data are less expensive and very fast for business
continuity.
• Security: Many cloud vendors offer a broad set of policies, technologies, and controls
that strengthen our data security.
7
Types of Cloud Computing
8
Types of Cloud Computing
• Public Cloud: The cloud resources that are owned and operated by a third-
party cloud service provider are termed as public clouds. It delivers computing
resources such as servers, software, and storage over the internet
• Private Cloud: The cloud computing resources that are exclusively used inside
a single business or organization are termed as a private cloud. A private cloud
may physically be located on the company’s on-site datacentre or hosted by a
third-party service provider.
• Hybrid Cloud: It is the combination of public and private clouds, which is
bounded together by technology that allows data applications to be shared
between them. Hybrid cloud provides flexibility and more deployment options
to the business.
9
Types of Cloud Services
10
Types of Cloud Services
(Deployment Model)
• Infrastructure as a Service (IaaS): In IaaS, we can rent IT infrastructures like servers and virtual
machines (VMs), storage, networks, operating systems from a cloud service vendor. We can
create VM running Windows or Linux and install anything we want on it. Using IaaS, we don’t
need to care about the hardware or virtualization software, but other than that, we do have to
manage everything else. Using IaaS, we get maximum flexibility, but still, we need to put more
effort into maintenance.
• Platform as a Service (PaaS): This service provides an on-demand environment for developing,
testing, delivering, and managing software applications. The developer is responsible for the
application, and the PaaS vendor provides the ability to deploy and run it. Using PaaS, the
flexibility gets reduce, but the management of the environment is taken care of by the cloud
vendors.
• Software as a Service (SaaS): It provides a centrally hosted and managed software services to the
end-users. It delivers software over the internet, on-demand, and typically on a subscription
basis. E.g., Microsoft One Drive, Dropbox, WordPress, Office 365, and Amazon Kindle. SaaS is
used to minimize the operational cost to the maximum extent. 11
Types of Cloud Services
(Service Model)
12
Evolution of Cloud Computing
• Cloud computing allows users to access a wide range of services stored in the
cloud or on the Internet. Cloud computing services include computer resources,
data storage, apps, servers, development tools, and networking protocols. It is
most commonly used by IT companies and for business purposes.
• The phrase “Cloud Computing” was first introduced in the 1950s to describe
internet-related services, and it evolved from distributed computing to the
modern technology known as cloud computing. Cloud services include those
provided by Amazon, Google, and Microsoft. Cloud computing allows users to
access a wide range of services stored in the cloud or on the Internet. Cloud
computing services include computer resources, data storage, apps, servers,
development tools, and networking protocols.
13
Evolution of Cloud Computing
14
Evolution of Cloud Computing
• Distributed Systems: Distributed System is a composition of multiple independent systems but all of
them are depicted as a single entity to the users. The purpose of distributed systems is to share
resources and also use them effectively and efficiently. Distributed systems possess characteristics
such as scalability, concurrency, continuous availability, heterogeneity, and independence in failures.
But the main problem with this system was that all the systems were required to be present at the
same geographical location. Thus, to solve this problem, distributed computing led to three more
types of computing and they were-Mainframe computing, cluster computing, and 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. After distributed computing,
these increased the processing capabilities of the system. But these were very expensive. To reduce
this cost, cluster computing came as an alternative to mainframe technology.
15
Evolution 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: In 1990s, the concept of grid computing was introduced. It means that
different systems were placed at entirely different geographical locations and these all were
connected via the internet. These systems belonged to different organizations and thus the grid
consisted of heterogeneous nodes. Although it solved some problems but new problems
emerged as the distance between the nodes increased. The main problem which was
encountered was the low availability of high bandwidth connectivity and with it other network
associated issues. Thus. cloud computing is often referred to as “Successor of grid computing”. 16
Evolution of Cloud Computing
• Virtualization: Virtualization 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.
• Web 2.0: Web 2.0 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.
17
Evolution of Cloud Computing
• Service Orientation: A service orientation acts as a reference model for cloud computing.
It supports low-cost, flexible, and evolvable applications. Two important concepts were
introduced in this computing model. These were Quality of Service (QoS) which also
includes the SLA (Service Level Agreement) and Software as a Service (SaaS).
• Utility Computing: Utility Computing is a computing model that defines service
provisioning techniques for services such as compute services along with other major
services such as storage, infrastructure, etc which are provisioned on a pay-per-use basis.
• Cloud Computing: Cloud Computing means storing and accessing the data and programs
on remote servers that are hosted on the internet instead of the computer’s hard drive
or local server. Cloud computing is also referred to as Internet-based computing, it is a
technology where the resource is provided as a service through the Internet to the user.
The data that is stored can be files, images, documents, or any other storable document.
18
Underlying Principles of Parallel and Distributed
Computing
• A computer system may perform tasks according to human instructions.
A single processor executes only one task in the computer system,
which is not an effective way. Parallel computing solves this problem by
allowing numerous processors to accomplish tasks simultaneously.
Modern computers support parallel processing to improve system
performance. In contrast, distributed computing enables several
computers to communicate with one another and achieve a goal. All of
these computers communicate and collaborate over the network.
Distributed computing is commonly used by organizations such as
Facebook and Google that allow people to share resources.
19
Parallel Computing
What is Parallel Computing?
• It is also known as parallel processing. It utilizes several
processors. Each of the processors completes the tasks that have
been allocated to them. In other words, parallel computing
involves performing numerous tasks simultaneously. A shared
memory or distributed memory system can be used to assist in
parallel computing. All CPUs in shared memory systems share the
memory. Memory is shared between the processors in distributed
memory systems.
20
Parallel Computing
21
Parallel Computing
Parallel computing provides numerous advantages. Parallel
computing helps to increase the CPU utilization and improve the
performance because several processors work simultaneously.
Moreover, the failure of one CPU has no impact on the other CPUs'
functionality. Furthermore, if one processor needs instructions from
another, the CPU might cause latency.
22
Advantages and Disadvantages of Parallel
Computing
Advantages
• It saves time and money because many resources working
together cut down on time and costs.
• It may be difficult to resolve larger problems on Serial Computing.
• You can do many things at once using many computing resources.
• Parallel computing is much better than serial computing for
modeling, simulating, and comprehending complicated real-world
events.
23
Advantages and Disadvantages of Parallel
Computing
Disadvantages
• The multi-core architectures consume a lot of power.
• Parallel solutions are more difficult to implement, debug, and
prove right due to the complexity of communication and
coordination, and they frequently perform worse than their serial
equivalents.
24
Advantages and Disadvantages of Parallel
Computing
What is Distributed Computing?
• It comprises several software components that reside on different
systems but operate as a single system. A distributed system's
computers can be physically close together and linked by a local
network or geographically distant and linked by a wide area
network (WAN). A distributed system can be made up of any
number of different configurations, such as mainframes, PCs,
workstations, and minicomputers. The main aim of distributed
computing is to make a network work as a single computer.
25
Distributing Computing
What is Distributing Computing?
• It comprises several software components that reside on different
systems but operate as a single system. A distributed system's
computers can be physically close together and linked by a local
network or geographically distant and linked by a wide area
network (WAN). A distributed system can be made up of any
number of different configurations, such as mainframes, PCs,
workstations, and minicomputers. The main aim of distributed
computing is to make a network work as a single computer.
26
Distributing Computing
27
Advantages and Disadvantages of Distributed
Computing
Advantages
• It is flexible, making it simple to install, use, and debug new services.
• In distributed computing, you may add multiple machines as
required.
• If the system crashes on one server, that doesn't affect other servers.
• A distributed computer system may combine the computational
capacity of several computers, making it faster than traditional
systems.
28
Advantages and Disadvantages of Distributed
Computing
Disadvantages
• Data security and sharing are the main issues in distributed
systems due to the features of open systems
• Because of the distribution across multiple servers,
troubleshooting and diagnostics are more challenging.
• The main disadvantage of distributed computer systems is the
lack of software support.
29
Comparison between the Parallel Computing
and Distributed Computing
Features Parallel Computing Distributed Computing
Definition It is a type of computation in which It is that type of computing in which the components are located
various processes runs on various networked systems that interact and coordinate their
simultaneously. actions by passing messages to one another.
Communication The processors communicate with The computer systems connect with one another via a network.
one another via a bus.
Functionality Several processors execute various Several computers execute tasks simultaneously.
tasks simultaneously in parallel
computing.
Number of It occurs in a single computer It involves various computers.
Computers system.
Memory The system may have distributed or Each computer system in distributed computing has its own
shared memory. memory.
Usage It helps to improve the system It allows for scalability, resource sharing, and the efficient
performance completion of computation tasks. 30
Underlying Principles of Parallel and Distributed
Computing
• The terms parallel computing and distributed computing are used
interchangeably.
• It implies a tightly coupled system.
• It is characterised by homogeneity of components (Uniform
Structure).
• Multiple Processors share the same physical memory.
31
Thank You
Questions Please?
32