亚马逊云架构_第1页
亚马逊云架构_第2页
亚马逊云架构_第3页
亚马逊云架构_第4页
亚马逊云架构_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ArchitecturalDesign

Patterns

inCloud

ComputingThey

sent

me

here

to

talkBut

I

am

here

to

listenPleaseSend

Feedbackjvaria@

Twitter:

@jinmanCloud

Best

Practices

WhitepaperPrescriptive

guidance

to

Cloud

ArchitectsJust

Googlefor“Cloud

BestPractices”

tofind

thelinkAbstractResourcesFocus

onyour

needs,

not

on

hardware

specs.Asyourneeds

change,

soshouldyour

resources.On-DemandProvisioningAsk

for

whatyou

need,exactly

when

you

need

it.

Getridof

itwhen

you

don’t

needScalabilityScale

outor

independing

onusage

needs.NoUp-FrontCostsNo

contractsor

long-term

commitments.Pay

only

for

whatyou

use.Efficiency

ofExpertsUtilize

the

skills,

knowledge

and

resources

of

experts.Cloud

Computing

AttributesWhat

makes

the

Cloud

so

attractiveThe

CloudAWS

services

and

featuresMost

Applications

Need:ComputeStorageMessagingPaymentDistributionScaleAnalytics»

AmazonRDS»

High-Memory

Instances»

Lower

EC2Pricing»

AWS

Multi-FactorAuthentication»

Virtual

Private

Cloud»

Lower

ReservedInstance

Pricing»

AWS

SecurityCenter»

ReservedInstances

inEU

Region»

ElasticMapReduce»

SQSinEU

Region»

New

SimpleDB

Features»

FPSGeneral

Availability»

Lower

pricingtiers

forAmazon

CloudFront»

AWS

Management

Console»

Amazon

EC2

withWindows»

Amazon

EC2

inEU

Region»

AWS

Toolkit

for

Eclipse»

Amazon

EC2

ReservedInstances»

AWS

Import/Export»

New

CloudFront

Feature»Monitoring,

AutoScaling

&Elastic

Load

Balancing»

Amazon

ElasticMapReducein

Europe»

EBSShared

Snapshots»

SimpleDB

inEU

Region»

Monitoring,

AutoScaling

&Elastic

Load

Balancing

inEU»

AmazonCloudFrontPrivate

Content»

SAS70TypeII

Audit»

AWS

SDK

for

.NET»

Amazon

EC2

Reserved

InstanceswithWindows,

Extra

Large

HighMemory

Instances»

Amazon

S3VersioningFeature»

ConsolidatedBilling

for

AWS»

Lower

pricingfor

Outbound

DataTransferNewFeaturesandServices»AmazonEC2withWindowsServer2023,Spot

Instances,Boot

from

Amazon

EBS»

Amazon

CloudFront

Streaming»

Amazon

VPC

enters

Unlimited

Beta»

AWS

RegioninNorthern

California»

International

Support

for

AWSImport/Export“At

Amazon,

Every

Day

is

a

Launch

Day”ScalabilityBuild

Scalable

Architecture

on

AWSA

scalable

architecture

is

criticalto

take

advantage

ofa

scalableinfrastructureCharacteristics

of

Truly

Scalable

ServiceIncreasing

resources

resultsin

aproportional

increase

inperformanceA

scalableservice

iscapable

ofhandling

heterogeneity

A

scalableservice

isoperationally

efficientA

scalableservice

isresilientA

scalableservice

becomes

more

costeffective

when

itgrowsCloud

Architecture

Lessonsusing

Amazon

Web

ServicesDesign

for

failure

and

nothing

failsLoose

coupling

sets

you

freeImplement

“Elasticity”Build

Security

in

every

layerDon't

fear

constraintsThink

ParallelLeverage

different

storage

options1.

Design

for

Failureand

nothing

will

really

fail"Everything

fails,

all

the

time"Werner

Vogels,

CTO

AAvoid

single

points

of

failureAssume

everything

fails,

and

design

backwardsGoal:

Applications

shouldcontinue

to

function

even

if

theunderlying

physicalhardware

failsor

is

removed

or

replaced.Design

for

Failure

with

AWSTools

to

make

your

life

easierUse

Elastic

IP

addresses

for

consistent

and

re-mappable

routesUse

multiple

Amazon

EC2

Availability

Zones

(AZs)Create

multiple

database

slaves

across

AZsUse

real-time

monitoring

(Amazon

CloudWatch)Use

Amazon

Elastic

Block

