Slide 1

Slide 1 text

Hi

Slide 2

Slide 2 text

@ammeep

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

10 E Traumas in 10 minutes

Slide 5

Slide 5 text

1 E Deployments are painful

Slide 6

Slide 6 text

automated deployments are hard in the cloud

Slide 7

Slide 7 text

automated deployments are hard in the cloud dirty lies

Slide 8

Slide 8 text

automated build automated test automated deploy

Slide 9

Slide 9 text

automate provisioning API

Slide 10

Slide 10 text

automate network setup API

Slide 11

Slide 11 text

automate deployment API

Slide 12

Slide 12 text

automate a the thing

Slide 13

Slide 13 text

2 E i’m married to my cloud

Slide 14

Slide 14 text

AbstractProxyBooleanProvider avoid a ma iage of inconvenience just don’t commit be abstract

Slide 15

Slide 15 text

abstract message queues abstract storage providers abstract auto scaling

Slide 16

Slide 16 text

abstract away the gory details if you don’t own it

Slide 17

Slide 17 text

3 E insanity the definition of

Slide 18

Slide 18 text

Oh HAI please may i retrieve my data? sure ... i’ll hold...

Slide 19

Slide 19 text

hello? ... ok holding ... may i have my data?

Slide 20

Slide 20 text

data? what? ........

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

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 a are born equal transient faults

Slide 23

Slide 23 text

exponential the nature of the transient fault Unde tand perhaps try back off

Slide 24

Slide 24 text

4 E storage the limitations of

Slide 25

Slide 25 text

Transactions can be capped but can we still have infinite storage capacity infinite throughput and

Slide 26

Slide 26 text

many ways to skin a cat When is it accessed Wh is accessing it What is accessed

Slide 27

Slide 27 text

111001001100101011100110110010101101110011101000110000101110100011010010110111101 011111100100000010000010110110100100000011010010010000001110100011010000110000101 0010000001100010011011110111001001101001011011100110011100111111 110011001110101011000110110101101101001011011100110011100100000011000110111010101 111010000100000011000100110000101101100011011000111001100100000011110010110111101 010000001100011011000010110111000100000011100100110010101100001011001000010000001 110100001101001011100110011111100100000011101110110100001111001001000000111010001 110010100100000011001100111010101100011011010110010000001100001011100100110111001 010000001111001011011110111010100100000011011000110100101110011011101000110010101 110100101101110011001110010000001110100011011110010000001101101011110010010000001 111001001100101011100110110010101101110011101000110000101110100011010010110111101 011111100100000010000010110110100100000011010010010000001110100011010000110000101 010000001100010011011110111001001101001101110011001110011111110011100100000011000 101011011100111010000100000011000100110000101101100011011000111001100100000011110 111011101010010000001100011011000010110111000100000011100100110010101100001011001 000011101000110100001101001011100110011111100100000011101110110100001111001001000 100011010000110010100100000011001100111010101100011011010110010000001100001011100 110011101000010000001111001011011110111010100100000011011000110100101110011011101 101011011100110100101101110011001110010000001110100011011110010000001101101011110 000011100000111001001100101011100110110010101101110011101000110000101110100011010 111011011100011111100100000010000010110110100100000011010010010000001110100011010 100011001000010111010000100000011000100110111101110010011010010110111001100111001 110011001110101011000110110101101101001011011100110011100100000011000110111010101 111010000100000011000100110000101101100011011000111001100100000011110010110111101 010000001100011011000010110111000100000011100100110010101100001011001000010000001 110100001101001011100110011111100100000011101110110100001111001001000000111010001 110010100100000011001100111010101100011011010110010000001100001011100100110111001 Partition you data Spread out you data Cache you data

Slide 28

Slide 28 text

5 E web scale we’ve got to be

Slide 29

Slide 29 text

web scale cloud scale what does that even mean?

Slide 30

Slide 30 text

twitter uses it but... it must be g d

Slide 31

Slide 31 text

choice of technology is not a function of fashion

Slide 32

Slide 32 text

it ok t be relational if it works for you & your data

Slide 33

Slide 33 text

6 E go daddy goes down

Slide 34

Slide 34 text

DNS is a single point of failure avoiding this is a tricky problem

Slide 35

Slide 35 text

have a simple back up plan Use more than one domain

Slide 36

Slide 36 text

7 E slow our app is

Slide 37

Slide 37 text

hogging resources 100% CPU blocking locking opening cursors never closing interrupt obstructing stalling no connection pooling n+1 leaking memory performance ++ deadlocks

Slide 38

Slide 38 text

Just scale Up not optimised performance for node

Slide 39

Slide 39 text

Just scale out not optimised for cost

Slide 40

Slide 40 text

Bo leneck cost performance tuning is important

Slide 41

Slide 41 text

8 E chaos monkey

Slide 42

Slide 42 text

patche upgrade VM shuffling DNS changes shared hardware slo node Storage Transient failur queue Transient failures physical location time Storage Transient failures patches o upgrade queue Transient failures provisioning failure autoscaling capacity latency

Slide 43

Slide 43 text

patche upgrade VM shuffling DNS changes shared hardware Slo node Storage Transient failur queue Transient failures physical location time Storage Transient failures patches o upgrade queue Transient failures provisioning failure autoscaling capacity latency VOLATILE

Slide 44

Slide 44 text

a ept that It will fail and plan fo it

Slide 45

Slide 45 text

simulate chao get that monkey working for you

Slide 46

Slide 46 text

9 E you have lupus

Slide 47

Slide 47 text

it’s 2 am the phone rings your app is crashing servers are unresponsive

Slide 48

Slide 48 text

and it gets worse YOU CAN’T TELL WHAT IS GOING ON

Slide 49

Slide 49 text

centrally store logs

Slide 50

Slide 50 text

user activity correlate be able to

Slide 51

Slide 51 text

diagnostics n d t be a first class concern

Slide 52

Slide 52 text

10 E you are going to fail

Slide 53

Slide 53 text

accept it You’re not going to get it right not the first time and maybe not the time after that

Slide 54

Slide 54 text

change i coming

Slide 55

Slide 55 text

your designs responsibly to adapt be prepared

Slide 56

Slide 56 text

10 E phew thats it

Slide 57

Slide 57 text

for listening thanks @ammeep