Introduction to cloud computing
Download
1 / 39

Introduction to cloud computing - PowerPoint PPT Presentation


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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Introduction to cloud computing

Jiaheng Lu

Department of Computer Science

Renmin University of China

www.jiahenglu.net


Cloud computing


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


Google App Engine


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


Distributed system


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-servervs client-server?


Why distributed systems?

What are the advantages?

distributed vs centralized?

multi-servervs client-server?

  • Geography

  • Concurrency => Speed

  • High-availability (if failures occur).


Why not distributed systems?

What are the disadvantages?

distributed vs centralized?

multi-servervs client-server?


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.


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


ad
  • Login