Download presentation
Presentation is loading. Please wait.
Published byFelix Underwood Modified over 9 years ago
1
Applied Architectures Eunyoung Hwang
2
Objectives How principles have been used to solve challenging problems How architecture can be used to explain and analyze common commercial systems 2
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 3
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 4
5
WWW Architecture World Wide Web is distributed, decentralized, hypermedia application. 5
6
Representational State Transfer (REST) Style User agentOrigin Server Request Response ProxiesGateways Intermediaries C CCC 6 A set of constraints based on WWW architectural style
7
Process View of a REST-based Architecture 7
8
Derivation of REST 8
9
REST (cont.) Constraints – Client-server – Context-free (stateless) – Cache – Code on demand – Layered – Uniform Interface Benefits – Efficiency – Scalability – User perceived performance 9
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 10
11
Google File System Architecture 11
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) 12
13
MapReduce Execution Flow 13
14
MapReduce (cont.) Architecture Provides – Automatic parallelization & distribution – Fault tolerance Walker failure Master failure 14
15
Decentralized Architecture Networked applications where there are multiple authorities Not a new idea – E.g., web sites, international postal mail Designing challenges 15
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 16
17
Grid Architecture 17
18
Globus Grid Architecture (recovered) 18
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! 19
20
Cloud Computing 20
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 21
22
Grid vs Cloud Computing Grid ComputingCloud Computing General10 years ago Large -scale federated systems Now, new needs to analyze massive data Commercial large-scale systems The cost of computing Reliability & Flexibility with same issues Business ModelPay for units spentPay on a consumption basis Architecture5 layered4 layered, 3 level services Compute ModelBatch-scheduled queuing system Shared by all users at the same time Data ModelVirtual DataTriangle model SecurityStrict Single sign-on Simpler and less secure easy to manage account 22
23
Peer-to-Peer: LL 23
24
Napster 24 Hybrid client-server/P2P
25
Gnutella 25 Pure decentralized P2P
26
Skype 26 Overlayed P2P
27
Review 27 Distributed Network-based Applications - REST - Google: GFS, MapReduce Decentralized Architecture - Grid Computing - Cloud Computing - Peer-2-Peer: Napster, Grutella, Skype
28
References 28 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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.