Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging...

28
Applied Architectures Eunyoung Hwang

Transcript of Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging...

Page 1: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

Applied Architectures

Eunyoung Hwang

Page 2: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

2

Objectives

• How principles have been used to solve challenging problems

• How architecture can be used to explain and analyze common commercial systems

Page 3: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

3

Outline

• Distributed Network-based Applications– Limitations– REST– Commercial Internet Scale Applications: Google

• Decentralized Architecture– Grid Computing– Cloud Computing– Peer-2-Peer: Napster, Grutella, Skype

Page 4: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

4

Fallacies of Distributed Systems Viewpoint

• The network is reliable• Latency is zero• Bandwidth is infinite• The network is secure• Topology does not change• There is one administrator• Transport cost is zero• The network is homogeneous

Page 5: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

5

WWW Architecture

• World Wide Web is distributed, decentralized, hypermedia application.

Page 6: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

6

Representational State Transfer (REST) Style

User agent Origin ServerRequest

ResponseProxies Gateways

Intermediaries

C C C C

• A set of constraints based on WWW architectural style

Page 7: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

7

Process View of a REST-based Architecture

$ $Client+Cache:Client Connector: Server Connector: Server+Cache:

$ $

Origin Servers

User Agent

$$

DNS

$DNS

Proxy

Proxy Gateway

wais

http

orbhttp

http

http http

a

b

c

Page 8: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

8

Derivation of REST

Page 9: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

9

REST (cont.)

• Constraints– Client-server– Context-free (stateless)– Cache– Code on demand– Layered– Uniform Interface

• Benefits– Efficiency– Scalability– User perceived performance

Page 10: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

10

Commercial Internet-Scale Applications

• Google strategy– Simpler storage system offering fewer features– Data Storage and manipulation – A high fault-tolerant platform– Cost effective manner

• Google design– Google distributed file system (GFS)– MapReduce

Page 11: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

11

Google File System Architecture

Page 12: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

12

MapReduce

• Large-scale data processing• Map

– Take input key/value pair, generate a set of intermediate pair

• Reduce– Merge all intermediate values associated with the same intermediate key

Map (k1, v1) -> list(k2, v2)Reduce (k2, list(v2)) -> list(v2)

• E.g., word frequency– map (URL, contents) -> set of (word, 1) – Reduce (word, 1) -> set of (word, sum)

Page 13: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

13

MapReduce Execution Flow

Page 14: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

14

MapReduce (cont.)

• Architecture Provides– Automatic parallelization & distribution

– Fault tolerance• Walker failure• Master failure

Page 15: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

15

Decentralized Architecture

• Networked applications where there are multiple authorities

• Not a new idea– E.g., web sites, international postal mail

• Designing challenges

Page 16: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

16

Grid Computing

• Coordinated resource sharing and computation in a decentralized environment

• Technologies that allow consumers to obtain computing power on demand

• Starts with large-scale federated resources

• Issues – Interoperability– Security

Page 17: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

17

Grid Architecture

Page 18: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

18

Globus Grid Architecture (recovered)

Page 19: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

19

Cloud Computing

• A key computing platform for sharing resources• A specialized distributed computing paradigm

– Massively scalable– Different level of service– Driven by economies of scale– Dynamically configured and delivered on demand

• What makes Cloud Computing interesting now?• Not a new concept!

Page 20: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

20

Cloud Computing

Page 21: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

21

Three level Services by Cloud Computing

• Infrastructure as a Service(IaaS) – Amazon EC2

• Platform as a Service (PaaS) – Google App Engine

• Software as a Service (Saas) – Salesforce

Page 22: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

22

Grid vs Cloud Computing Grid Computing Cloud Computing

General 10 years agoLarge -scale federated systems

Now, new needs to analyze massive dataCommercial large-scale systems

The cost of computing Reliability & Flexibility with same issues

Business Model Pay for units spent Pay on a consumption basis

Architecture 5 layered 4 layered, 3 level services

Compute Model Batch-scheduled queuing system

Shared by all users at the same time

Data Model Virtual Data Triangle model

Security Strict Single sign-on

Simpler and less secureeasy to manage account

Page 23: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

23

Peer-to-Peer: LL

Page 24: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

24

Napster

•Hybrid client-server/P2P

Page 25: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

25

Gnutella

•Pure decentralized P2P

Page 26: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

26

Skype

•Overlayed P2P

Page 27: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

27

Review

• Distributed Network-based Applications- REST

- Google: GFS, MapReduce

• Decentralized Architecture- Grid Computing- Cloud Computing- Peer-2-Peer: Napster, Grutella, Skype

Page 28: Applied Architectures Eunyoung Hwang. Objectives How principles have been used to solve challenging problems How architecture can be used to explain and.

28

References

• Principled Design of The Modern Web Architecture.– Fielding, Roy T., and Richard N. Taylor.

• Cloud Computing and Grid Computing 360-Degree Compared.– Foster, Ian, and Zhao Yong.

• MapReduce: Simplied Data Processing on Large Clusters– Dean, Jeffrey, and Sanjay Ghemawat.

• The Google File System.– Ghemawat, Sanjay, Howard Gobioff, and Shun-Tak Leung