1 / 39

Introduction to cloud computing

Introduction to cloud computing. Jiaheng Lu Department of Computer Science Renmin University of China www.jiahenglu.net. Cloud computing. Review: What is cloud computing?.

Solomon
Download Presentation

Introduction to cloud computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Cloud computing

  3. 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.

  4. 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.

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

  6. Any question and any comments ? 2014/3/10 8

  7. Google App Engine

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

  9. Any question and any comments ? 2014/3/10 11

  10. Distributed system

  11. A distributed system B A C D

  12. client-server system Client Client Client Server Client

  13. multiple servers Server Server Server Server Server

  14. Why distributed systems? What are the advantages? distributed vs centralized? multi-server vs client-server?

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

  16. Why not distributed systems? What are the disadvantages? distributed vs centralized? multi-server vs client-server?

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

  18. OutlineConcepts and Terminology • What is Distributed • Distributed data & objects • Distributed execution • Three tier architectures • Transaction concepts

  19. 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

  20. 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)

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

  22. 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.

  23. OutlineConcepts and Terminology • Why Distribute • Distributed data & objects • Partitioned • Replicated • Distributed execution • remote procedure call • queues • Three tier architectures • Transaction concepts

  24. threads shared memory Distributed ExecutionThreads 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) messages

  25. 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

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

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

  28. 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

  29. OutlineConcepts and Terminology • Why Distributed • Distributed data & objects • Distributed execution • remote procedure call • queues • Three tier architectures • what • why • Transaction concepts

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

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

  32. The Pattern: Three Tier Computing Presentation • 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 workflow Business Objects Database

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

  34. Why Did Everyone Go To Three-Tier? Presentation • 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 workflow Business Objects Database

  35. 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

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

  37. Q&A Thanks

More Related