Agile Infrastructure - Agile 2009

13,927 views
11,419 views

Published on

Storage, network and computational resources are becoming API driven. Configuration management tools provide another level of automation and semantics to the systems. As these tools evolve the exercise of building systems looks more and more like software development. Further, when developing web applications, the application is the infrastructure. If the servers are down, there is no application. The value of the application is tied to the systems. Treating the systems and application holistically, encouraging communication and collaboration between dev and ops is the path to true artisanal retro-futurism ⊗ team-scale anarcho-syndicalism.

Published in: Technology, Business

Agile Infrastructure - Agile 2009

  1. AGILE INFRASTRUCTURE ANDREW SHAFER - PAUL NASRAT
  2. ANDREW CLAY SHAFER
  3. ANDREW CLAY SHAFER DEVELOPER, ONCE UPON A TIME
  4. ANDREW CLAY SHAFER DEVELOPER, ONCE UPON A TIME CO-FOUNDER REDUCTIVE LABS INC.
  5. ANDREW CLAY SHAFER DEVELOPER, ONCE UPON A TIME CO-FOUNDER REDUCTIVE LABS INC. ALL AROUND TROUBLE MAKER
  6. ANDREW CLAY SHAFER DEVELOPER, ONCE UPON A TIME CO-FOUNDER REDUCTIVE LABS INC. ALL AROUND TROUBLE MAKER THE REST IS COMPLICATED...
  7. AGILE INFLUENCES Alistair Cockburn Brian Marick Israel Gat Zhon Johansen Kay Johansen Salt Lake Agile Roundtable
  8. INFRASTRUCTURE INFLUENCES Luke Kanies Teyo Tyree James Turnbull Paul Lathrop John Alspaw Adam Jacob Puppet Community
  9. PAUL NASRAT
  10. PAUL NASRAT GUARDIAN OPERATIONS LEAD
  11. PAUL NASRAT GUARDIAN OPERATIONS LEAD THOUGHTWORKER
  12. PAUL NASRAT GUARDIAN OPERATIONS LEAD THOUGHTWORKER XTREME TUESDAY CLUB
  13. PAUL NASRAT GUARDIAN OPERATIONS LEAD THOUGHTWORKER XTREME TUESDAY CLUB INFRASTRUCTURE DEVELOPER
  14. WHY DOES IT MATTER?
  15. WHY DOES IT MATTER? WEB APPLICATIONS ARE THE INFRASTRUCTURE
  16. WHY DOES IT MATTER? WEB APPLICATIONS ARE THE INFRASTRUCTURE OPERATIONS IS THE SPECIAL SAUCE
  17. DISCLAIMERS
  18. DISCLAIMERS WEB OPERATIONS BIAS
  19. DISCLAIMERS WEB OPERATIONS BIAS *NIX BIAS
  20. DISCLAIMERS WEB OPERATIONS BIAS *NIX BIAS OPEN SOURCE BIAS
  21. DAY BREAK
  22. DAY BREAK APPLIED PRINCIPLES
  23. DAY BREAK APPLIED PRINCIPLES ENABLE CHANGE
  24. DAY BREAK APPLIED PRINCIPLES ENABLE CHANGE ENABLE COMMUNICATION
  25. DAY BREAK APPLIED PRINCIPLES ENABLE CHANGE ENABLE COMMUNICATION ENABLE FEEDBACK
  26. DAY BREAK APPLIED PRINCIPLES ENABLE CHANGE ENABLE COMMUNICATION ENABLE FEEDBACK ENABLE CHOICES
  27. YOU ARE A SPECIAL SNOWFLAKE
  28. JUST LIKE EVERYBODY EVERYTHING THE SAME, EVERYTHING DISTINCT
  29. PROBLEMS
  30. CONFIGURATION DRIFT
  31. CHANGE CAUSES OUTAGES INTERNAL AND EXTERNAL
  32. DEVELOPERS OPERATIONS
  33. DEVELOPERS OPERATIONS
  34. DEVELOPERS OPERATIONS
  35. DEVELOPERS OPERATIONS
  36. DEVELOPERS OPERATIONS
  37. HERO CULTURE RUNNING ON ADRENALINE REACTIVE FIREFIGHTING PURELY TACTICAL CONTRIBUTES TO CONFIG DRIFT
  38. DON’T NEED ANOTHER HERO...
  39. NON-FUNCTIONAL REQUIREMENTS
  40. DIFFERENT ENVIRONMENTS
  41. THE MYSTERY MACHINE THE ONE IN THE CORNER THAN EVERYONE IS AFRAID TO TURN OFF, BUT NO ONE KNOWS WHY IT IS ON.
  42. DONE, DONE, DONE DONE IS DEPLOYED
  43. INFRASTRUCTURE IS CODE
  44. INFRASTRUCTURE IS CODE API DRIVEN ABSTRACTIONS
  45. INFRASTRUCTURE IS CODE API DRIVEN ABSTRACTIONS THE INFRASTRUCTURE IS AN APPLICATION
  46. WHAT IS AGILE?
  47. WHAT IS AGILE? PLANNING
  48. WHAT IS AGILE? PLANNING ENGINEERING
  49. WHAT IS AGILE? PLANNING ENGINEERING DEVELOPERS
  50. WHAT IS AGILE? PLANNING ENGINEERING DEVELOPERS PRODUCT OWNERS
  51. WHAT IS AGILE? PLANNING ENGINEERING DEVELOPERS PRODUCT OWNERS TESTERS
  52. WHAT IS AGILE? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS PRODUCT OWNERS TESTERS
  53. WHAT IS AGILE? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS EXECUTIVES PRODUCT OWNERS TESTERS
  54. WHAT IS AGILE? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS EXECUTIVES SYSTEM ADMINISTRATORS PRODUCT OWNERS TESTERS
  55. WHAT IS AGILE? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS EXECUTIVES SYSTEM ADMINISTRATORS PRODUCT OWNERS DATABASE ADMINISTRATORS TESTERS
  56. WHAT IS AGILE? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS EXECUTIVES SYSTEM ADMINISTRATORS PRODUCT OWNERS DATABASE ADMINISTRATORS NETWORK ENGINEERS TESTERS
  57. WHAT IS AGILE? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS EXECUTIVES SYSTEM ADMINISTRATORS PRODUCT OWNERS DATABASE ADMINISTRATORS NETWORK ENGINEERS TESTERS DESIGNERS
  58. WHAT IS AGILE? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS EXECUTIVES SYSTEM ADMINISTRATORS PRODUCT OWNERS DATABASE ADMINISTRATORS NETWORK ENGINEERS TESTERS DESIGNERS USABILITY EXPERTS
  59. WHAT IS AGILE? PLANNING ENGINEERING CIRCLE OF HAPPINESS DEVELOPERS EXECUTIVES SYSTEM ADMINISTRATORS PRODUCT OWNERS DATABASE ADMINISTRATORS NETWORK ENGINEERS TESTERS DESIGNERS USABILITY EXPERTS
  60. AGILE INFRASTRUCTURE
  61. AGILE INFRASTRUCTURE INFRASTRUCTURE IS CODE: APPLY THE LESSONS LEARNED FROM SOFTWARE DEVELOPMENT
  62. AGILE INFRASTRUCTURE INFRASTRUCTURE IS CODE: APPLY THE LESSONS LEARNED FROM SOFTWARE DEVELOPMENT LEVERAGE THE INFRASTRUCTURE RENAISSANCE TO BUILD MORE FLEXIBLE SYSTEMS AND FASTER FEEDBACK
  63. AGILE INFRASTRUCTURE INFRASTRUCTURE IS CODE: APPLY THE LESSONS LEARNED FROM SOFTWARE DEVELOPMENT LEVERAGE THE INFRASTRUCTURE RENAISSANCE TO BUILD MORE FLEXIBLE SYSTEMS AND FASTER FEEDBACK TAKE ADVANTAGE OF MORE PERSONAS AND IDEAS TO DELIVER VALUE STREAM
  64. TECHNIQUES
  65. VERSION CONTROL
  66. VERSION
  67. VERSION NETWORK CONFIGURATIONS
  68. VERSION NETWORK CONFIGURATIONS SYSTEM CONFIGURATIONS
  69. VERSION NETWORK CONFIGURATIONS SYSTEM CONFIGURATIONS APPLICATIONS CONFIGURATIONS
  70. VERSION NETWORK CONFIGURATIONS SYSTEM CONFIGURATIONS APPLICATIONS CONFIGURATIONS APPLICATION CODE
  71. VERSION NETWORK CONFIGURATIONS SYSTEM CONFIGURATIONS APPLICATIONS CONFIGURATIONS APPLICATION CODE DATABASE SCHEMA
  72. VERSION NETWORK CONFIGURATIONS SYSTEM CONFIGURATIONS APPLICATIONS CONFIGURATIONS APPLICATION CODE DATABASE SCHEMA DOCUMENTATION
  73. VERSION NETWORK CONFIGURATIONS SYSTEM CONFIGURATIONS APPLICATIONS CONFIGURATIONS APPLICATION CODE DATABASE SCHEMA DOCUMENTATION ANYTHING THAT MATTERS
  74. VERSION EVERYTHING
  75. VERSION EVERYTHING SERIOUSLY...
  76. VERSION EVERYTHING SERIOUSLY... EVERYTHING
  77. VERSION EVERYTHING SERIOUSLY... EVERYTHING THE TOOL DOESN’T MATTER (BUT YOU SHOULD USE GIT)
  78. CONFIGURATION MANAGEMENT
  79. CONFIGURATION MANAGEMENT
  80. CONFIGURATION MANAGEMENT PUT SYSTEMS INTO A KNOWN STATE
  81. CONFIGURATION MANAGEMENT PUT SYSTEMS INTO A KNOWN STATE AUDIT AND ENFORCE CONSISTENCY
  82. CONFIGURATION MANAGEMENT PUT SYSTEMS INTO A KNOWN STATE AUDIT AND ENFORCE CONSISTENCY MANAGE SERVER LIFECYCLE
  83. CONFIGURATION MANAGEMENT PUT SYSTEMS INTO A KNOWN STATE AUDIT AND ENFORCE CONSISTENCY MANAGE SERVER LIFECYCLE REASON ABOUT SERVICES, INSTEAD OF SYSTEMS
  84. CONFIGURATION MANAGEMENT PUT SYSTEMS INTO A KNOWN STATE AUDIT AND ENFORCE CONSISTENCY MANAGE SERVER LIFECYCLE REASON ABOUT SERVICES, INSTEAD OF SYSTEMS APPLY DEV-TEST-PROD CYCLE TO INFRASTRUCTURE
  85. CONFIGURATION MANAGEMENT ISCONF CHEF RADMIND
  86. BUILD FROM SOURCE BARE METAL TO RUNNING SERVICES
  87. BUILD FROM SOURCE
  88. BUILD FROM SOURCE AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES
  89. BUILD FROM SOURCE AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD)
  90. BUILD FROM SOURCE AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD) DEV, TEST AND PROD NOT OUT OF SYNC
  91. BUILD FROM SOURCE AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD) DEV, TEST AND PROD NOT OUT OF SYNC TEST FROM A KNOWN STATE
  92. BUILD FROM SOURCE AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD) DEV, TEST AND PROD NOT OUT OF SYNC TEST FROM A KNOWN STATE SCALING
  93. BUILD FROM SOURCE AUTOMATED PROVISIONING AND DEPLOYMENT OF SERVICES ROLL CONFIG CHANGES FORWARD (DEV-TEST-PROD) DEV, TEST AND PROD NOT OUT OF SYNC TEST FROM A KNOWN STATE SCALING DISASTER RECOVERY
  94. ONE STEP DEPLOY
  95. ONE STEP DEPLOY ONE AUTOMATED PROCESS FROM VERSION CONTROL TO LIVE SERVICES.
  96. ONE STEP DEPLOY ONE AUTOMATED PROCESS FROM VERSION CONTROL TO LIVE SERVICES. COMPUTERS ARE REALLY GOOD AT RUNNING THE SAME COMMANDS OVER AND OVER.
  97. ONE STEP DEPLOY ONE AUTOMATED PROCESS FROM VERSION CONTROL TO LIVE SERVICES. COMPUTERS ARE REALLY GOOD AT RUNNING THE SAME COMMANDS OVER AND OVER. LOWER THE FIXED COST OF DEPLOY.
  98. MONITORING
  99. MONITORING WHAT DOES 'NORMAL' LOOKS LIKE?
  100. MONITORING WHAT DOES 'NORMAL' LOOKS LIKE? DON’T JUST LOOK AT THE DATA WHEN THINGS ARE BAD
  101. MONITORING WHAT DOES 'NORMAL' LOOKS LIKE? DON’T JUST LOOK AT THE DATA WHEN THINGS ARE BAD NEED BASELINE, CHART, TRENDS
  102. CONTINUOUS INTEGRATION
  103. CONTINUOUS INTEGRATION TEST NEW BUILDS
  104. CONTINUOUS INTEGRATION TEST NEW BUILDS ASSERT SERVICES ARE RUNNING
  105. CONTINUOUS INTEGRATION TEST NEW BUILDS ASSERT SERVICES ARE RUNNING RUN FUNCTIONAL TESTS
  106. DEPLOY EARLY AND OFTEN
  107. TAG EVERYTHING - WHO? WHAT? WHEN?
  108. SYNCHRONIZATION GET ALL MACHINES SYNC’D
  109. CORRELATE VISUALIZE ON THE SAME TIMELINE TAGGED WITH WHO? WHAT? WHEN?
  110. INFORMATION RADIATORS SHARE METRICS DEV AND OPS SEE THE SAME THING, IN THE SAME PLACE
  111. SHARE THE REPOSITORY
  112. SHARE THE REPOSITORY KEEP CONFIGS IN SYNC WITH APPLICATION CODE
  113. SHARE THE REPOSITORY KEEP CONFIGS IN SYNC WITH APPLICATION CODE EVERYONE KNOWS WHERE TO LOOK
  114. SHARE THE REPOSITORY KEEP CONFIGS IN SYNC WITH APPLICATION CODE EVERYONE KNOWS WHERE TO LOOK EVERYONE SEES EVERYONE ELSE WORKING
  115. SHARE THE REPOSITORY KEEP CONFIGS IN SYNC WITH APPLICATION CODE EVERYONE KNOWS WHERE TO LOOK EVERYONE SEES EVERYONE ELSE WORKING MINIMIZE SURPRISE
  116. SHARE THE REPOSITORY KEEP CONFIGS IN SYNC WITH APPLICATION CODE EVERYONE KNOWS WHERE TO LOOK EVERYONE SEES EVERYONE ELSE WORKING MINIMIZE SURPRISE BOUNDARY OBJECT
  117. ALWAYS SHIP TRUNK EVERYONE ALWAYS KNOWS WHICH BRANCH IS LIVE
  118. BRANCH FEATURES IN APPLICATION CODE
  119. DARK LAUNCH
  120. DECOUPLE SERVICES ISOLATE THINGS THAT CHANGE FREQUENTLY FROM THINGS THAT DON'T
  121. CACHING DON'T GENERATE THE SAME CONTENT TWICE (DRY COMPUTATION)
  122. FAIL HAPPENS
  123. FAIL HAPPENS
  124. FAIL HAPPENS CAN YOU AFFORD TO BE DOWN?
  125. FAIL HAPPENS CAN YOU AFFORD TO BE DOWN? HOW LONG?
  126. FAIL HAPPENS CAN YOU AFFORD TO BE DOWN? HOW LONG? HOW FAST CAN YOU BE BACK UP?
  127. FAIL HAPPENS CAN YOU AFFORD TO BE DOWN? HOW LONG? HOW FAST CAN YOU BE BACK UP? TRY NOT TO CAUSE IT
  128. FAIL SAFE PRACTICE MAKES PERFECT
  129. OUT THE WINDOW
  130. FIRE DRILLS
  131. WORKING EFFECTIVELY WITH LEGACY SYSTEMS
  132. CULTURE THERE IS ONLY US
  133. LEARNING AND RESPECT CULTIVATION CULTURE
  134. WORK TOGETHER
  135. WORK TOGETHER DEVS NEED TO UNDERSTAND THE INFRASTRUCTURE
  136. WORK TOGETHER DEVS NEED TO UNDERSTAND THE INFRASTRUCTURE OPS NEED TO UNDERSTAND THE APPLICATION
  137. WORK TOGETHER DEVS NEED TO UNDERSTAND THE INFRASTRUCTURE OPS NEED TO UNDERSTAND THE APPLICATION EVERYONE HAS SOMETHING TO CONTRIBUTE
  138. PLANNING FOR FIRES IS HARD
  139. PLANNING FOR FIRES IS HARD DEAR DIARY,
  140. PLANNING FOR FIRES IS HARD DEAR DIARY, TODAY I WAS ON FIRE FOR 12 HOURS...
  141. PLANNING FOR FIRES IS HARD DEAR DIARY, TODAY I WAS ON FIRE FOR 12 HOURS... IT WASN’T AS PLEASANT AS IT SOUNDS.
  142. PLANNING FOR FIRES IS HARD DEAR DIARY, TODAY I WAS ON FIRE FOR 12 HOURS... IT WASN’T AS PLEASANT AS IT SOUNDS. --EBEN BRINSON SMITH III
  143. MANAGE FLOW THE BEST WAY TO FIGHT FIRES IS NEVER LET THEM GET STARTED
  144. SHARED METAPHORS
  145. CONCLUSIONS
  146. CONCLUSIONS LEARN FROM EVERYONE YOU CAN
  147. CONCLUSIONS LEARN FROM EVERYONE YOU CAN NEW TOOLS AND IDEAS WON'T SOLVE ALL THE PROBLEMS... BUT THEY CAN SOLVE A LOT.
  148. CONCLUSIONS LEARN FROM EVERYONE YOU CAN NEW TOOLS AND IDEAS WON'T SOLVE ALL THE PROBLEMS... BUT THEY CAN SOLVE A LOT. THE SOLUTIONS TO SOME PROBLEMS REQUIRES SOCIAL ENGINEERING AS MUCH AS TECHNICAL
  149. CONCLUSIONS LEARN FROM EVERYONE YOU CAN NEW TOOLS AND IDEAS WON'T SOLVE ALL THE PROBLEMS... BUT THEY CAN SOLVE A LOT. THE SOLUTIONS TO SOME PROBLEMS REQUIRES SOCIAL ENGINEERING AS MUCH AS TECHNICAL EVERYONE’S JOB IS TO ENABLE BUSINESS VALUE
  150. CONCLUSIONS LEARN FROM EVERYONE YOU CAN NEW TOOLS AND IDEAS WON'T SOLVE ALL THE PROBLEMS... BUT THEY CAN SOLVE A LOT. THE SOLUTIONS TO SOME PROBLEMS REQUIRES SOCIAL ENGINEERING AS MUCH AS TECHNICAL EVERYONE’S JOB IS TO ENABLE BUSINESS VALUE THERE IS ONLY US
  151. WE ARE UNCOVERING BETTER WAYS OF DEVELOPING SOFTWARE BY DOING IT AND HELPING OTHERS DO IT.
  152. WE ARE UNCOVERING BETTER WAYS OF DEVELOPING SOFTWARE BY DOING IT AND HELPING OTHERS DO IT.
  153. DELIVERING WE ARE UNCOVERING BETTER WAYS OF DEVELOPING SOFTWARE BY DOING IT AND HELPING OTHERS DO IT.
  154. KEEP UNCOVERING KEEP HELPING PEOPLE
  155. RESOURCES AGILE SYSADMIN GROUP HTTP://GROUPS.GOOGLE.COM/GROUP/AGILE-SYSTEM-ADMINISTRATION/ PUPPET USERS HTTP://GROUPS.GOOGLE.COM/GROUP/PUPPET-USERS/ VELOCITY CONF HTTP://EN.OREILLY.COM/VELOCITY2009 PATRICK DEBOIS HTTP://WWW.DEVOPSDAYS.ORG/ JOHN ALLSPAW AND PAUL HAMMOND HTTP://BLIP.TV/FILE/2284377
  156. QUESTIONS? ANDREW@REDUCTIVELABS.COM PAUL.NASRAT@GUARDIAN.CO.UK

×