Store

(EBS)

for

persistent

file

systemsEC2

Instance

AEC2

Instance

BYourWebTwoDotZeroNLOGVolumeDATAVolumeEC2

Instance

AYourWebTwoDotZeroNLOGVolumeDATAVolumeEC2

Instance

BAmazon

S3Availability

Zone1Availability

Zone22.

Build

Loosely

Coupled

SystemsThe

looserthey're

coupled,

the

bigger

theyscaleIndependent

componentsDesign

everything

as

a

Black

BoxDe-coupling

for

Hybrid

modelsLoad-balance

clustersController

AController

BController

CController

AController

BController

CQQQUse

Amazon

SQS

as

BuffersTight

CouplingLoose

Couplingusing

QueuesMySQLMasterWebServerMyWebSitMySQL(Slave)AppServerAppServerLBWebServerLBAppserverTapesData

TierDatabase

Servermachines

withmaster

and

local

runningseparately,

Network

storage

forStatic

objectsBackend

Firewall

Limitsaccess

toapplication

tierfromwebtierApp

LoadBalancerHardwareorSoftwaresolution

tospread

traffic

overappserversApp

Server

TierFleet

of

machines

handlingApplicationspecific

workloadsCaching

server

machines

canbe

implemented

atthis

layerExterior

Firewall

Hardwareor

SoftwareSolution

to

openstandard

Ports

(80,443)Web

LoadBalancerHardwareorSoftwaresolutionto

distributetraffic

overwebserversWeb

TierFleet

of

machines

handlingHTTP

requests.Backups

onTapesPeriodicbackups

stored

onTapes

usuallymanaged

by

3rdparty

attheir

siteAvailability

Zone#nAvailability

Zone

#1SLBAppServer AppServerAuto-scaling

group

:

App

TierAvailability

Zone2Auto-scaling

group

:Web

TierAuto-scaling

group

:Web

TierRDSMasterWebServer WebServerELB:WebTierCloudFrontLBTomcatWebServer WebServerRDSSlaveSLBAppServer AppServerAuto-scaling

group

:

App

TierTomcatMyWebSDNSRDSSlaveAmazonS3DBTierMySQL

RDS

DBInstances(master,

localslave,x-AZ

slavefor

failover)

,

Automatedbackups

toS3all

managed

byAWSExterior

Firewall

nolongerneeded

because

EC2

instancesare

controlledwith

SecurityGroupsAuto-scaling

Web

TierGroup

ofEC2instanceshandling

HTTP

requests.Backend

Firewall

nolongerneededApp

Server

LoadBalancerSoftware

LB

(e.g.

HAProxy)

onEC2

instanceto

spread

trafficover

appserverclusterAuto-scaling

App

TierGroup

ofEC2instances

runningthe

actual

app.

Instancesbelong

to

Auto-scaling

group.Caching

servers

instances

canbe

implemented

atthis

layerElastic

Load

BalancerELB

to

spread

traffic

to

WebServerAuto-scalinggroupsEdgeCachingHigh

VolumeStaticContent

is

edgecached

usingCloudFrontBackupsAmazon

S3usedfor

storing

StaticObjects

andBackups3.

Implement

ElasticityElasticity

is

fundamental

property

of

the

CloudDon’t

assume

health

or

fixed

location

of

componentsUse

designs

that

are

resilient

to

reboot

and

re-launchBootstrap

your

instances:

Instances

on

boot

will

ask

aquestion

“Who

am

I

&

what

is

my

role?”Enable

dynamic

configurationUse

Auto-scaling

(Free)Use

Elastic

Load

Balancing

on

multiple

layersUse

configurations

in

SimpleDB

to

bootstrap

instanceManagedDevelopmentEnvironmentAWSCloudEnterprise

ITISVStartup3.

Implement

Elasticity3

UsecasesAutomatedDeploymentEnvironmentAWSCloudSaaSPaidAMICloud-poweredSoftware

LifecyclemanagementAWSCloudWeb2.0

ProductDev/TestAppsProdWAebpIaSIScehreverAMpATpoSoPSn.NegcrEraveTtel

rASPS.MRNtraEVuiTlCtsMs

VCYour

CodeLoilLbogorg4aggNr4eiJeerstSRSPpuparbricniyknGgag.geNemEsTsmnDHHeBimbibCecaeracrnnchahaitneteegdRFurbaym.NJREeuEEwnTtoimrkeWCLieniOnndSutooxws

sJava

Stack.NET

StackRoRstack3.

Implement

