版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ArchitecturalDesign
Patterns
inCloud
Computing1/46They
sent
me
here
to
talkBut
I
am
here
to
listenPleaseSend
Feedbackjvaria@
Twitter:
@jinman2/46Cloud
Best
Practices
WhitepaperPrescriptive
guidance
to
Cloud
ArchitectsJust
Googlefor“Cloud
BestPractices”
tofind
thelink3/46AbstractResourcesFocus
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
attractive4/46The
CloudAWS
services
and
featuresMost
Applications
Need:ComputeStorageMessagingPaymentDistributionScaleAnalytics5/46»
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»AmazonEC2withWindowsServer,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”6/46ScalabilityBuild
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
itgrows7/46Cloud
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
options8/461.
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.9/46Design
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
systems10/46EC2
Instance
AEC2
Instance
BYourWebTwoDotZeroN11/46LOGVolumeDATAVolumeEC2
Instance
AYourWebTwoDotZeroNLOGVolumeDATAVolumeEC2
Instance
BAmazon
S3Availability
Zone1Availability
Zone212/462.
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
Queues13/46MySQLMasterWebServerMyWebSitMySQL(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
site14/46Availability
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
andBackups15/463.
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
instance16/46ManagedDevelopmentEnvironmentAWSCloudEnterprise
ITISVStartup3.
Implement
Elasticity3
UsecasesAutomatedDeploymentEnvironmentAWSCloudSaaSPaidAMICloud-poweredSoftware
LifecyclemanagementAWSCloudWeb2.0
ProductDev/TestAppsProd17/46WAebpIaSIScehreverAMpATpoSoPSn.NegcrEraveTtel
rASPS.MRNtraEVuiTlCtsMs
VCYour
CodeLoilLbogorg4aggNr4eiJeerstSRSPpuparbricniyknGgag.geNemEsTsmnDHHeBimbibCecaeracrnnchahaitneteegdRFurbaym.NJREeuEEwnTtoimrkeWCLieniOnndSutooxws
sJava
Stack.NET
StackRoRstack3.
Implement
ElasticityStandardized
Application
Stacks18/46Easier
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
AMIs19/46Windows.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
Model20/46Source
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
Model21/46Source
ControlAmazon
S3CentosRoRStackYour
CodeSpring.NETnHibernateL.oNgE4TNetASP.NET
MVCIISIISAMI
(JeOS)Amazon
EC2Chef
ServerWindowsCHEF
AgentCHEFAgentWindowsRuby
RuntimeYour
CodeloggerRubyGemsmemcachedRailsMongrelApacheCookbooks
Recipes3.
Implement
Elasticity3.
Made
to
Order
Pizza
Model22/46Easier
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
AMIs23/464.
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
Authentication24/46C man-.
b
a
rnon-.
ppDB
La'¿erAmazon
EC2
Sec
ir4y
Groupdna
ii3
([-o';Veb
Layeropen
IDn:erne-./¶|25/465.
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
Elasticity26/466.
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
form27/466.
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
MySQL28/466.
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
cubeSimplerecommendedSystemsDistributionrollupslookupsexamples29/46Cloud
Architecture
LessonsBest
PracticesDesign
for
failure
and
nothing
failsLoose
coupling
sets
you
freeDesign
for
dynamismBuild
Security
in
every
layerDon't
fear
constraintsThink
ParallelLeverage
many
storage
options30/46AWS
community
and
EcosystemFind
help,
guidance,
assistance
when
you
need
itAWS
EcosystemAWS
Community31/46Photo:
La
Pedrera
-
CasaMilà,
Barcelona
-Antonio
GaudiMigratinga
Web
Applicationto
AWS32/46Migrating
your
Web
ApplicationStep
by
Step
towards
AWSA
typical
Web
App
needs:Compute
PowerStorage
capacityContent
DistributionDatabase
storageMessagingLoad
balancingMonitoring33/46Application
Server
/Business
LogicWeb
Server
/PresentationLayerClient
BrowserDatabaseMigrating
your
Web
Application
-
1/8Typical
Web
App
Architecture34/46Store
persistent
files
in
AmazonS3
forlower
costs,higherreliabilityClient
BrowserMigrating
your
Web
Application
-
2/8Amazon
S3
for
Storage35/46Use
AmazonCloudFrontAmazon
CloudFront
isacontent
delivery
networkthat
caches
datastoredin
AmazonS3
across
anetworkof14edge
locationsaround
theworldClient
BrowserMigrating
your
Web
Application
-
3/8Amazon
CloudFront
for
distribution36/46Configure
AmazonEC2
running
yourchoice
of
web
server
tohandle
allincoming
web
requests.Client
BrowserMigrating
your
Web
Application
-
4/8Amazon
EC2
for
your
choice
of
web
servers37/46Configure
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
EC238/46Use
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
Snapshots39/46Use
AmazonSQSAmazon
SQS
makes
it
easytocoordinatebetween
theweb
server
and
applicationservers.Client
BrowserSQSMigrating
your
Web
Application
-
6/8Amazon
SQS
for
queuing
requests40/46Use
Amazon
SimpleDBAmazon
SimpleDB
can
beused
tostoremetadata,
logfiles,
andother
informationfor
your
site.SimpleDBClient
BrowserSQSMigrating
your
Web
Application
-
7/8Amazon
SimpleDB
for
log
files,
metadata41/46Use
Amazon
SimpleDBAmazon
CloudWatch
tomonitoring
yourAmazonEC2
instancesClient
BrowserSimpleDBSQSMigrating
your
Web
Application
-
8/8Monitor
your
Amazon
EC2
instances
using
CloudWatch42/46Migrating
your
Web
ApplicationStep
by
Step
towards
AWSA
typical
Web
App
needs:Compute
PowerStorage
capacityContent
DistributionDatabase
storageMessagingLoad
bal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学四年级下册简便运算专项练习(100道带答案解析)
- 2026年安全培训素材内容核心要点
- 2026年食堂外卖安全培训内容核心要点
- 锡林郭勒盟多伦县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 蒸汽使用安全培训内容2026年专项突破
- 2026年外出居住安全培训内容实操要点
- 齐齐哈尔市富拉尔基区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 鹤壁市浚县2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 那曲地区巴青县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 遵义市凤冈县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2026年广西事业单位招聘考试真题及答案
- 湖北省武汉市2026届高三下学期三月调研考试 数学试卷 含答案
- 公共卫生(MPH)硕士26届考研复试高频面试题包含详细解答
- 《2026年》知识产权专利工程师高频面试题包含详细解答
- 公司计量监督考核制度
- 越野车用轮胎越野性能评价规范
- 2025年铜川职业技术学院单招综合素质考试题库带答案
- 国网公司竞聘笔试题库
- 光的直线传播课件:苏科版(2024)八年级上册
- 内蒙美食课件
- 兴奋躁动状态的治疗及护理
评论
0/150
提交评论