You are on page 1of 79

Distributed Computing

Paradigms & Cloud


Computing
Dr.S.Swamynathan
Associate Professor, Department of IST
Anna University Chennai
Email: swamyns@annauniv.edu

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai #


Centralized vs. Distributed
Computing

term in al
m ain fram e c o m p u ter
w o rk s tatio n

n etw o rk lin k

n etw o rk h o s t
ce n tralize d com pu tin g
Characteristics dis tribu te d com pu tin g

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 2 #


Why distributed computing?
Economics: distributed systems allow the pooling
of resources, including CPU cycles, data storage,
input/output devices, and services.
Reliability: a distributed system allow replication
of resources and/or services, thus reducing service
outage due to failures.
The Internet has become a universal platform for
distributed computing.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 3 #


Monolithic mainframe applications vs.
distributed applications
The monolithic mainframe application architecture:
Separate, single-function applications, such as order-entry or
billing
Applications cannot share data or other resources
Developers must create multiple instances of the same
functionality (service).
Proprietary (user) interfaces
The distributed application architecture:
Integrated applications
Applications can share resources
A single instance of functionality (service) can be reused.
Common user interfaces

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 4 #


The Weaknesses and Strengths of
Distributed Computing
In any form of computing, there is always a tradeoff
in advantages and disadvantages
Some of the reasons for the popularity of distributed
computing :
• The affordability of computers and availability
of network access
• Resource sharing
• Scalability
• Fault Tolerance

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 5 #


The Weaknesses and Strengths of
Distributed Computing

The disadvantages of distributed computing:


• Multiple Points of Failures: the failure of one or
more participating computers, or one or more
network links, can spell trouble.
• Security Concerns: In a distributed system, there
are more opportunities for unauthorized attack.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 6 #


Evolution of pardigms
Message passing
Client-server
Peer to peer
Message system
Point-to-point
Publish / subscribe
Remote Procedure Call
Distributed objects
Remote Method Invocation
Object Request Broker
Object Space
Mobile agents
Network Service
Collaborative applications
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 7 #
Characteristics of
Distributed Applications
Characteristics that distinguish distributed
applications from conventional applications which
run on a single machine.
Interprocess communication: A distributed
application require the participation of two or more
independent entities (processes). To do so, the
processes must have the ability to exchange data among
themselves.
Event synchronization: In a distributed application,
the sending and receiving of data among the
participants of a distributed application must be
synchronized.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 8 #


Distributed Application
Paradigms
l e ve l o f abs tr ac ti o n
hi g h

o bje c t s pac e
ne tw o r k s e r vi c e s , o bje c t r e que s t br o ke r , m o bi l e ag e nt
r e m o te pr o c e dur e c al l , r e m o te m e tho d i nvo c ati o n
c l i e nt-s e r ve r

m e s s ag e pas s i ng

low

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 9 #


Forms of Transparency in a
Distributed System
Transparency Description
Hide differences in data representation and how a
Access
resource is accessed
Location Hide where a resource is located
Migration Hide that a resource may move to another location
Hide that a resource may be moved to another
Relocation
location while in use
Hide that a resource may be shared by several
Replication
competitive users
Hide that a resource may be shared by several
Concurrency
competitive users
Failure Hide the failure and recovery of a resource
Hide whether a (software) resource is in memory or
Persistence
on disk

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 10 #


Scalability Problems
Concept Example
Centralized services A single server for all users
Centralized data A single on-line telephone book
Doing routing based on complete
Centralized algorithms
information

As distributed systems grow, centralized


solutions are limited.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 11 #


The Message Passing Paradigm
Message passing is the most fundamental
paradigm for distributed applications.
A process sends a message representing a
request.
The message is delivered to a receiver, which
processes the request, and sends a message in
response.
In turn, the reply may trigger a further request,
which leads to a subsequent reply, and so forth.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 12 #


