13
Software Architecture IN Cloud A Survey by Yang Yan

An Brief Introduction to Cloud Computing and Software Architecture Cloud Computing Device Abstraction Software Architecture

Embed Size (px)

Citation preview

Page 1: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

Software Architecture IN

Cloud

A Survey by Yang Yang

Page 2: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

IntroductionAn Brief Introduction to Cloud Computing and Software Architecture

Cloud Computing Device Abstraction Software Architecture

Page 3: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

Cloud Computing

Name Description

Main Frame Powerful, integrated, big

GridLarge scale computing services, typically heterogeneous, distributed, and parallel

Cloud

1) All types of rapidly provisioned, on-demand computing or application services.

2) Any service delivered across the Internet, without requiring hardware or software installation.

3) Service customize & renting

UtilityThe “pay for what you use” billing method. May or maynot be “cloudlike” in other ways.

IaaSVirtualized server and network hardware, provisioned by customer control via portal or API.

SaaSExecution environment with software abstractions over thecapabilities and operational management of the underlyinginfrastructure.

PaaSApplication features provided without hardware or softwareinstallation. May or may not execute on any of the aboveenvironments.

Page 4: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

Device Abstraction

Device AbstractionDevice DistributedTask/Thread Distributed

VirtualizationAllow any OS to runInfrastructure As ServiceUniform API

Page 5: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

Software Architecture

The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them.

-Wikipedia

Page 6: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

Software Architecture in CloudDiscuss Architectures in Cloud

An Easiest One Properties Amazon’s EC2 + S3 The Master/Worker Pattern Hadoop / Google’s

Page 7: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

An Easiest One

Do Nothing!

The environment is Compatible

Page 8: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

Property

Advantages to Gain Risks to Mitigate

ScalabilityAvailability

Bundling Geography

Ephemerality

Page 9: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

EC2 ES3 @ Amazon

Cluster on Farm &&

Server in ImageAdvantages• Run as many servers as you want• Pennies per hour• Virtual server images stored in S3• Control via web services API

Quirks• “Clean boot” is really clean• Local storage not persistent• IP addresses assigned randomly

Bundling Deployment by Virtual Machine

Page 10: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

The Master/Worker Pattern

M/W Pattern1. Master

Task DistributingDatabase Administration

2. WorkerComputingResult Feed Back

M/W Pattern Aplications1. New York Times - converted 11 million articles

from their archive2. Video transcoding/processing - Animoto.com

1. From 50 to 5,000 processing nodes in 1 week2. Then back down to “a few hundred”

Page 11: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

Hadoop

HDFS

Map-Reduce

Hadoop

Hadoop Core1. Distributed File System2. Map Reduce Operation

Hadoop Base3. Highly Scalability

Page 12: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

Distributed File System

Google File System Single Master Multiple Chunk Server

Page 13: An Brief Introduction to Cloud Computing and Software Architecture  Cloud Computing  Device Abstraction  Software Architecture

Map Reduce (cont.)