450 likes | 1.34k Views
Introduction to cloud computing. Jiaheng Lu Department of Computer Science Renmin University of China www.jiahenglu.net. Cloud computing. Review: What is cloud computing?.
E N D
Introduction to cloud computing Jiaheng Lu Department of Computer Science Renmin University of China www.jiahenglu.net
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.
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.
Review: Types of cloud service SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure as a Service
Any question and any comments ? 2014/3/10 8
Review: Google App Engine Does one thing well: running web apps Simple app configuration Scalable Secure 10
Any question and any comments ? 2014/3/10 11
A distributed system B A C D
client-server system Client Client Client Server Client
multiple servers Server Server Server Server Server
Why distributed systems? What are the advantages? distributed vs centralized? multi-server vs client-server?
Why distributed systems? What are the advantages? distributed vs centralized? multi-server vs client-server? • Geography • Concurrency => Speed • High-availability (if failures occur).
Why not distributed systems? What are the disadvantages? distributed vs centralized? multi-server vs client-server?
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.
OutlineConcepts and Terminology • What is Distributed • Distributed data & objects • Distributed execution • Three tier architectures • Transaction concepts
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
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)
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
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.
OutlineConcepts and Terminology • Why Distribute • Distributed data & objects • Partitioned • Replicated • Distributed execution • remote procedure call • queues • Three tier architectures • Transaction concepts
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
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
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
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;
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
OutlineConcepts and Terminology • Why Distributed • Distributed data & objects • Distributed execution • remote procedure call • queues • Three tier architectures • what • why • Transaction concepts
Fat Thin Fat Thin Work Distribution Spectrum • Presentation and plug-ins • Workflow manages session & invokes objects • Business objects • Database Presentation workflow Business Objects Database
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
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
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.
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
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
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
Q&A Thanks