The Message Passing Paradigm
The basic operations required to support the basic
message passing paradigm are send and receive.
For connection-oriented communication, the operations
connect and disconnect are also required.
The interconnected processes perform input and output
to each other, in a manner similar to file I/O.
The socket application programming interface is
based on this paradigm.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 13 #


The Message Passing Paradigm

Pro ce s s A
Pro ce s s B

a m es s ag e

M e s s a g e pa s s in g

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 14 #


The Client-Server Paradigm
Perhaps the best known paradigm for network
applications, the client-server model assigns
asymmetric roles to two collaborating processes.
One process, the server, plays the role of a service
provider which waits passively for the arrival of
requests.
The other, the client, issues specific requests to the
server and awaits its response.
May be considered as a subset of message passing

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 15 #


Role of Server
Hold information
Provide services
starts before client
wait for client request
carry out request
return result (reply) to client
never make use of clients
can make requests of other servers (delegation)

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 16 #


Role of Client
starts communication
must have server destination ready (server
starts up first)
makes requests of servers
never use other clients
do not carry out requests, only issues them

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 17 #


The Client-Server Paradigm
s e rvic e re que s t
a c lie nt pro c e s s
a s e rve r pro c e s s
Se r ve r ho s t a s e rvic e

C l i e nt ho s t
...

The C l i e nt-Se r ve r P ar adi g m , c o nc e ptual

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 18 #


The Client-Server Paradigm
By assigning asymmetric roles to the two
sides, event synchronization is simplified:
the server process waits for requests
the client in turn waits for responses.
Many Internet services are client-server
applications.
These services are often known by the protocol
that the application implements.
Well known Internet services include HTTP,
FTP, DNS, finger, gopher, etc.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 19 #
Thin Client vs. Fat Client
Partitioning of software between client and server
Thin Client
client processing is small, bulk takes place at server
client hardware requirements are less, e.g. PC X-
terminal running Exceed
Thick (or Fat) Client
client performs bulk of processing with server
providing basic tasks, e.g. disk storage and retrieval
e.g. PC connection to internet.
• This architecture provides a practical solution but creates an
ever increasing need for faster processors, high capacity
storage and complex operating systems

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 20 #


Peer-to-Peer System Architecture
Peer-to-peer is an architecture where computer
resources and services are directly exchanged
between computer systems.
These resources and services include the exchange
of information, processing cycles, cache storage,
and disk storage for files.
In such an architecture, computers that have
traditionally been used solely as clients
communicate directly among themselves and can
act as both clients and servers, assuming whatever
role is most efficient for the network.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 21 #
Peer-to-Peer Distributed
Computing Paradigm
In the peer-to-peer
paradigm, the pro ce s s 1
participating processes
play equal roles, with
equivalent capabilities and
responsibilities (hence the re qu e s t re qu e s t
term “peer”). re s po n s e
re s po n s e
Each participant may
issue a request to another
participant and receive a
response. pro ce s s 2

Dr.S.Swamynathan, DCSE, Anna


03/10/24 University Chennai 22
Peer-to-Peer Applications
Whereas the client-server paradigm is an ideal
model for a centralized network service, the peer-
to-peer paradigm is more appropriate for
applications such as
instant messaging
peer-to-peer file transfers
video conferencing
collaborative work.
It is also possible for an application to be based on
both the client-server model and the peer-to-peer
model.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 23 #
Napster.com
Napster.com – an example of peer-to-peer file
transfer services
allow files (primarily audio files) to be transmitted
among computers on the Internet.
It makes use of a server for directory in addition to the
peer-to-peer computing.
For developing web applications of instant
message and resource sharing, there are open
protocols and tools available on the web.
JXTA (jxta.org)
Jabber (jabber.org)

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 24 #


The Message System Paradigm
The Message System or Message-Oriented Middleware
(MOM) paradigm is an elaboration of the basic message-
passing paradigm.
In this paradigm, a message system serves as an
intermediary among separate, independent processes.
The message system acts as a switch for messages, through
which processes exchange messages asynchronously, in a
decoupled manner.
A sender deposits a message with the message system,
which forwards it to a message queue associated with each
receiver.
Once a message is sent, the sender is free to move on to
other tasks.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 25 #
The Message System Paradigm