ElasticityStandardized

Application

StacksEasier

to

SetupInventory

offully

baked

AMIs(Frozen/Ready

made)“Golden

AMIs”with

fetch

onboot(TakeN’

Bake)AMIs

with

JeOSand

“Chef”

Agent(Made

to

Order)More

ControlEasier

tomaintain3.

Implement

Elasticity3

approaches

to

designing

your

AMIsWindows.NETYour

CodeLog4NetSpring.NETnHibernateWindows.NETnHibernateIISASP.NET

MVCASP.NET

MVCASP.NETIISYour

CodeLog4NetSpring.NETIISAmazon

EC2IISASP.NET

MVCYour

CodeLog4Netpring.NETHibernate.NETWindowsSnIISIISASP.NET

MVCYour

CodeLog4NetSpring.NETnHibernate.NETWindowsIISWindows.NETYour

CodeLog4NetSpring.NETnHibernateASP.NET

MVCIISASP.NET

MVCIISWindows.NETYour

CodeLog4NetSpring.NETnHibernateIISIISImplement

ElasticityFrozen

Pizza

ModelSource

ControlAmazon

S3Windows.NET

Stack.NETYour

CodeLog4NetSpring.NETnHibernateASP.NET

MVCIISIISYour

CodeLog4Net

HibernatenSpring.NETASP.NET

MVCWindows.NETIISIIS.NET

AMIAmazon

EC2IISIIS.NETWindowsIISIIS.NETWindowsWindows.NETIISIISWindows.NETIISIISFetch

onboot

time3.

Implement

Elasticity2.

Papa

Murphy

Pizza

ModelSource

ControlAmazon

S3CentosRoRStackYour

CodeSpring.NETnHibernateL.oNgE4TNetASP.NET

MVCIISIISAMI

(JeOS)Amazon

EC2Chef

ServerWindowsCHEF

AgentCHEFAgentWindowsRuby

RuntimeYour

CodeloggerRubyGemsmemcachedRailsMongrelApacheCookbooks

Recipes3.

Implement

Elasticity3.

Made

to

Order

Pizza

ModelEasier

to

SetupInventory

offully

baked

AMIs(Frozen/Ready

made)“Golden

AMIs”with

fetch

onboot(TakeN’

Bake)AMIs

with

JeOSand

“Chef”

Agent(Made

to

Order)More

ControlEasier

tomaintain3.

Implement

Elasticity3

approaches

to

designing

your

AMIs4.

Build

Security

in

every

layerDesign

with

Security

in

mindWith

cloud,

you

lose

alittle

bit

of

physicalcontrol

but

not

yourownershipCreate

distinct

Security

Groups

for

each

Amazon

EC2

clusterUse

group-based

rules

for

controlling

access

between

layersRestrict

external

access

to

specific

IP

rangesEncrypt

data

“at-rest”

in

Amazon

S3Encrypt

data

“in-transit”

(SSL)Consider

encrypted

file

systems

in

EC2

for

sensitive

dataRotate

your

AWS

Credentials,

Pass

in

as

arguments

encryptedUse

MultiFactor

AuthenticationC man-.

b

a

rnon-.

ppDB

La'¿erAmazon

EC2

Sec

ir4y

Groupdna

ii3

