A lightening talk - walking through 10 trauma's for developing applications for the cloud
Hi
View Slide
@ammeep
10E Traumasin 10 minutes
1EDeploymentsare painful
automateddeployments are hard in the cloud
automateddeployments are hard in the clouddirty lies
automated buildautomated testautomated deploy
automateprovisioningAPI
automatenetwork setupAPI
automatedeploymentAPI
automatea the thing
2Ei’m marriedto my cloud
AbstractProxyBooleanProvideravoid a ma iage of inconveniencejust don’t commitbe abstract
abstract message queuesabstractstorage providersabstractauto scaling
abstract awaythe gory detailsif you don’t own it
3Einsanitythe definition of
Oh HAIplease may i retrievemy data?sure ... i’ll hold...
hello?... ok holding ...may i have my data?
data?what?........
Are we there yet? Are we there yet? Are we there yet? Are we there yet?Are we there yet? Are we there yet? Are we there yet? Are we there yet?not aare born equaltransient faults
exponentialthe nature of the transient faultUnde tandperhaps tryback off
4Estoragethe limitationsof
Transactions can be cappedbut can we still haveinfinite storage capacityinfinite throughputand
many ways to skin a catWhen is it accessedWh is accessing itWhat is accessed
1110010011001010111001101100101011011100111010001100001011101000110100101101111010111111001000000100000101101101001000000110100100100000011101000110100001100001010010000001100010011011110111001001101001011011100110011100111111110011001110101011000110110101101101001011011100110011100100000011000110111010101111010000100000011000100110000101101100011011000111001100100000011110010110111101010000001100011011000010110111000100000011100100110010101100001011001000010000001110100001101001011100110011111100100000011101110110100001111001001000000111010001110010100100000011001100111010101100011011010110010000001100001011100100110111001010000001111001011011110111010100100000011011000110100101110011011101000110010101110100101101110011001110010000001110100011011110010000001101101011110010010000001111001001100101011100110110010101101110011101000110000101110100011010010110111101011111100100000010000010110110100100000011010010010000001110100011010000110000101010000001100010011011110111001001101001101110011001110011111110011100100000011000101011011100111010000100000011000100110000101101100011011000111001100100000011110111011101010010000001100011011000010110111000100000011100100110010101100001011001000011101000110100001101001011100110011111100100000011101110110100001111001001000100011010000110010100100000011001100111010101100011011010110010000001100001011100110011101000010000001111001011011110111010100100000011011000110100101110011011101101011011100110100101101110011001110010000001110100011011110010000001101101011110000011100000111001001100101011100110110010101101110011101000110000101110100011010111011011100011111100100000010000010110110100100000011010010010000001110100011010100011001000010111010000100000011000100110111101110010011010010110111001100111001110011001110101011000110110101101101001011011100110011100100000011000110111010101111010000100000011000100110000101101100011011000111001100100000011110010110111101010000001100011011000010110111000100000011100100110010101100001011001000010000001110100001101001011100110011111100100000011101110110100001111001001000000111010001110010100100000011001100111010101100011011010110010000001100001011100100110111001Partition you dataSpread out you dataCache you data
5Eweb scalewe’ve got to be
web scalecloud scalewhat does thateven mean?
twitter uses itbut...it must be g d
choice of technologyis nota function of fashion
it ok t be relationalif it works for you & your data
6Ego daddygoes down
DNS isa single pointof failureavoiding this isa tricky problem
have a simple back up planUse morethan one domain
7Eslowour app is
hogging resources100% CPUblockinglockingopening cursorsnever closinginterruptobstructingstallingno connection poolingn+1leaking memoryperformance ++deadlocks
Just scale Upnot optimisedperformancefor node
Just scale outnot optimisedfor cost
Bo leneck costperformance tuning is important
8Echaos monkey
patcheupgradeVM shufflingDNS changesshared hardwareslo nodeStorage Transient failurqueue Transient failuresphysical locationtimeStorage Transient failures patcheso upgradequeue Transient failuresprovisioning failureautoscalingcapacitylatency
patcheupgradeVM shufflingDNS changesshared hardwareSlo nodeStorage Transient failurqueue Transient failuresphysical locationtimeStorage Transient failures patcheso upgradequeue Transient failuresprovisioning failureautoscalingcapacitylatencyVOLATILE
a ept thatIt will failand plan fo it
simulate chaoget that monkey working for you
9Eyou have lupus
it’s 2 amthe phone ringsyour app is crashingservers areunresponsive
and it gets worse YOU CAN’T TELLWHAT IS GOING ON
centrallystore logs
user activitycorrelatebe able to
diagnosticsn d t be afirst class concern
10Eyou are going to fail
accept itYou’re not going to get it rightnot the first timeand maybe not the time after that
changei coming
your designs responsiblyto adaptbe prepared
10Ephewthats it
for listeningthanks@ammeep