re ce iv e rs
m e s s a g e s y s te m s e n de r
...

...

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 26 #


The Point-To-Point Message
Model
In this model, a message system forwards a
message from the sender to the receiver’s message
queue.
Unlike the basic message passing model, the
middleware provides a message depository, and
allows the sending and the receiving to be
decoupled.
Via the middleware, a sender deposits a message
in the message queue of the receiving process.
A receiving process extracts the messages from its
message queue, and handles each one accordingly.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 27 #
The Publish/Subscribe Message
Model
In this model, each message is associated with a
specific topic or event.
Applications interested in the occurrence of a
specific event may subscribe to messages for that
event.
When the awaited event occurs, the process
publishes a message announcing the event or
topic.
The middleware message system distributes the
message to all its subscribers.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 28 #
The Publish/Subscribe Message
Model
The publish/subscribe message model offers
a powerful abstraction for multicasting or
group communication.
The publish operation allows a process to
multicast to a group of processes
The subscribe operation allows a process to
listen for such multicast.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 29 #


Tools Based on the
Message-System Paradigm
Microsoft’s Message Queue (MSMQ)
http://www.microsoft.com/windows2000/techn
ologies/communications/msmq/default.asp
Java’s Message Service
http://java.sun.com/products/jms/

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 30 #


Remote Procedure Call
The Remote Procedure Call (RPC) allows distributed
software to be programmed in a manner similar to
conventional applications which run on a single processor.
Using this model, interprocess communications proceed as
procedure, or function, calls, which are familiar to
application programmers.
A remote procedure call involves two independent
processes, which may reside on separate machines.
A process, A, wishing to make a request to another process, B,
issues a procedure call to B, passing with the call a list of
argument values.
At the completion of the procedure, process B returns a value to
process A.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 31 #


Remote Procedure Call

Pro ce s s B
Pro ce s s A

p r o c 1 ( ar g 1 , ar g 2 )

p r o c 2 ( ar g 1 )

p r o c 3 (ar g 1 ,ar g 2 ,ar g 3 )

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 32 #


Tools for RPC
There are two prevalent APIs for Remote
Procedure Calls.
The Open Network Computing Remote Procedure
Call, evolved from the RPC API originated from Sun
Microsystems in the early 1980s.
The Open Group Distributed Computing Environment
(DCE) RPC.
Both APIs provide a tool, rpcgen, for transforming
remote procedure calls to local procedure calls to
the stub.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 33 #


The Distributed Objects
Paradigms
The idea of applying object orientation to
distributed applications is a natural extension of
object-oriented software development.
Applications access objects distributed over a
network.
Objects provide methods, through the invocation
of which an application obtains access to services.
Object-oriented paradigms include:
Remote method invocation (RMI)
Network services
Object request broker

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 34 #


Remote Method Invocation
(RMI)
Remote method invocation is the object-
oriented equivalent of remote procedure
calls.
In this model, a process invokes the
methods in an object, which may reside in a
remote host.
As with RPC, arguments may be passed
with the invocation.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 35 #


Remote Method Invocation
(RMI)
P rocess 2
P rocess 1
re m o te m e th o d in v o ca tio n m e th o d1
m e th o d2

a re m o te o bje ct

The R e m o te M e tho d C al l P ar adi g m


03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 36 #
The Network Services Paradigm
In this paradigm, service providers register themselves
with directory servers on a network.
A process desiring a particular service contacts the
directory server at run time, and, if the service is available,
will be provided a reference to the service. Using the
reference, the process interacts with the service.
This paradigm is essentially an extension of the remote
method call paradigm.
The difference is that service objects are registered with a global
directory service, allowing them to be look up and accessed by
service requestors on a federated network.
Java’s Jini technology is based on this paradigm.
http://www.sun.com/software/jini/

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 37 #


