applied architectures eunyoung hwang. objectives how principles have been used to solve challenging...

28
Applied Architectures Eunyoung Hwang

Upload: felix-underwood

Post on 23-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

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