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.

42d9867a0fee0fa6de6534e9df0f1e9b?s=128

Mark Hibberd

May 04, 2016
Tweet

Transcript

  1. G PRICE AWARE ARCHITECTURE

  2. “We are in the business of turning technical debt into

    monetary debt” - Old Ambiata Proverb
  3. WHAT IS THE EFFORT TO BUILD?

  4. WHAT IS THE COST TO OPERATE?

  5. HOW CAN OUR SOFTWARE ADAPT TO COST?

  6. Clouds

  7. on demand

  8. None
  9. None
  10. peak load

  11. peak load

  12. savings peak load

  13. None
  14. None
  15. None
  16. excess capacity

  17. savings peak load

  18. decision time

  19. variable capability

  20. None
  21. None
  22. None
  23. None
  24. variable abstraction

  25. None
  26. None
  27. None
  28. None
  29. excess capacity markets

  30. variable price

  31. None
  32. None
  33. variable availability

  34. None
  35. None
  36. predictable capacity markets

  37. None
  38. predictable

  39. None
  40. None
  41. None
  42. transparent costs

  43. None
  44. None
  45. ONE Know your Business

  46. “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
  47. None
  48. None
  49. None
  50. None
  51. None
  52. None
  53. $ $

  54. $

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

  56. budget & constraints

  57. price-aware backplane

  58. TWO Know your Bill

  59. None
  60. None
  61. None
  62. None
  63. None
  64. None
  65. None
  66. None
  67. None
  68. None
  69. None
  70. None
  71. billing

  72. THREE Embracing Failure

  73. None
  74. None
  75. None
  76. None
  77. None
  78. “Do not go gentle into that good night” - Dylan

    Thomas
  79. [reliable, distributed systems talk]

  80. None
  81. If we can achieve reliable data, disposable computation comes easy

  82. reliable data

  83. lots of reliable data solutions

  84. provide an atomic unit

  85. easily addressable and discoverable

  86. disposable computation

  87. stateless

  88. None
  89. None
  90. manage as batches

  91. manage as commits

  92. manage as transactions

  93. manage as batches

  94. batches are atomic

  95. no state held between batches

  96. independent

  97. independent

  98. restart at any batch point

  99. crash and burn

  100. clean restart

  101. batch size matters

  102. None
  103. services not servers

  104. None
  105. None
  106. None
  107. None
  108. None
  109. None
  110. None
  111. respond to change

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

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

  114. /etc/acpi/events/

  115. reliable storage

  116. disposable services

  117. services backplane

  118. failure i/o

  119. FOUR Leverage Resilience

  120. savings

  121. peak spend

  122. over-priced

  123. under- priced

  124. None
  125. excess capacity

  126. savings

  127. IT ALL COMES BACK TO SHIFTING COSTS

  128. know what can be delayed

  129. know what can be skipped

  130. know what can be retried

  131. sla

  132. None
  133. price-aware deployment and scheduling

  134. None
  135. budget & constraints

  136. billing

  137. sla

  138. failure i/o

  139. services backplane

  140. None
  141. None
  142. None
  143. None
  144. None
  145. None
  146. the game of price

  147. None
  148. intelligent co-ordination

  149. FIVE Operational Simplicity

  150. how much for new feature?

  151. how much for new software?

  152. how much for new environment?

  153. how much for new location?

  154. how much for new product?

  155. flexibility and automation are core

  156. but…

  157. moving parts are costly

  158. parts vs moving parts

  159. split batch and online systems

  160. split reliable and smart systems

  161. HOW CAN OUR SOFTWARE ADAPT TO COST?

  162. None
  163. budget & constraints

  164. price-aware backplane

  165. billing

  166. reliable storage

  167. disposable services

  168. services backplane

  169. sla

  170. intelligent co-ordination

  171. None
  172. G PRICE AWARE ARCHITECTURE