Академический Документы
Профессиональный Документы
Культура Документы
Cloud computing
Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them.
Virtual. software, databases, Web servers, operating systems, storage and networking as virtual servers.
2012/4/13
Simple
Scalable
Secure
10
App
11
Python VM process
stateful APIs
memcache
datastore
12
Distributed system
A distributed system
B
A D
client-server system
Client
Client
Server
Client
Client
multiple servers
Server Server Server
Server
Server
Expensive (to have redundancy) Concurrency => Interleaving => Bugs Failures lead to incorrectness.
Outline
Concepts and Terminology
Distributed execution
Three tier architectures Transaction concepts
Centralized:
Distributed:
Why Distribute?
No best organization
Companies constantly swing between
Why distribute?
reflect organization or application structure empower users / producers improve service (response / availability) distributed load use PC technology (economics)
Thin client
Presentation workflow
Processing
Data
Location transparency:
hide fact that object is remote hide fact that object has moved hide fact that object is partitioned or replicated
Outline
Concepts and Terminology
Partitioned Replicated
Distributed execution
Transaction concepts
Distributed Execution
Threads and Messages
threads
shared memory
Peer-to-Peer or Client-Server
Peer-to-Peer is symmetric:
Client-server
Local invocation
y = val;
val
Remote invocation
proxy
Obj Local? x marshal x f() return val;
y = pObj->f(x); x
stub
un marshal pObj->f(x) x Obj Local? f()
val val
Registers Servers Manages pools of servers Connects clients to servers Does Naming, request-level authorization, Provides transaction coordination (new feature) Old names:
Object-Request Broker
Outline
Concepts and Terminology
what why
Transaction concepts
Fat
Presentation workflow
Presentation and plug-ins Workflow manages session & invokes objects Business objects Database
Fat
Thin
Stand-alone PC
(centralized)
IO request reply
disk I/O
PC + Database server
message per SQL statement
SQL Statement
PC + App server
message per transaction
Transaction
Clients do presentation, gather input Clients do some workflow (Xscript) Clients send high-level requests to ORB (Object Request Broker)
Presentation
workflow
ORB dispatches workflows and business objects -- proxies for client, orchestrate flows Business & queues
Objects
Web Client
HTML
Middleware
VB or Java Virt Machine
Internet
HTTP+ DCOM
IBM
Manageability
Presentation
Business rules must be with data Middleware operations tools Server resources are precious ORB dispatches requests to server pools Put UI processing near user Put shared data processing near shared data
Performance (scalability)
workflow
Business Objects
Database
Registers transaction programs workflow and business objects (DLLs) Pre-allocates server pools Provides server execution environment Dynamically checks authority
(request-level security)
A Server
Network
Receiver Queue
Connections Configuration
Management
Context
Security