([-o';Veb

Layeropen

IDn:erne-./¶|5.

Don't

fear

constraintsRe-think

architectural

constraintsMore

RAM?

Distribute

load

across

machinesShared

distributed

cacheBetter

IOPS

on

my

database?Multiple

read-only

/

sharding

/

DBclusteringYour

hardware

failed

or

messed

up

config?simply

throw

it

away

and

switchtonewhardware

with

noadditional

costPerformanceCaching

at

different

levels

(Page,

Render,

DB)Hardware

Configdoes

not

match?Implement

Elasticity6.

Think

ParallelSerial

and

Sequential

is

now

historyExperiment

different

architectures

in

parallelMulti-treading

and

Concurrent

requests

to

cloud

servicesRun

parallel

MapReduce

JobsDecompose

a

Job

into

its

simplest

form6.

Leverage

many

storage

optionsOne

size

DOES

NOT

fit

allAmazon

S3:

large

static

objectsAmazon

Cloudfront:

content

distributionAmazon

SimpleDB:

simple

data

indexing/queryingAmazon

EC2

local

disc

drive

:

transient

dataAmazon

EBS:

persistent

storage

for

any

RDBMS

+

Snapshots

on

S3Amazon

RDS:

RDBMS

service

-

Automated

and

Managed

MySQL6.

Leverage

many

storage

optionsWhich

storage

option

to

use

when?Amazon

S3+CFAmazon

EC2EphemeralStoreAmazon

EBSAmazonSimpleDBAmazon

RDSIdeal

forStoringLargeStoringnon-Off-instanceQueryinglight-Storingandwrite-once,persistentpersistentweightattributequeryingread-manytransientstorage

foranydatastructuredtypes

ofupdateskindofdata,Relational

andobjects,StaticreferentialContentDataDistributionIdeal

examplesMedia

files,ConfigData,Clusters,

bootQuerying,Complexaudio,video,scratchfiles,data,

Log

orMapping,transactionalimages,TempDBdata

oftagging,

click-systems,Backups,commercialstream

logs,inventoryarchives,RDBMS

likemetadata,managementversioningOracle,DB2shared-stateandordermanagement,fulfillmentindexingsystemsNotQuerying,StoringRelational(joins)recommendedSearchingDatabase

logsqueryforor

backups,customer

dataNotDatabase,

FileSensitive

dataContentOLTP,

DW

cubeSimplerecommendedSystemsDistributionrollupslookupsexamplesCloud

Architecture

LessonsBest

PracticesDesign

for

failure

and

nothing

failsLoose

coupling

sets

you

freeDesign

for

dynamismBuild

Security

in

every

layerDon't

fear

constraintsThink

ParallelLeverage

many

storage

optionsAWS

community

and

EcosystemFind

help,

guidance,

assistance

when

you

need

itAWS

EcosystemAWS

CommunityPhoto:

La

Pedrera

-

CasaMilà,

Barcelona

-Antonio

GaudiMigratinga

Web

Applicationto

AWSMigrating

your

Web

ApplicationStep

by

Step

towards

AWSA

typical

Web

App

needs:Compute

PowerStorage

capacityContent

DistributionDatabase

storageMessagingLoad

balancingMonitoringApplication

Server

/Business

LogicWeb

Server

/PresentationLayerClient

BrowserDatabaseMigrating

your

Web

Application

-

1/8Typical

Web

App

ArchitectureStore

persistent

files

in

AmazonS3

forlower

costs,higherreliabilityClient

BrowserMigrating

your

Web

Application

-

2/8Amazon

S3

for

StorageUse

AmazonCloudFrontAmazon

CloudFront

isacontent

delivery

networkthat

caches

datastoredin

AmazonS3

across

anetworkof14edge

locationsaround

theworldClient

BrowserMigrating

your

Web

Application

-

3/8Amazon

CloudFront

for

distributionConfigure

AmazonEC2

running

yourchoice

of

web

server

tohandle

allincoming

web

requests.Client

BrowserMigrating

your

Web

Application

-

4/8Amazon

EC2

for

your

choice

of

web

serversConfigure

multiple

AmazonEC2instancesrunningyour

choiceofapplicationserver

toprocess

requests.Use

Availability

Zones

and

Elastic

IPsfor

greater

reliability

and

resiliency.Utilize

Auto-scaling

and

Elastic

LBserviceClientBrowserMigrating

your

Web

Application

-

4/8Scale

out

App

servers

on

Amazon

EC2Use

AmazonEBS

forDatabaseConfigure

an

AmazonEBS

devicetohostyour

existing

relational

database.Snapshots

canbe

automatically

backed

upto

Amazon

S3.Client

BrowserMigrating

your

Web

Application

-

5/8EBS

for

Persistent

Storage

and

S3

for

SnapshotsUse

AmazonSQSAmazon

SQS

makes

it

easytocoordinatebetween

theweb

server

and

applicationservers.Client

BrowserSQSMigrating

your

Web

Application

-

6/8Amazon

SQS

for

queuing

requestsUse

Amazon

SimpleDBAmazon

SimpleDB

can

beused

tostoremetadata,

logfiles,

andother

informationfor

your

site.SimpleDBClient

BrowserSQSMigrating

your

Web

Application

-

7/8Amazon

SimpleDB

for

log

files,

metadataUse

Amazon

SimpleDBAmazon

CloudWatch

tomonitoring

yourAmazonEC2

instancesClient

BrowserSimpleDBSQSMigrating

your

Web

Application

-

8/8Monitor

your

Amazon

EC2

instances

using

CloudWatchMigrating

your

Web

ApplicationStep

by

Step

towards

AWSA

typical

Web

App

needs:Compute

PowerStorage

capacityContent

DistributionDatabase

storageMessagingLoad

bala

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论