Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to cloud computing Jiaheng Lu Department of Computer Science Renmin University of China www.jiahenglu.net.

Similar presentations


Presentation on theme: "Introduction to cloud computing Jiaheng Lu Department of Computer Science Renmin University of China www.jiahenglu.net."— Presentation transcript:

1 Introduction to cloud computing Jiaheng Lu Department of Computer Science Renmin University of China www.jiahenglu.net

2 Cloud computing

3

4 Review: What is cloud computing? Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a serve over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them.

5 Review: Characteristics of cloud computing Virtual. software, databases, Web servers, operating systems, storage and networking as virtual servers. On demand. add and subtract processors, memory, network bandwidth, storage.

6 IaaS Infrastructure as a Service PaaS Platform as a Service SaaS Software as a Service Review: Types of cloud service

7

8 2015-5-158 Any question and any comments ?

9 Google App Engine

10 10 Review: Google App Engine Does one thing well: running web apps Simple app configuration Scalable Secure

11 2015-5-1511 Any question and any comments ?

12 Distributed system

13 A distributed system A B C D

14 client-server system Server Client

15 multiple servers Server

16 Applications Amazon Google Airline reservation systems Finance: e-transactions, e-banking, stock-exchange Military

17 Why distributed systems? What are the advantages? distributed vs centralized? multi-servervs client-server?

18 Why distributed systems? What are the advantages? distributed vs centralized? multi-servervs client-server? Geography Concurrency => Speed High-availability (if failures occur).

19 Why not distributed systems? What are the disadvantages? distributed vs centralized? multi-servervs client-server?

20 Why not distributed systems? What are the disadvantages? distributed vs centralized? multi-servervs client-server? Expensive (to have redundancy) Concurrency => Interleaving => Bugs Failures lead to incorrectness.

21 Outline Concepts and Terminology What is Distributed Distributed data & objects Distributed execution Three tier architectures Transaction concepts

22 What’s a Distributed System? Centralized: everything in one place stand-alone PC or Mainframe Distributed: some parts remote distributed users distributed execution distributed data

23 Why Distribute? No best organization Companies constantly swing between Centralized: focus, control, economy Decentralized: adaptive, responsive, competitive Why distribute? reflect organization or application structure empower users / producers improve service (response / availability) distributed load use PC technology (economics)

24 What Should Be Distributed? Users and User Interface Thin client Processing Trim client Data Fat client Will discuss tradeoffs later Database Business Objects workflow Presentation

25 Transparency in Distributed Systems Make distributed system as easy to use and manage as a centralized system Give a Single-System Image Location transparency: hide fact that object is remote hide fact that object has moved hide fact that object is partitioned or replicated Name doesn’t change if object is replicated, partitioned or moved.

26 Naming- The basics Objects have Globally Unique Identifier (GUIDs) location(s) = address(es) name(s) addresses can change objects can have many names Names are context dependent: (Jim @ KGB  Jim @ CIA) Many naming systems UNC: \\node\device\dir\dir\dir\object Internet: http://node.domain.root/dir/dir/dir/object LDAP: ldap://ldap.domain.root/o=org,c=US,cn=dir guid Jim Address James

27 Name Servers in Distributed Systems Name servers translate names + context to address (+ GUID) Name servers are partitioned (subtrees of name space) Name servers replicate root of name tree Name servers form a hierarchy Distributed data from hell: high read traffic high reliability & availability autonomy root North South Southern names Northern names root

28 Autonomy in Distributed Systems Owner of site (or node, or application, or database) Wants to control it If my part is working, must be able to access & manage it (reorganize, upgrade, add user,…) Autonomy is Essential Difficult to implement. Conflicts with global consistency examples: naming, authentication, admin…

29 Security The Basics Authentication server subject + Authenticator => (Yes + token) | No Security matrix: who can do what to whom Access control list is column of matrix “who” is authenticated ID In a distributed system, “who” and “what” and “whom” are distributed objects subject Object Permissions

30 Security in Distributed Systems Security domain: nodes with a shared security server. Security domains can have trust relationships: A trusts B: A “believes” B when it says this is Jim@B Security domains form a hierarchy. Delegation: passing authority to a server when A asks B to do something (e.g. print a file, read a database) B may need A’s authority Autonomy requires: each node is an authenticator each node does own security checks Internet Today: no trust among domains (fire walls, many passwords) trust based on digital signatures

31 Clusters The Ideal Distributed System. Cluster is distributed system BUT single location manager security policy relatively homogeneous communications is high bandwidth low latency low error rate Clusters use distributed system techniques for load distribution storage execution growth fault tolerance

32 Cluster: Shared What? Shared Memory Multiprocessor Multiple processors, one memory all devices are local DEC or SGI or Sequent 16x nodes Shared Disk Cluster an array of nodes all shared common disks VAXcluster + Oracle Shared Nothing Cluster each device local to a node ownership may change Tandem, SP2, Wolfpack

33 Outline Concepts and Terminology Why Distribute Distributed data & objects Partitioned Replicated Distributed execution Three tier architectures Transaction concepts

34 Partitioned Data Break file into disjoint groups Exploit data access locality Put data near consumer Less network traffic Better response time Better availability Owner controls data autonomy Spread Load data or traffic may exceed single store Orders N.A. S.A. Europe Asia

35 How to Partition Data? How to Partition by attribute or random or by source or by use Problem: to find it must have Directory (replicated) or Algorithm Encourages attribute-based partitioning N.A. S.A. Europe Asia