The Network Services Paradigm
D ire cto ry s e rv ice

s e rv ice o bje ct

S e rv ice re qu e s to r

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 38 #


The Object Request Broker
Paradigm
In the object broker paradigm , an application issues
requests to an object request broker (ORB), which
directs the request to an appropriate object that provides
the desired service.
The paradigm closely resembles the remote method
invocation model in its support for remote object access.
The difference is that the object request broker in this paradigm
functions as a middleware which allows an application, as an
object requestor, to potentially access multiple remote (or local)
objects.
The request broker may also function as an mediator for
heterogeneous objects, allowing interactions among
objects implemented using different APIs and /or running
on different platforms.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 39 #
Common Object Request Broker
Architecture (CORBA)
O bje ct
O bje ct
R e qu e s to r

O bje ct R e qu e s t B ro k e r

This paradigm is the basis of the Object Management


Group’s CORBA (Common Object Request Broker
Architecture) architecture.
http://www.corba.org/
CORBA in Java
http://java.sun.com/developer/onlineTraining/corba/
Java IDL: http://java.sun.com/products/jdk/idl/index.jsp
Dr.S.Swamynathan, DCSE, Anna
03/10/24 University Chennai 40
Other Object-Based
(or Component-Based) Paradigm
Component-based technologies such as
Microsoft’s COM, Microsoft DCOM, Java Bean,
and Enterprise Java Bean are also based on
distributed-object paradigms
Components are essentially specialized, packaged
objects designed to interact with each other through
standardized interfaces.
In addition, application servers, popular for
enterprise applications, are middleware facilities
which provide access to objects or components.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 41 #


The Collaborative Application
(Groupware) Paradigm
In this model, processes participate in a
collaborative session as a group.
Each participating process may contribute
input to part or all of the group.
Processes may do so using:
multicasting to send data to all or part of the
group, or they may use a
virtual sketchpads or whiteboards which allows
each participant to read and write data to a
shared display.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 42 #
Groupware

m es s ag e

m es s ag e

m es s ag e

M e s s a g e -ba s e d g ro u pwa re pa ra dig m W h ite bo a rd-ba s e d g ro u pwa re pa ra dig m

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 43 #


Trade-offs
Level of Abstraction vs. Overheads
Example: RMI needs stubs and skeletons at run time to handle the
communication details. Socket APIs should be chosen if speed of
communication is critical
Scalability
When complexity is handled by the tool of a high-level paradigm,
it will be able to accommodate an increase in number of clients
easily
Cross-platform support
Software engineering issues
Maturity and stability of the tool
Fault tolerance
Availability of development tools
Maintainability
Code reuse
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 44 #
Why cloud computing?

IT infrastructure is reaching a breaking point.

85% idle 1.5x 70¢ per $1


In distributed computing Explosion of information 70% on average is spent on
environments, up to 85% driving 54% growth in maintaining current IT
of computing capacity sits storage shipments every infrastructures versus adding
idle. year. new capabilities.

$40 billion 33%


Consumer product and retail 33% of consumers notified of
industries lose about $40 billion a security breach will
annually, or 3.5 percent of their terminate their relationship
sales, due to supply chain with the company they
inefficiencies. perceive as responsible.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 45 #
What is cloud computing?
A user experience and a business model
 Cloud computing is an emerging style of IT delivery in which applications, data, and IT
resources are rapidly provisioned and provided as standardized offerings to users over
the web in a flexible pricing model.
An infrastructure management and services delivery methodology
 Cloud computing is a way of managing large numbers of highly virtualized resources
such that, from a management perspective, they resemble a single large resource.
This can then be used to deliver services with elastic scaling.
Service Consumers
Datacenter
Access
Monitor & Manage Infrastructure
Services
Services & Resources

IT Cloud
Component Vendors/
Service Catalog, Software Publishers
Cloud Component
Administrator Library Publish & Update
Components,
Service Templates
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 46 #
What is Cloud Computing?

