Serving for the win - deployments and infrastructure for the rest of us

Serving for the win - deployments and infrastructure for the rest of us

You’ve chosen your frameworks and libraries. You’ve learned how to write code which satisfies the buzzword and performance gods. Now you need to serve it to a global audience, and make things easy to preview, to test, to sign-off, and to evolve. But infrastructure design is difficult and boring for most of us. We just want to get our work out into the wild.

If only we had tools which would make us go, “Oh yeah! It all deploys perfectly every time” and shout, “You need another release? BAM! What’s next?

This talk looks at some case studies of projects making common mistakes, and some which benefit from a better approach. We’ll explore tools and techniques which ease the path to production. Things anyone can do to boost confidence in every release. And ways to optimise our hosting for performance, hassle free localisation and genuine A/B testing.

465724d73fe3a92c0879fdfb43a3a6f3?s=128

Phil Hawksworth

March 23, 2018
Tweet

Transcript

  1. SERVING FOR THE WIN DEPLOYMENTS AND HOSTING FOR THE REST

    OF US PHIL HAWKSWORTH
  2. Serving for the win Render Conference, 2018 @philhawksworth netlify HELLO

  3. netlify Serving for the win Render Conference, 2018 @philhawksworth SOCK

    FETISH CONF OXFORD 2018
  4. Serving for the win Render Conference, 2018 @philhawksworth netlify PHIL

    HAWKSWORTH @
  5. Serving for the win Render Conference, 2018 @philhawksworth netlify MAKING

    THINGS
  6. Serving for the win Render Conference, 2018 @philhawksworth netlify

  7. Serving for the win Render Conference, 2018 @philhawksworth netlify

  8. Serving for the win Render Conference, 2018 @philhawksworth netlify SALES

    PITCH
  9. Serving for the win Render Conference, 2018 @philhawksworth netlify

  10. Serving for the win Render Conference, 2018 @philhawksworth netlify MY

    TRACK RECORD
  11. Serving for the win Render Conference, 2018 @philhawksworth netlify STATIC

    SITES GO ALL HOLLYWOOD 7 7 @PHILHAWKSWORTH FRONTEERS, AMSTERDAM, 2015 ~ I C CAN SMELL YOUR MS
  12. netlify Serving for the win Render Conference, 2018 @philhawksworth SO,

    FOR THIS TALK
  13. Serving for the win Render Conference, 2018 @philhawksworth netlify TIME

    TO JAZZ IT UP
  14. SERVING FOR THE WIN DEPLOYMENTS AND HOSTING FOR THE REST

    OF US PHIL HAWKSWORTH
  15. SERVING FOR THE WIN DEPLOYMENTS AND HOSTING FOR THE REST

    OF US PHIL HAWKSWORTH
  16. SERVING FOR THE WIN DEPLOYMENTS AND HOSTING FOR THE REST

    OF US PHIL HAWKSWORTH
  17. Serving for the win Render Conference, 2018 @philhawksworth netlify EXOTIC

    OR NEW
  18. Serving for the win Render Conference, 2018 @philhawksworth netlify FUNDAMENTALS

  19. Serving for the win Render Conference, 2018 @philhawksworth netlify WE

    LEARN A LOT AT CONFERENCES
  20. Serving for the win Render Conference, 2018 @philhawksworth netlify CAPTIONS

    AREN'T OPTIONAL — Laura
  21. ENVIRONMENT VARIABLE EXFILTRATION 
 WITH NPM — Asim

  22. Serving for the win Render Conference, 2018 @philhawksworth netlify HEEBEEGEEBEES

    the
  23. Serving for the win Render Conference, 2018 @philhawksworth netlify CONFINING

    THESE LEARNINGS TO THEORY IS A WASTE
  24. Serving for the win Render Conference, 2018 @philhawksworth netlify CONFINING

    THESE LEARNINGS TO OUR LOCAL ENVIRONMENTS IS A WASTE
  25. Serving for the win Render Conference, 2018 @philhawksworth netlify LET’S

    MAKE SURE THE GOOD STUFF REACHES YOUR USERS
  26. Serving for the win Render Conference, 2018 @philhawksworth netlify PERFORMANCE?

  27. Serving for the win Render Conference, 2018 @philhawksworth netlify DESIGNING

    FOR PERFORMANCE — Lara Callender Hogan
  28. Serving for the win Render Conference, 2018 @philhawksworth netlify DESIGNING

    INFRASTRUCTURE FOR PERFORMANCE
  29. Serving for the win Render Conference, 2018 @philhawksworth netlify DEPLOYMENTS

    DESIGNING INFRASTRUCTURE FOR PERFORMANCE
  30. Serving for the win Render Conference, 2018 @philhawksworth netlify DEPLOYMENTS

    DESIGNING INFRASTRUCTURE FOR PERFORMANCE PROCESSES
  31. Serving for the win Render Conference, 2018 @philhawksworth netlify DEPLOYMENTS

    DESIGNING INFRASTRUCTURE FOR PERFORMANCE PROCESSES MINDSET
  32. Serving for the win Render Conference, 2018 @philhawksworth netlify MINDSET

  33. Serving for the win Render Conference, 2018 @philhawksworth netlify OH

    GREAT…
 HALF AN HOUR OF SLIDES ABOUT PROCESS ALL OF YOU
  34. Serving for the win Render Conference, 2018 @philhawksworth netlify FOR

    THE NEXT 30 MINUTES OR SO / WHERE DOES IT HURT? / 3 STORIES / MINDSETS AND RESOURCES
  35. Serving for the win Render Conference, 2018 @philhawksworth netlify FOR

    THE NEXT 30 MINUTES OR SO / WHERE DOES IT HURT? / 3 STORIES / MINDSETS AND RESOURCES
  36. netlify Serving for the win Render Conference, 2018 @philhawksworth WHERE

    DOES IT HURT?
  37. Serving for the win Render Conference, 2018 @philhawksworth netlify CLIENTS

    / DEADLINES / COMPLEXITY PROJECTS USUALLY INVOLVE
  38. Serving for the win Render Conference, 2018 @philhawksworth netlify SLEEPLESS

    NIGHTS
  39. Serving for the win Render Conference, 2018 @philhawksworth netlify THE

    PERFECT PROJECT TIMELINE BRIEF AWARDS LAUNCH START SCOPE 
 RE-SCOPE CLIENT
 REVIEW FINAL 
 SIGN OFF FIXES “ ” " :lemon:
  40. netlify Serving for the win Render Conference, 2018 @philhawksworth LAUNCH

    DAY
  41. Serving for the win Render Conference, 2018 @philhawksworth netlify PROJECTS

    CAN BE HARD NEWSFLASH
  42. Serving for the win Render Conference, 2018 @philhawksworth netlify LEARNING

    PROJECTS USUALLY INVOLVE
  43. Serving for the win Render Conference, 2018 @philhawksworth netlify CHANGE

    PROJECTS USUALLY INVOLVE
  44. Serving for the win Render Conference, 2018 @philhawksworth netlify INFRASTRUCTURE

  45. Serving for the win Render Conference, 2018 @philhawksworth netlify OUR

    EVOLVING APPROACH TO INFRASTRUCTURE ON SITE HARDWARE SOME RACK SPACE VIRTUAL SERVER SOFTWARE
 AAS FUNCTIONS
 AAS (not Rackspace) (perhaps Rackspace)
  46. Serving for the win Render Conference, 2018 @philhawksworth netlify NEW

    DEPLOYMENT CONVENTIONS
  47. Serving for the win Render Conference, 2018 @philhawksworth netlify APPROACH

  48. Serving for the win Render Conference, 2018 @philhawksworth netlify MANAGING

    CHANGE MANAGING THE UNKNOWABLE THIS IS WHERE IT HURTS
  49. Serving for the win Render Conference, 2018 @philhawksworth netlify AT

    CRUNCH TIME, AS THE PRESSURE MOUNTS THIS IS WHERE IT HURTS
  50. Serving for the win Render Conference, 2018 @philhawksworth netlify WHEN

    THE PLAN GOES IN THE TRASH THIS IS WHERE IT HURTS
  51. Serving for the win Render Conference, 2018 @philhawksworth netlify CAN

    WE PLAN FOR THE PLAN GOING IN THE TRASH?
  52. Serving for the win Render Conference, 2018 @philhawksworth netlify FOR

    THE NEXT 30 MINUTES OR SO / WHERE DOES IT HURT? / 3 STORIES / MINDSETS AND RESOURCES
  53. netlify Serving for the win Render Conference, 2018 @philhawksworth DEPLOYING

    ON MY FIRST DAY Story one
  54. Serving for the win Render Conference, 2018 @philhawksworth netlify A

    LARGE NATION-WIDE HEALTHCARE SITE
  55. Serving for the win Render Conference, 2018 @philhawksworth netlify ONE

    TO NOT F**K UP
  56. Serving for the win Render Conference, 2018 @philhawksworth netlify IT

    SHOULD HAVE GONE LIVE ON FRIDAY MY NEW BOSS
  57. Serving for the win Render Conference, 2018 @philhawksworth netlify #

  58. Serving for the win Render Conference, 2018 @philhawksworth netlify CAN

    YOU HELP THE TEAM FIGURE OUT THE DEPLOYMENT? MY NEW BOSS
  59. Serving for the win Render Conference, 2018 @philhawksworth netlify THE

    PERFECT PROJECT TIMELINE BRIEF AWARDS LAUNCH START SCOPE 
 RE-SCOPE CLIENT
 REVIEW FINAL 
 SIGN OFF FIXES “ ” " “FIGURE OUT” DEPLOYMENT
  60. Serving for the win Render Conference, 2018 @philhawksworth netlify THE

    DEPLOYMENT
  61. Serving for the win Render Conference, 2018 @philhawksworth netlify STAGING

    BOB ALICE PROD
  62. Serving for the win Render Conference, 2018 @philhawksworth netlify FFFFFFFFFTP

  63. Serving for the win Render Conference, 2018 @philhawksworth netlify UNKNOWABLE

    STATE
  64. Serving for the win Render Conference, 2018 @philhawksworth netlify UNREPEATABLE

    PROCESS
  65. Serving for the win Render Conference, 2018 @philhawksworth netlify DID

    IT GO LIVE? YES, IT DID WAS IT CORRECT? YES. PROBABLY. HONESTLY, I DON’T THINK WE CAN EVERY REALLY KNOW
  66. Serving for the win Render Conference, 2018 @philhawksworth netlify HOW

    DID THE NEXT DEPLOYMENT GO? I’M NOT READY TO TALK ABOUT THAT DO YOU NEED A HUG? YES. YES I DO
  67. Serving for the win Render Conference, 2018 @philhawksworth netlify VERSION

    CONTROL SHOULD EXTEND TO YOUR DEPLOYMENTS Lessons HUMAN INTERVENTION IN DEPLOYMENTS IS UNDESIRABLE ATOMIC DEPLOYS ARE PREFERABLE TO PIECEMEAL DEPLOYS
  68. netlify Serving for the win Render Conference, 2018 @philhawksworth SEARCHING

    FOR SYRIA Story two
  69. netlify Serving for the win Render Conference, 2018 @philhawksworth

  70. Serving for the win Render Conference, 2018 @philhawksworth netlify PLENTY

    OF CHANGE
  71. Serving for the win Render Conference, 2018 @philhawksworth netlify SIGNIFICANT

    POLITICAL SENSITIVITY
  72. Serving for the win Render Conference, 2018 @philhawksworth netlify GREATER

    STAKEHOLDER DIVERSITY
  73. Serving for the win Render Conference, 2018 @philhawksworth netlify A

    GLOBAL LAUNCH
  74. Serving for the win Render Conference, 2018 @philhawksworth netlify ONE

    TO NOT F**K UP
  75. netlify Serving for the win Render Conference, 2018 @philhawksworth

  76. Serving for the win Render Conference, 2018 @philhawksworth netlify ONE

    TO NOT F**K UP DEFINITELY
  77. “FIGURE OUT” DEPLOYMENT Serving for the win Render Conference, 2018

    @philhawksworth netlify THE PERFECT PROJECT TIMELINE BRIEF AWARDS LAUNCH START SCOPE 
 RE-SCOPE CLIENT
 REVIEW FINAL 
 SIGN OFF FIXES “ ” $
  78. Serving for the win Render Conference, 2018 @philhawksworth netlify AUTOMATE

    AS EARLY AND AS FAST AS YOU CAN BENEDEK GAGYI, RENDER 2018
  79. Serving for the win Render Conference, 2018 @philhawksworth netlify

  80. Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVERIES

  81. Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER

    to QA
  82. Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER

    to PRODUCERS
  83. Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER

    to TRANSLATIONS TEAMS
  84. Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER

    to THE CLIENT
  85. Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER

    to THE CLIENT’S
 BOSSES
  86. Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER

    to THE PUBLIC
  87. netlify Serving for the win Render Conference, 2018 @philhawksworth LET’S

    DELIVER ANY VERSION AT ANY TIME OUR AMBITION
  88. Serving for the win Render Conference, 2018 @philhawksworth netlify VERSION

    CONTROL
  89. Serving for the win Render Conference, 2018 @philhawksworth netlify TAGS

    SHOULD CREATE RESOURCES AT URLS
  90. Serving for the win Render Conference, 2018 @philhawksworth netlify URLS

    FTW
  91. netlify Serving for the win Render Conference, 2018 @philhawksworth AITCH

    TEE TEE PEE
 DOUBLE MEH ALEX SEXTON
  92. Serving for the win Render Conference, 2018 @philhawksworth netlify http

    foobar.com http foobar.com ://
  93. Serving for the win Render Conference, 2018 @philhawksworth netlify TAGS

    SHOULD CREATE RESOURCES AT URLS
  94. Serving for the win Render Conference, 2018 @philhawksworth netlify DEV

    PROD STAGE GIT CI
  95. netlify Serving for the win Render Conference, 2018 @philhawksworth

  96. Serving for the win Render Conference, 2018 @philhawksworth netlify DEV

    PROD STAGE GIT CI
  97. Serving for the win Render Conference, 2018 @philhawksworth netlify DEV

    PROD LIVE GIT CI STAGE STAGE STAGE STAGE STAGE STAGE
  98. Serving for the win Render Conference, 2018 @philhawksworth netlify DEV

    PROD LIVE GIT CI STAGE STAGE STAGE STAGE STAGE STAGE
  99. Serving for the win Render Conference, 2018 @philhawksworth netlify DEMOS

    / DISCUSSIONS TESTS / ISSUES / SIGNOFF ALL HAPPENED AGAINST KNOWN VERSIONS
  100. Serving for the win Render Conference, 2018 @philhawksworth netlify ADDRESSABLE

    AND ACCESSIBLE BUILD VERSIONS ARE A HUGE WIN Lessons DECIDING WHEN AND WHAT TO TAG REQUIRES COORDINATION ATOMIC DEPLOYS TO PROD REMOVE UNCERTAINTY FROM LAUNCH DAY
  101. netlify Serving for the win Render Conference, 2018 @philhawksworth NETLIFY

    BUILDING NETLIFY Story three
  102. netlify Serving for the win Render Conference, 2018 @philhawksworth

  103. Serving for the win Render Conference, 2018 @philhawksworth netlify NETLIFY.COM

    IS A JAMSTACK SITE HOSTED ON NETLIFY USING NETLIFY TO NETLIFY NETLIFY
  104. Serving for the win Render Conference, 2018 @philhawksworth netlify DEV

    PROD LIVE GIT CI STAGE STAGE STAGE STAGE STAGE STAGE
  105. Serving for the win Render Conference, 2018 @philhawksworth netlify DEV

    NETLIFY LIVE GIT CI STAGE STAGE STAGE CDN
  106. Serving for the win Render Conference, 2018 @philhawksworth netlify A

    GIT-BASED WORKFLOW ALL THE WAY TO PRODUCTION
  107. Serving for the win Render Conference, 2018 @philhawksworth netlify jamstack

    JAVASCRIPT / API / MARKUP
  108. Serving for the win Render Conference, 2018 @philhawksworth netlify APIs

    SITE (JAVASCRIPT) JAVASCRIPT MARKUP
  109. Serving for the win Render Conference, 2018 @philhawksworth netlify APIs

    SITE (JAVASCRIPT) JAVASCRIPT MARKUP
  110. Serving for the win Render Conference, 2018 @philhawksworth netlify BUILDS

    ARE BASED ON GIT COMMITS,
 SO WE HAVE HISTORY
  111. netlify Serving for the win Render Conference, 2018 @philhawksworth

  112. Serving for the win Render Conference, 2018 @philhawksworth netlify APIs

    SITE (JAVASCRIPT) JAVASCRIPT MARKUP
  113. netlify Serving for the win Render Conference, 2018 @philhawksworth

  114. netlify Serving for the win Render Conference, 2018 @philhawksworth

  115. netlify Serving for the win Render Conference, 2018 @philhawksworth

  116. Serving for the win Render Conference, 2018 @philhawksworth netlify APIs

    SITE (JAVASCRIPT) JAVASCRIPT MARKUP
  117. Serving for the win Render Conference, 2018 @philhawksworth netlify AUTOMATION

    BASED ON GIT ACTIVITY
  118. Serving for the win Render Conference, 2018 @philhawksworth netlify GENERATING

    PREVIEWS FROM PULL REQUESTS
  119. netlify Serving for the win Render Conference, 2018 @philhawksworth

  120. Serving for the win Render Conference, 2018 @philhawksworth netlify CONFIDENCE

    IN THE FUTURE STATE
  121. Serving for the win Render Conference, 2018 @philhawksworth netlify A/B

    TESTING
  122. Serving for the win Render Conference, 2018 @philhawksworth netlify A/B

    TESTING
  123. Serving for the win Render Conference, 2018 @philhawksworth netlify Lessons

    EMBRACING VERSION CONTROL CONVENTIONS REMOVES NEED TO REINVENT THEM REDUCED FRICTION BRINGS AGILITY AND CONFIDENCE JAMSTACK GOES BEYOND STATIC SITES
  124. Serving for the win Render Conference, 2018 @philhawksworth netlify FOR

    THE NEXT 30 MINUTES OR SO / WHERE DOES IT HURT? / 3 STORIES / MINDSETS AND RESOURCES
  125. netlify Serving for the win Render Conference, 2018 @philhawksworth RESOURCES

    CIRCLE CI JENKINS
  126. netlify Serving for the win Render Conference, 2018 @philhawksworth RESOURCES

    THENEWDYNAMIC.ORG JAMSTACK.ORG
  127. netlify Serving for the win Render Conference, 2018 @philhawksworth RESOURCES

    THEPOWEROFSERVERLESS.INFO HEADLESSCMS.ORG
  128. netlify Serving for the win Render Conference, 2018 @philhawksworth THEPOWEROFSERVERLESS.INFO

  129. netlify Serving for the win Render Conference, 2018 @philhawksworth MINDSETS

  130. Serving for the win Render Conference, 2018 @philhawksworth netlify EVERYTHING

    VERSION CONTROLFor
  131. Serving for the win Render Conference, 2018 @philhawksworth netlify EXPOSE

    THE RED LIGHTS
  132. Serving for the win Render Conference, 2018 @philhawksworth netlify

  133. Serving for the win Render Conference, 2018 @philhawksworth netlify

  134. Serving for the win Render Conference, 2018 @philhawksworth netlify 1.

    MAKE IT SCRIPTED 2. MAKE IT AUTOMATED 3. MAKE IT REAL 4. MAKE IT FIRST A NOTE ON DEPLOYMENT
  135. netlify Serving for the win Render Conference, 2018 @philhawksworth EXPECT

    TIMES OF CHAOS
  136. netlify Serving for the win Render Conference, 2018 @philhawksworth DON’T

    LET A LACK OF PROCESS BE WHAT CREATES IT
  137. Serving for the win Render Conference, 2018 @philhawksworth netlify IT’S

    AN AWFULLY FULL STACK A NOTE ON EXPERTISE
  138. Serving for the win Render Conference, 2018 @philhawksworth netlify USE

    THE SKILLS OF OTHERS A NOTE ON EXPERTISE
  139. netlify Serving for the win Render Conference, 2018 @philhawksworth BUILD

    BEAUTIFUL THINGS
  140. THANK YOU PHIL HAWKSWORTH HAWKSWORX.COM / TALKS / SERVE