$30 off During Our Annual Pro Sale. View Details »

10 Traumas in 10 minutes

10 Traumas in 10 minutes

A lightening talk - walking through 10 trauma's for developing applications for the cloud

Amy Palamountain

October 26, 2012
Tweet

More Decks by Amy Palamountain

Other Decks in Programming

Transcript

  1. Hi

    View Slide

  2. @ammeep

    View Slide

  3. View Slide

  4. 10
    E Traumas
    in 10 minutes

    View Slide

  5. 1
    E
    Deployments
    are painful

    View Slide

  6. automated
    deployments are hard in the cloud

    View Slide

  7. automated
    deployments are hard in the cloud
    dirty lies

    View Slide

  8. automated build
    automated test
    automated deploy

    View Slide

  9. automate
    provisioning
    API

    View Slide

  10. automate
    network setup
    API

    View Slide

  11. automate
    deployment
    API

    View Slide

  12. automate
    a the thing

    View Slide

  13. 2
    E
    i’m married
    to my cloud

    View Slide

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

    View Slide

  15. abstract message queues
    abstract
    storage providers
    abstract
    auto scaling

    View Slide

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

    View Slide

  17. 3
    E
    insanity
    the definition of

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. View Slide

  22. 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

    View Slide

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

    View Slide

  24. 4
    E
    storage
    the limitations
    of

    View Slide

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

    View Slide

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

    View Slide

  27. 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

    View Slide

  28. 5
    E
    web scale
    we’ve got to be

    View Slide

  29. web scale
    cloud scale
    what does that
    even mean?

    View Slide

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

    View Slide

  31. choice of technology
    is not
    a function of fashion

    View Slide

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

    View Slide

  33. 6
    E
    go daddy
    goes down

    View Slide

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

    View Slide

  35. have a simple back up plan
    Use more
    than one domain

    View Slide

  36. 7
    E
    slow
    our app is

    View Slide

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

    View Slide

  38. Just scale Up
    not optimised
    performance
    for node

    View Slide

  39. Just scale out
    not optimised
    for cost

    View Slide

  40. Bo leneck cost
    performance tuning is important

    View Slide

  41. 8
    E
    chaos monkey

    View Slide

  42. 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

    View Slide

  43. 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

    View Slide

  44. a ept that
    It will fail
    and plan fo it

    View Slide

  45. simulate chao
    get that monkey working for you

    View Slide

  46. 9
    E
    you have lupus

    View Slide

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

    View Slide

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

    View Slide

  49. centrally
    store logs

    View Slide

  50. user activity
    correlate
    be able to

    View Slide

  51. diagnostics
    n d t be a
    first class concern

    View Slide

  52. 10
    E
    you are going to fail

    View Slide

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

    View Slide

  54. change
    i coming

    View Slide

  55. your designs responsibly
    to adapt
    be prepared

    View Slide

  56. 10
    E
    phew
    thats it

    View Slide

  57. for listening
    thanks
    @ammeep

    View Slide