Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Price Aware Architecture

Price Aware Architecture

Turning Technical Debt into Monetary Debt: Price Aware Architecture

How much does your software cost to operate?

Software design and implementation has an uneasy relationship with
cost. As software developers, we often dwell on the cost of building
software, but far less so on the cost to operate. The current
zeitgeist of pay-as-you-go infrastructure makes this particularly
apparent where rigid, hard to deploy and adapt software directly
equates to larger bills. If we want to take control of operational
cost, it is critical that we start to make operational cost a
first-class constraint in the design and architecture of modern
software.

In this talk we will work through the idea of price-aware
architectures, answering: what are the properties of a price-aware
architecture? what happens when we design our systems in a way that
can leverage variable price and availability of infrastructure? and
finally, how do we implement such systems?

The talk was presented at YOW! West, May 2016.

Mark Hibberd

May 04, 2016
Tweet

More Decks by Mark Hibberd

Other Decks in Programming

Transcript

  1. G PRICE
    AWARE
    ARCHITECTURE

    View full-size slide

  2. “We are in the business of
    turning technical debt into
    monetary debt”
    - Old Ambiata Proverb

    View full-size slide

  3. WHAT IS THE EFFORT TO
    BUILD?

    View full-size slide

  4. WHAT IS THE COST TO
    OPERATE?

    View full-size slide

  5. HOW CAN OUR SOFTWARE ADAPT TO
    COST?

    View full-size slide

  6. savings
    peak load

    View full-size slide

  7. excess capacity

    View full-size slide

  8. savings
    peak load

    View full-size slide

  9. decision time

    View full-size slide

  10. variable capability

    View full-size slide

  11. variable abstraction

    View full-size slide

  12. excess capacity markets

    View full-size slide

  13. variable price

    View full-size slide

  14. variable availability

    View full-size slide

  15. predictable capacity markets

    View full-size slide

  16. transparent costs

    View full-size slide

  17. ONE
    Know your Business

    View full-size slide

  18. “find the dimension you are
    going to make money over and
    then make sure that the
    architecture follows the money”
    - Werner Vogels - 21st-Century-Architectures

    View full-size slide

  19. IF IT COSTS MORE, DO YOU MAKE MORE
    MONEY?

    View full-size slide

  20. budget & constraints

    View full-size slide

  21. price-aware backplane

    View full-size slide

  22. TWO
    Know your Bill

    View full-size slide

  23. THREE
    Embracing Failure

    View full-size slide

  24. “Do not go gentle into that good night”
    - Dylan Thomas

    View full-size slide

  25. [reliable, distributed systems talk]

    View full-size slide

  26. If we can achieve reliable data,
    disposable computation comes easy

    View full-size slide

  27. reliable data

    View full-size slide

  28. lots of reliable data solutions

    View full-size slide

  29. provide an atomic unit

    View full-size slide

  30. easily addressable and discoverable

    View full-size slide

  31. disposable computation

    View full-size slide

  32. manage as batches

    View full-size slide

  33. manage as commits

    View full-size slide

  34. manage as transactions

    View full-size slide

  35. manage as batches

    View full-size slide

  36. batches are atomic

    View full-size slide

  37. no state held between batches

    View full-size slide

  38. restart at any batch point

    View full-size slide

  39. crash and burn

    View full-size slide

  40. clean restart

    View full-size slide

  41. batch size matters

    View full-size slide

  42. services not servers

    View full-size slide

  43. respond to change

    View full-size slide

  44. curl http://169.254.169.254/latest/meta-data/spot/termination-time

    View full-size slide

  45. gcloud compute instances create example-instance \
    --metadata-from-file \
    shutdown-script=examples/scripts/install.sh

    View full-size slide

  46. /etc/acpi/events/

    View full-size slide

  47. reliable storage

    View full-size slide

  48. disposable services

    View full-size slide

  49. services backplane

    View full-size slide

  50. FOUR
    Leverage Resilience

    View full-size slide

  51. under-
    priced

    View full-size slide

  52. excess capacity

    View full-size slide

  53. IT ALL COMES BACK TO SHIFTING
    COSTS

    View full-size slide

  54. know what can be delayed

    View full-size slide

  55. know what can be skipped

    View full-size slide

  56. know what can be retried

    View full-size slide

  57. price-aware deployment and scheduling

    View full-size slide

  58. budget & constraints

    View full-size slide

  59. services backplane

    View full-size slide

  60. the game of price

    View full-size slide

  61. intelligent
    co-ordination

    View full-size slide

  62. FIVE
    Operational Simplicity

    View full-size slide

  63. how much for new feature?

    View full-size slide

  64. how much for new software?

    View full-size slide

  65. how much for new environment?

    View full-size slide

  66. how much for new location?

    View full-size slide

  67. how much for new product?

    View full-size slide

  68. flexibility and automation are core

    View full-size slide

  69. moving parts are costly

    View full-size slide

  70. parts vs moving parts

    View full-size slide

  71. split batch and online systems

    View full-size slide

  72. split reliable and smart systems

    View full-size slide

  73. HOW CAN OUR SOFTWARE ADAPT TO
    COST?

    View full-size slide

  74. budget & constraints

    View full-size slide

  75. price-aware backplane

    View full-size slide

  76. reliable storage

    View full-size slide

  77. disposable services

    View full-size slide

  78. services backplane

    View full-size slide

  79. intelligent
    co-ordination

    View full-size slide

  80. G PRICE
    AWARE
    ARCHITECTURE

    View full-size slide