An Effective Cloud Deployment is Built on a


Dynamic Infrastructure ….

CLOUD COMPUTING

VIRTUALIZATION
+ STANDARDIZATION
+ AUTOMATION
= Cost
Flexibilit

…leveraging virtualization, standardization and automatio


03/10/24
to free up operational budget for new investmen
Dr.S.Swamynathan, DCSE, Anna University Chennai 47 #
Cloud - Overview

Mainframe Grid Computing Cloud Computing

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 48 #


5 key cloud characteristics

On-demand self-service
Ubiquitous network access
Location independent resource pooling
Rapid elasticity
Pay per use

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 49 #


3 cloud delivery models
Cloud Software as a Service (SaaS)
Use provider’s applications over a network
Cloud Platform as a Service (PaaS)
Deploy customer-created applications to a cloud
Cloud Infrastructure as a Service (IaaS)
Rent processing, storage, network capacity, and other
fundamental computing resources

To be considered “cloud” they must be deployed


on top of cloud infrastructure that has the key
characteristics

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 50 #


Delivery model architecture
Cloud Infrastructure Cloud Infrastructure Cloud Infrastructure
IaaS Software as a Service
PaaS PaaS (SaaS)
SaaS SaaS SaaS Architectures

Cloud Infrastructure Cloud Infrastructure


IaaS Platform as a Service (PaaS)
PaaS PaaS Architectures

Cloud Infrastructure
IaaS Infrastructure as a Service (IaaS)
Architectures

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 51 #


What is SaaS?
Applications delivered as services over the
Internet
Apps On-demand

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 52 #


Who are the SaaS providers?
Google Apps (doc, cal, map...)
SalesForce.com
37 Signals
Zoho

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 53 #


Why providing SaaS?

SaaS delivery model


Easier to maintain
No hardware or software to manage
Centralizing computing resource
Service delivery through a browser
Control usage
No illegal copies

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 54 #


Why using SaaS?
Reduce expenses
Multiple computers
Multiple users
Pay per use
Ease of usage
Easy installation
Access everywhere
Instance scalability, Security , Reliability,
APIs
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 55 #
SaaS Examples
CRM
Financial planning
Human resources
word processing
Commercial services
salesforce.com
Emailcloud

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 56 #


Why use PaaS?
Platforms are built upon Infrastructure, which is
expensive
Estimating demand is not a science!
Platform management is not fun!
Popular services
Storage, database, scalability
Advantages
Pay per use, Instant Scalability, Security, Reliability,
APIs
Examples: Google App Engine, Mosso, AWS: S3
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 57 #
Why use IaaS?
Computer infrastructure delivery model
Access to infrastructure stack
Full OS access
Firewalls
Routers
Load balancing
Advantages
Pay per use, Instant Scalability, Security,
Reliability, APIs
Examples:Dr.S.Swamynathan,
03/10/24
Flexiscale, AWS: EC2
DCSE, Anna University Chennai 58 #
SaaS usage
Your current CRM package is not managing
SaaS
the load or you simply don’t want to host it
in-house….use a SaaS provider such as
Salesforce.com

Your email is hosted on an exchange server in


your office and it is very slow…outsource
this using Hosted Exchange.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 59 #


Why use PaaS?
You need to host a large file (5Mb) on your
website and make it available for 35,000
users for only two months duration. Use
Cloud Front from Amazon.

PaaS You want to start storage services on your


network for a large number of files and you
do not have the storage capacity…use
Amazon S3.

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 60 #


Why use IaaS?
You want to run a batch job but you don’t
have the infrastructure necessary to run it in a
timely manner. Use Amazon EC2.

You want to host a website, but only for a


few days. Use Flexiscale.

IaaS

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 61 #


Utilities Computing

What is Utilities Computing?


Who are they?

Why Utilities Computing?

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 62 #


What is Utilities Computing?

Computing resources & platform


