版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022-2023学年河南省商丘市虞城县第三高级中学高一数学文联考试题含解析
- 四川省成都市姚渡中学高一英语下学期期末试卷含解析
- 山西省晋中市金谷中学高一英语联考试卷含解析
- 代理词买卖合同纠纷
- 2022-2023学年安徽省阜阳市泉阳中学高一数学文期末试卷含解析
- 2024年外贸项目投资申请报告代可行性研究报告
- 辽宁省丹东市第二十七中学高一英语知识点试题含解析
- 黑龙江省伊春市宜春田心中学高一数学文联考试卷含解析
- 粤教版九年级政治课件:3-2可持续发展 生态文明
- 山西省大同市第九中学高一数学文测试题含解析
- 现浇混凝土挡土墙检验批质量检验记录表(标准范本)
- 安徽省水利工程质量检测和建筑材料试验服务收费标准
- 计划生育利益导向政策解读
- 《证券投资学》期末试卷及答案3套
- 《陈情表》理解性情景默写题汇编 统编版高二选择性必修下
- 燃烧性能-(燃烧热值)指导书
- 悬索桥施工技术分步详解(图文并茂)
- 恒大观澜府标准接待流程及说辞最终9.2(1)
- 精益道场介绍
- 第七章 实验活动9 乙醇、乙酸的主要性质
- (2022年-2023年)海南省普通高中应届毕业生登记表
评论
0/150
提交评论