36 Replicated Data Place fragment at many sites Pros: +Improves availability +Disconnected (mobile) operation +Distributes load +Reads are cheaper Cons:  N times more updates  N times more storage Placement strategies: Dynamic: cache on demand Static: place specific Catalog

37 Updating Replicated Data When a replica is updated, how do changes propagate? Master copy, many slave copies (SQL Server) always know the correct value (master) change propagation can be transactional as soon as possible periodic on demand Symmetric, and anytime (Access) allows mobile (disconnected) updates updates propagated ASAP, periodic, on demand non-serializable colliding updates must be reconciled. hard to know “real” value

38 Outline Concepts and Terminology Why Distribute Distributed data & objects Partitioned Replicated Distributed execution remote procedure call queues Three tier architectures Transaction concepts

39 Distributed Execution Threads and Messages Thread is Execution unit (software analog of cpu+memory) Threads execute at a node Threads communicate via Shared memory (local) Messages (local and remote) threads shared memory messages

40 Peer-to-Peer or Client-Server Peer-to-Peer is symmetric: Either side can send Client-server client sends requests server sends responses simple subset of peer-to-peer request response

41 Connection-less or Connected Connection-less request contains client id client context work request client authenticated on each message only a single response message e.g. HTTP, NFS v1  Connected (sessions)  open - request/reply - close  client authenticated once  Messages arrive in order  Can send many replies (e.g. FTP)  Server has client context (context sensitive)  e.g. Winsock and ODBC  HTTP adding connections

42 Remote Procedure Call: The key to transparency Object may be local or remote Methods on object work wherever it is. Local invocation y = pObj->f(x); f() x val y = val; return val;

43 Remote Procedure Call: The key to transparency Remote invocation Obj Local? x val y = val; f() return val; y = pObj->f(x); marshal un marshal un marshal x proxy un marshal pObj->f(x) marshal x stub Obj Local? x val f() return val; val

44 Transaction Object Request Broker (ORB) Registers Servers Manages pools of servers Connects clients to servers Does Naming, request-level authorization, Provides transaction coordination (new feature) Old names: Transaction Processing Monitor, Web server, NetWare Object-Request Broker

45 Send updates to correct partition Using RPC for Transparency Partition Transparency part Local? x y = pfile->write(x); send to correct partition send to correct partition x un marshal pObj->write(x) marshal x x val write() return val; val

46 Send updates to EACH node Using RPC for Transparency Replication Transparency x y = pfile->write(x); Send to each replica Send to each replica x val

47 Outline Concepts and Terminology Why Distributed Distributed data & objects Distributed execution remote procedure call queues Three tier architectures what why Transaction concepts

48 Client/Server Interactions All can be done with RPC Request-Response response may be many messages Conversational server keeps client context Dispatcher three-tier: complex operation at server Queued de-couples client from server allows disconnected operation CS CS C S S S C S S

49 Queued Request/Response Time-decouples client and server Three Transactions Almost real time, ASAP processing Communicate at each other’s convenience Allows mobile (disconnected) operation Disk queues survive client & server failures Client Server Submit Perform Response

50 Why Queued Processing? Prioritize requests ambulance dispatcher favors high-priority calls Manage Workflows Deferred processing in mobile apps Interface heterogeneous systems EDI, MOM: Message-Oriented-Middleware DAD: Direct Access to Data OrderBuildShipInvoicePay

51 Work Distribution Spectrum Presentation and plug-ins Workflow manages session & invokes objects Business objects Database Fat Thin Fat Thin Database Business Objects workflow Presentation

52 PC Evolution to Three Tier Intelligence migrated to server Stand-alone PC (centralized) PC + File & print server message per I/O PC + Database server message per SQL statement PC + App server message per transaction ActiveX Client, ORB ActiveX server, Xscript disk I/O IO request reply SQL Statement Transaction

53 The Pattern: Three Tier Computing Clients do presentation, gather input Clients do some workflow (Xscript) Clients send high-level requests to ORB (Object Request Broker) ORB dispatches workflows and business objects -- proxies for client, orchestrate flows & queues Server-side workflow scripts call on distributed business objects to execute task Database Business Objects workflow Presentation

54 The Three Tiers Web Client HTML VB or Java Script Engine VB or Java Virt Machine VBscritpt JavaScrpt VB Java plug-ins Internet ORB HTTP+ DCOM Object server Pool Middleware ORB TP Monitor Web Server... DCOM (oleDB, ODBC,...) Object & Data server. LU6.2 IBM Legacy Gateways

55 Why Did Everyone Go To Three-Tier? Manageability Business rules must be with data Middleware operations tools Performance (scalability) Server resources are precious ORB dispatches requests to server pools Technology & Physics Put UI processing near user Put shared data processing near shared data Database Business Objects workflow Presentation

56 What Middleware Does ORB, TP Monitor, Workflow Mgr, Web Server Registers transaction programs workflow and business objects (DLLs) Pre-allocates server pools Provides server execution environment Dynamically checks authority (request-level security) Does parameter binding Dispatches requests to servers parameter binding load balancing Provides Queues Operator interface

57 Server Side Objects Easy Server-Side Execution ORB gives simple execution environment Object gets start invoke shutdown Everything else is automatic Drag & Drop Business Objects Network Thread Pool Queue Connections Context Security Shared Data Receiver Synchronization Service logic Configuration Management A Server

58


Download ppt "Introduction to cloud computing Jiaheng Lu Department of Computer Science Renmin University of China www.jiahenglu.net."

Similar presentations


Ads by Google