provided as a service on-demand
Hardware as a Service (HaaS)
Infrastructure as a service (IaaS)
Platform as a Service (PaaS)

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 63 #


Who are they?

GoogleAppEngine

Amazon EC2

Microsoft Azure

IBM Blue

Cloud.vn

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 64 #


Why Utilities Computing?
Mitigate the risks of over-provisioning and under-
provisioning
No up-front cost, invest on other aspects (marketing,
technology…)
Less maintenance & operational cost
Save time, time = money

In summary: Reduce cost

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 65 #


Cloud Computing
What is a Cloud?
What is Cloud Computing?
Why Cloud Computing?
Clouds of Tomorrow

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 66 #


What is a Cloud?

Software and hardware to operate


datacenters
Public Cloud
Cloud used to provide utility computing
Amazon EC2
GoogleAppEngine
Microsoft Azure
Cloud.vn
Private Cloud
Not available for rental
03/10/24
Datacenters
Dr.S.Swamynathan, DCSE, Anna University Chennai 67 #
What is Cloud Computing?

SaaS Users Utilities Computing


Users
SaaS Utility Computing
SaaS
SaaS Providers
Providers Utilities Computing
/ Utilities Computing Providers
Users

Cloud Computing

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 68 #


What is Cloud Computing?
Cloud Computing = SaaS + Utilities Computing

Cloud TV TV on-demand Electricity on-deman


(Cloud Computing) (SaaS) (Utilities Computing

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 69 #


What is Cloud Computing?

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 70 #


What's new
The illusion of infinite computing resources
No more planning far a head for provisioning..
The elimination of an up-front commitment by
users.
Start small then increase the resources when really
needed.
The ability to use and pay on demand.
Processors by hours, storage by day.
When needed  get them.
When they are no longer useful  let them go.
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 71 #
Why Cloud Computing?
New Technology Trends and Business Models
Web 2.0
Pay-as-you-go
New niche of market.
Cloud Computing vs. P2P?
Both take advantage of remote resources
P2P: does not use clouds (datacenters), peers do not get paid,
lower reliability
Cloud Computing vs. Grid Computing?
Both use clouds
Grid Computing requires commitment. Not public cloud

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 72 #


Why Cloud Computing?
New Application Opportunities
Mobile and web applications
• Mobile devices: low memory & computation power
Extensions of desktop software
• Matlab, Mathematica
Batch processing
• Peter Harkins at The Washington Post: 200 EC2
instances (1,407 server hours), convert 17,481 pages
of Hillary Clinton’s travel documents within 9 hours
• The New York Times used 100 Amazon EC2
instances to recognize 4TB of raw TIFF image into
1.1 million PDFs in 24 hours ($240)

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 73 #


Why Cloud Computing?
Pay by use instead of provisioning for peak

Capacity

Demand Capacity

Demand
Time Time

Static data center Data center in the cloud

Unused resources
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 74 #
Why Cloud Computing?
Capacity
Unused resources

Demand

Time

Static data center

Risk of over-provisioning: underutilization

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 75 #


Why Cloud Computing?
Capacity

Demand

Capacity 1 2 3
Time (days)
Demand Lost revenue
1 2 3
Time (days)
Capacity

Demand
1 2 3
Time (days)
Lost users
Risk of under-provisioning
03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 76 #
Why Cloud Computing?
Comparing Costs: Should I Move to the
Cloud?
Pay separately per resource
Power, cooling and physical plant costs
Operations costs

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 77 #


Clouds of Tomorrow
Application software:
Cloud & client parts, disconnection tolerance
Auto scalable
Infrastructure software:
VM awareness
Hardware systems:
Containers
Energy proportionality

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 78 #


References
Above the Clouds: A Berkeley View of Cloud
Computing, Michael Armbrust et al, Feb 2009
(white paper and presentation)
Cloud Computing Infrastructure

03/10/24 Dr.S.Swamynathan, DCSE, Anna University Chennai 79 #

You might also like