CLOUD
COMPUTING
Prof. Reeta Koshy
2
AGENDA
Enterprise Computing
What is Distributed System?
Definition, Models, Goals
Hardware & Software
Evolution of processor performance
9/3/20XX 3
Applications (Killer)
Computing dominated problems
Mathematical computations, Network simulation etc
Storage dominated problems
Data Mining, Information Retrieval
Communications dominated problem
Video on demand, electronic banking etc
Distributed Computing / System
Distributed Computing
▪ Field of computer science that study distributed system
▪ Use of DS to solve computational problems
Distributed System
▪ Wikipedia
▪ Autonomous computational entity with own memory
▪ Message passing
▪ High speed buses
▪ Local memory
▪ Eg: Internet, ATM, Intranet, ubiquitous network connected
devices, GPS, Air Traffic Control
Search Intelligence
CERN: European Organization for
nuclear research
Definition of Distributed System
Definition of Distributed System
"In a general way, we can define computing to mean any goal-oriented
activity requiring, benefiting from, or creating computers. Thus,
computing includes designing and building hardware and software
systems for a wide range of purposes; processing, structuring, and
managing various kinds of information;
doing scientific studies using computers; making computer systems
behave intelligently; creating and using communications and
entertainment media; finding and gathering information relevant to any
particular purpose, and so on.
The list is virtually endless, and the possibilities are vast."
Trends in Computing
• Distributed Computing
• Grid Computing
• Cluster Computing
• Utility Computing
• Cloud Computing
Trends in Computing
❑Distributed Computing
❑Grid Computing
❑Cluster Computing
❑Utility Computing
❑Cloud Computing
11
Distributed Computing
Centralised vs Distributed Computing
13
Distributed Computing System?
Distributed computing
– Field of computing science that studies distributed system.
– Use of distributed systems to solve computational problems.
• Distributed system
– Wikipedia
• There are several autonomous computational entities,
each of which has its own local memory.
• The entities communicate with each other by message
passing.
– Operating System Concept
• The processors communicate with one another through various
communication lines, such as high-speed buses or
telephone lines.
• Each processor has its own local memory.
14
Example Distributed System
❑ Internet
❑ ATM (bank) machines
❑ Intranets/Workgroups
❑ Computing landscape will soon consist of ubiquitous
network-connected devices
15
Computers in a Distributed System
❑Workstations: Computers used by end-users to perform
computing
❑Server Systems: Computers which provide resources and
services
❑Personal Assistance Devices: Handheld computers
connected to the system via a wireless communication link.
16
Common Properties of Distributed System
❑Fault tolerance
• When one or some nodes fails, the whole system can still
work fine except performance
• Need to check the status of each node
❑Each node play partial role
• Each computer has only a limited, incomplete view of the
system
• Each computer may know only one part of the input
❑Resource sharing
• Each user can share the computing power and storage
resource in the system with other users
17
Common Properties of Distributed System(2)
❑Load Sharing
• Dispatching several tasks to each nodes can help share
loading to the whole system
❑Easy to expand
• We expect to use few time when adding nodes. Hope to
spend no time if possible
❑Performance
• Parallel computing can be considered a subset of distributed
computing
18
Why Distributed Computing?
❑Nature of application
❑Performance
• Computing intensive
The task could consume a lot of time on computing. For
example, Computation of Pi value using Monte Carlo
simulation
• Data intensive
The task that deals with a large amount or large size of
files. For example, Facebook, LHC(Large Hadron Collider)
experimental data processing
19
Why Distributed Computing?(2)
❑Robustness
• No SPOF (Single Point Of Failure)
• Other nodes can execute the same task executed on failed
node
20
Distributed Application
❑Applications that consist of a set of processes that are
distributed across a network of machines and work together
as an ensemble to solve a common problem
❑In the past, mostly “client-server”
• Resource management centralized at the server
❑“Peer to Peer” computing represents a movement towards
more “truly” distributed applications
21
Distributed Application
Invoke
Client Client
Invoke
Result Result
Server
22
Distributed Application
23
Source : Nptel course on cloud computing
Client Server Architecture
24
Client Server Architecture
25
Source : Nptel course on cloud computing
Grid Computing
26
Grid Computing
❑[Link]
A form of networking. Unlike conventional networks that focus on communication
among devices, grid computing harnesses unused processing cycles of all computers
in a network for solving problems too intensive for any stand-alone machine
❑IBM
Grid computing enables the virtualization of distributed computing and data resources
such as processing, network bandwidth and storage capacity to create a single
system image, granting users and applications seamless access to vast IT capabilities.
Just as an Internet user views a unified instance of content via the Web, a grid user
essentially sees a single, large virtual computer.
❑Sun Microsystems
Grid Computing is a computing infrastructure that provides dependable,
consistent, pervasive and inexpensive access to computational capabilities
27
Electrical Power Grid Analogy
28
Source : Nptel course on cloud computing
When do we use Grid Computing?
❑Share more than information: Data, computing power,
applications in dynamic environment, multi-institutional,
virtual organizations
❑Efficient use of resources at many institutes: People from
many institutions working to solve a common problem
(virtual organisation)
❑Join local communities
❑Interactions with the underneath layers must be transparent
and seamless to the user
29
When uses Grid Computing?
❑Share more than information: Data, computing power,
applications in dynamic environment, multi-institutional,
virtual organizations
❑Efficient use of resources at many institutes: People from
many institutions working to solve a common problem
(virtual organisation)
❑Join local communities
❑Interactions with the underneath layers must be transparent
and seamless to the user
30
Source : Nptel course on cloud computing
Types of Grid ?
❑Computational Grid: These grids provide secure access to
huge pool of shared processing power suitable for high
throughput applications and computation intensive
computing
❑Data Grid: Data grids provide an infrastructure to support
data storage, data discovery, data handling, data publication,
and data manipulation of large volumes of data actually
stored in various heterogeneous databases and file systems
31
Types of Grid ?
❑Collaboration Grid: With the advent of Internet, there has
been an increased demand for better collaboration. Such
advanced collaboration is possible using the grid. For
instance, persons from different companies in a virtual
enterprise can work on different components of a CAD
project without even disclosing their proprietary
technologies.
32
Types of Grid ?
❑Network Grid: A Network Grid provides fault-tolerant and
high-performance communication services. Each grid node
works as a data router between two communication points,
providing data-caching and other facilities to speed up the
communications between such points.
❑Utility Grid: This is the ultimate form of the Grid, in which not
only data and computation cycles are shared but software or
just about any resource is shared. The main services
provided through utility grids are software and special
equipment. For instance, the applications can be run on one
machine and all the users can send their data to be
processed to that machine and receive the result back.
33
Grid Components
34
Cluster Computing
35
Cluster Computing
❑A cluster is a type of parallel or distributed computer system,
which consists of a collection of inter-connected stand-alone
computers working together as a single integrated
computing resource .
❑Key components of a cluster include multiple standalone
computers (PCs, Workstations, or SMPs), operating systems,
high-performance interconnects, middleware, parallel
programming environments, and applications.
36
Cluster Computing
❑Clusters are usually deployed to improve speed and/or reliability
over that provided by a single computer, while typically being
much more cost effective than single computer the of
comparable speed or reliability
❑In a typical cluster:
Network: Faster, closer connection than a typical network (LAN)
Low latency communication protocols
Loosely coupled than SMP
37
Types of Cluster
❑High Availability or Failover Clusters
❑Load Balancing Cluster
❑Parallel/Distributed Processing Clusters
38
Cluster Components
❑High Availability or Failover Clusters
❑Load Balancing Cluster
❑Parallel/Distributed Processing Clusters
39
Source : Nptel course on cloud computing
Key Operational Benefits of Clustering
❑System availability: offer inherent high system availability due
to the redundancy of hardware, operating systems, and
applications
❑Hardware fault tolerance: redundancy for most system
components (eg. disk-RAID), including both hardware and
software
❑OS and application reliability: run multiple copies of the OS and
applications, and through this redundancy
❑Scalability: adding servers to the cluster or by adding more
clusters to the network as the need arises or CPU to SMP
❑High performance: (running cluster enabled programs)
40
Utility Computing
41
Utility Computing
❑Utility Computing is purely a concept which cloud computing
practically implements
❑Utility computing is a service provisioning model in which a
service provider makes computing resources and infrastructure
management available to the customer as needed, and charges
them for specific usage rather than a flat rate
❑This model has the advantage of a low or no initial cost to
acquire computer resources; instead, computational resources
are essentially rented
42
Utility Computing
❑ The word utility is used to make an analogy to other services,
such as electrical power, that seek to meet fluctuating customer
needs, and charge for the resources based on usage rather than
on a flat-rate basis. This approach, sometimes known as pay-
per-use
43
Utility Computing
44
Source : Nptel course on cloud computing
Utility Computing
❑Pay-for-use Pricing Business Model
❑Data Center Virtualization and Provisioning
❑Solves Resource Utilization Problem
❑Outsourcing
❑Web Services Delivery
❑Automation
45
Utility Computing Payment Models
❑Same range of charging models as other utility providers: gas,
electricity, telecommunications, water, television broadcasting
❑Flat rate
❑Tiered
❑Subscription
❑Metered
❑Pay as you go
❑Standing charges
46
Utility Computing Payment Models
❑Different pricing models for different customers based on
factors such as scale, commitment and payment frequency
❑But the principle of utility computing remains
❑The pricing model is simply an expression by the provider of the
costs of provision of the resources and a profit margin
47
Risks in Utility Computing
❑ Data Backup
❑ Data Security
❑ Partner Competency
❑ Defining SLA
❑ Getting value from charge back
48
Cloud Computing
49
Cloud Computing
50
Cloud Computing
51
Essential Characteristics of Cloud Computing
52
Essential Characteristics of Cloud Computing
53
Common Characteristics of Cloud Computing
54
Cloud & Virtualization
55
Source : Nptel course on cloud computing
Virtual Machines
56
Source : Nptel course on cloud computing
Advantages of Virtual Machine
❑ Run operating systems where the physical hardware is unavailable,
❑ Easier to create new machines, backup machines, etc.,
❑ Software testing using “clean” installs of operating systems and
software
❑ Emulate more machines than are physically available,
❑ Timeshare lightly loaded systems on one host,
❑ Debug problems (suspend and resume the problem machine),
❑ Easy migration of virtual machines (shutdown needed or not).
❑ Run legacy systems
57
Client Server Model vs Cloud Model
58
59
THANK YOU