A presentation at Render Conf in in Oxford, UK by Phil Hawksworth
SERVING FOR THE WIN DEPLOYMENTS AND HOSTING FOR THE REST OF US PHIL HAWKSWORTH
Serving for the win Render Conference, 2018 @philhawksworth netlify HELLO
netlify Serving for the win Render Conference, 2018 @philhawksworth SOCK FETISH CONF OXFORD 2018
Serving for the win Render Conference, 2018 @philhawksworth netlify PHIL
HAWKSWORTH AFTER DINNER SPEAKER
@
Serving for the win Render Conference, 2018 @philhawksworth netlify MAKING THINGS
Serving for the win Render Conference, 2018 @philhawksworth netlify
Serving for the win Render Conference, 2018 @philhawksworth netlify
Serving for the win Render Conference, 2018 @philhawksworth netlify SALES PITCH
Serving for the win Render Conference, 2018 @philhawksworth netlify
Serving for the win Render Conference, 2018 @philhawksworth netlify MY TRACK RECORD
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 M S
netlify Serving for the win Render Conference, 2018 @philhawksworth SO, FOR THIS TALK
Serving for the win Render Conference, 2018 @philhawksworth netlify TIME TO JAZZ IT UP
SERVING FOR THE WIN DEPLOYMENTS AND HOSTING FOR THE REST OF US PHIL HAWKSWORTH
SERVING FOR THE WIN DEPLOYMENTS
AND
HOSTING
FOR
THE
REST
OF
US PHIL HAWKSWORTH
SERVING FOR THE WIN DEPLOYMENTS AND HOSTING FOR THE REST OF US PHIL HAWKSWORTH
Serving for the win Render Conference, 2018 @philhawksworth netlify EXOTIC OR NEW
Serving for the win Render Conference, 2018 @philhawksworth netlify FUNDAMENTALS
Serving for the win Render Conference, 2018 @philhawksworth netlify WE LEARN A LOT AT CONFERENCES
Serving for the win Render Conference, 2018 @philhawksworth netlify CAPTIONS AREN'T OPTIONAL — Laura
ENVIRONMENT VARIABLE EXFILTRATION WITH NPM — Asim
Serving for the win Render Conference, 2018 @philhawksworth netlify HEEBEEGEEBEES the
Serving for the win Render Conference, 2018 @philhawksworth netlify CONFINING THESE LEARNINGS TO THEORY IS A WASTE
Serving for the win Render Conference, 2018 @philhawksworth netlify CONFINING THESE LEARNINGS TO OUR LOCAL ENVIRONMENTS IS A WASTE
Serving for the win Render Conference, 2018 @philhawksworth netlify LET’S MAKE SURE THE GOOD STUFF REACHES YOUR USERS
Serving for the win Render Conference, 2018 @philhawksworth netlify PERFORMANCE?
Serving for the win Render Conference, 2018 @philhawksworth netlify DESIGNING FOR PERFORMANCE — Lara Callender Hogan
Serving for the win Render Conference, 2018 @philhawksworth netlify DESIGNING INFRASTRUCTURE FOR PERFORMANCE
Serving for the win Render Conference, 2018 @philhawksworth netlify DEPLOYMENTS DESIGNING INFRASTRUCTURE FOR PERFORMANCE
Serving for the win Render Conference, 2018 @philhawksworth netlify DEPLOYMENTS DESIGNING INFRASTRUCTURE FOR PERFORMANCE PROCESSES
Serving for the win Render Conference, 2018 @philhawksworth netlify DEPLOYMENTS DESIGNING INFRASTRUCTURE FOR PERFORMANCE PROCESSES MINDSET
Serving for the win Render Conference, 2018 @philhawksworth netlify MINDSET
Serving for the win Render Conference, 2018 @philhawksworth netlify OH GREAT… HALF AN HOUR OF SLIDES
ABOUT PROCESS ALL OF YOU
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
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
netlify Serving for the win Render Conference, 2018 @philhawksworth WHERE DOES IT HURT?
Serving for the win Render Conference, 2018 @philhawksworth netlify CLIENTS / DEADLINES / COMPLEXITY PROJECTS USUALLY INVOLVE
Serving for the win Render Conference, 2018 @philhawksworth netlify SLEEPLESS NIGHTS
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:
netlify Serving for the win Render Conference, 2018 @philhawksworth LAUNCH DAY
Serving for the win Render Conference, 2018 @philhawksworth netlify PROJECTS CAN BE HARD NEWSFLASH
Serving for the win Render Conference, 2018 @philhawksworth netlify LEARNING PROJECTS USUALLY INVOLVE
Serving for the win Render Conference, 2018 @philhawksworth netlify CHANGE PROJECTS USUALLY INVOLVE
Serving for the win Render Conference, 2018 @philhawksworth netlify INFRASTRUCTURE
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)
Serving for the win Render Conference, 2018 @philhawksworth netlify NEW DEPLOYMENT CONVENTIONS
Serving for the win Render Conference, 2018 @philhawksworth netlify APPROACH
Serving for the win Render Conference, 2018 @philhawksworth netlify MANAGING CHANGE MANAGING THE UNKNOWABLE THIS IS WHERE IT HURTS
Serving for the win
Render Conference, 2018
@philhawksworth
netlify
AT CRUNCH TIME,
AS
THE PRESSURE MOUNTS
THIS IS WHERE IT HURTS
Serving for the win Render Conference, 2018 @philhawksworth netlify WHEN THE PLAN GOES IN THE TRASH THIS IS WHERE IT HURTS
Serving for the win
Render Conference, 2018
@philhawksworth
netlify
CAN WE PLAN FOR
THE PLAN GOING IN THE TRASH?
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
netlify Serving for the win Render Conference, 2018 @philhawksworth DEPLOYING ON MY FIRST DAY Story one
Serving for the win Render Conference, 2018 @philhawksworth netlify A LARGE NATION-WIDE HEALTHCARE SITE
Serving for the win Render Conference, 2018 @philhawksworth netlify ONE TO NOT F**K UP
Serving for the win
Render Conference, 2018
@philhawksworth
netlify
IT SHOULD HAVE
GONE LIVE
ON FRIDAY
MY NEW BOSS
Serving for the win Render Conference, 2018 @philhawksworth netlify
Serving for the win
Render Conference, 2018
@philhawksworth
netlify
CAN YOU HELP THE TEAM
FIGURE OUT
THE DEPLOYMENT?
MY NEW BOSS
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
Serving for the win Render Conference, 2018 @philhawksworth netlify THE DEPLOYMENT
Serving for the win Render Conference, 2018 @philhawksworth netlify STAGING BOB ALICE PROD
Serving for the win Render Conference, 2018 @philhawksworth netlify FFFF FFF F FTP
Serving for the win Render Conference, 2018 @philhawksworth netlify UNKNOWABLE STATE
Serving for the win Render Conference, 2018 @philhawksworth netlify UNREPEATABLE PROCESS
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
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
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
netlify Serving for the win Render Conference, 2018 @philhawksworth SEARCHING FOR SYRIA Story two
netlify Serving for the win Render Conference, 2018 @philhawksworth
Serving for the win Render Conference, 2018 @philhawksworth netlify PLENTY OF CHANGE
Serving for the win Render Conference, 2018 @philhawksworth netlify SIGNIFICANT POLITICAL SENSITIVITY
Serving for the win Render Conference, 2018 @philhawksworth netlify GREATER STAKEHOLDER DIVERSITY
Serving for the win Render Conference, 2018 @philhawksworth netlify A GLOBAL LAUNCH
Serving for the win Render Conference, 2018 @philhawksworth netlify ONE TO NOT F**K UP
netlify Serving for the win Render Conference, 2018 @philhawksworth
Serving for the win Render Conference, 2018 @philhawksworth netlify ONE TO NOT F**K UP DEFINITELY
“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 “ ” $
Serving for the win Render Conference, 2018 @philhawksworth netlify AUTOMATE AS EARLY
AND AS FAST AS YOU CAN BENEDEK GAGYI , RENDER 2018
Serving for the win Render Conference, 2018 @philhawksworth netlify
Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVERIES
Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER to QA
Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER to PRODUCERS
Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER to TRANSLATIONS TEAMS
Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER to THE CLIENT
Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER to THE CLIENT’S BOSSES
Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER to THE PUBLIC
netlify Serving for the win Render Conference, 2018 @philhawksworth LET’S DELIVER ANY VERSION AT ANY TIME OUR AMBITION
Serving for the win Render Conference, 2018 @philhawksworth netlify VERSION CONTROL
Serving for the win Render Conference, 2018 @philhawksworth netlify TAGS SHOULD CREATE RESOURCES AT URLS
Serving for the win Render Conference, 2018 @philhawksworth netlify URLS FTW
netlify Serving for the win Render Conference, 2018 @philhawksworth AITCH TEE TEE PEE DOUBLE MEH ALEX SEXTON
Serving for the win
Render Conference, 2018
@philhawksworth
netlify
http
foobar.com
://
http foobar.com
Serving for the win Render Conference, 2018 @philhawksworth netlify TAGS SHOULD CREATE RESOURCES AT URLS
Serving for the win Render Conference, 2018 @philhawksworth netlify DEV PROD STAGE GIT CI
netlify Serving for the win Render Conference, 2018 @philhawksworth
Serving for the win Render Conference, 2018 @philhawksworth netlify DEV PROD STAGE GIT CI
Serving for the win Render Conference, 2018 @philhawksworth netlify DEV PROD LIVE GIT CI STAGE STAGE STAGE STAGE STAGE STAGE
Serving for the win Render Conference, 2018 @philhawksworth netlify DEV PROD LIVE GIT CI STAGE STAGE STAGE STAGE STAGE STAGE
Serving for the win
Render Conference, 2018
@philhawksworth
netlify
DEMOS
/
DISCUSSIONS
TESTS
/
ISSUES
/
SIGNOFF
ALL HAPPENED AGAINST
KNOWN VERSIONS
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
netlify Serving for the win Render Conference, 2018 @philhawksworth NETLIFY BUILDING NETLIFY Story three
netlify Serving for the win Render Conference, 2018 @philhawksworth
Serving for the win Render Conference, 2018 @philhawksworth netlify NETLIFY.COM IS A JAMSTACK SITE HOSTED ON NETLIFY USING NETLIFY TO NETLIFY NETLIFY
Serving for the win Render Conference, 2018 @philhawksworth netlify DEV PROD LIVE GIT CI STAGE STAGE STAGE STAGE STAGE STAGE
Serving for the win Render Conference, 2018 @philhawksworth netlify DEV NETLIFY LIVE GIT CI STAGE STAGE STAGE CDN
Serving for the win Render Conference, 2018 @philhawksworth netlify A GIT-BASED WORKFLOW ALL THE WAY TO PRODUCTION
Serving for the win Render Conference, 2018 @philhawksworth netlify jamstack JAVASCRIPT / API / MARKUP
Serving for the win Render Conference, 2018 @philhawksworth netlify APIs SITE (JAVASCRIPT) JAVASCRIPT MARKUP
Serving for the win Render Conference, 2018 @philhawksworth netlify APIs SITE (JAVASCRIPT) JAVASCRIPT MARKUP
Serving for the win
Render Conference, 2018
@philhawksworth
netlify
BUILDS ARE BASED ON
GIT COMMITS,
SO WE HAVE HISTORY
netlify Serving for the win Render Conference, 2018 @philhawksworth
Serving for the win Render Conference, 2018 @philhawksworth netlify APIs SITE (JAVASCRIPT) JAVASCRIPT MARKUP
netlify Serving for the win Render Conference, 2018 @philhawksworth
netlify Serving for the win Render Conference, 2018 @philhawksworth
netlify Serving for the win Render Conference, 2018 @philhawksworth
Serving for the win Render Conference, 2018 @philhawksworth netlify APIs SITE (JAVASCRIPT) JAVASCRIPT MARKUP
Serving for the win Render Conference, 2018 @philhawksworth netlify AUTOMATION BASED ON GIT ACTIVITY
Serving for the win Render Conference, 2018 @philhawksworth netlify GENERATING PREVIEWS FROM PULL REQUESTS
netlify Serving for the win Render Conference, 2018 @philhawksworth
Serving for the win Render Conference, 2018 @philhawksworth netlify CONFIDENCE IN THE FUTURE STATE
Serving for the win Render Conference, 2018 @philhawksworth netlify A/B TESTING
Serving for the win Render Conference, 2018 @philhawksworth netlify A/B TESTING
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
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
netlify Serving for the win Render Conference, 2018 @philhawksworth RESOURCES CIRCLE CI JENKINS
netlify Serving for the win Render Conference, 2018 @philhawksworth RESOURCES THENEWDYNAMIC.ORG JAMSTACK.ORG
netlify Serving for the win Render Conference, 2018 @philhawksworth RESOURCES THEPOWEROFSERVERLESS.INFO HEADLESSCMS.ORG
netlify Serving for the win Render Conference, 2018 @philhawksworth THEPOWEROFSERVERLESS.INFO
netlify Serving for the win Render Conference, 2018 @philhawksworth MINDSETS
Serving for the win Render Conference, 2018 @philhawksworth netlify EVERYTHING VERSION CONTROL For
Serving for the win Render Conference, 2018 @philhawksworth netlify EXPOSE THE RED LIGHTS
Serving for the win Render Conference, 2018 @philhawksworth netlify
Serving for the win Render Conference, 2018 @philhawksworth netlify
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
netlify Serving for the win Render Conference, 2018 @philhawksworth EXPECT TIMES OF CHAOS
netlify
Serving for the win
Render Conference, 2018
@philhawksworth
DON’T LET
A LACK OF PROCESS
BE WHAT CREATES IT
Serving for the win Render Conference, 2018 @philhawksworth netlify IT’S AN AWFULLY FULL STACK A NOTE ON EXPERTISE
Serving for the win Render Conference, 2018 @philhawksworth netlify USE THE SKILLS OF OTHERS A NOTE ON EXPERTISE
netlify Serving for the win Render Conference, 2018 @philhawksworth BUILD BEAUTIFUL THINGS
THANK YOU PHIL HAWKSWORTH HAWKSWORX.COM / TALKS / SERVE
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.
Here’s what was said about this presentation on social media.
Great last talk here @render_conf by @philhawksworth who has kept our full attention and made us laugh while sharing lessons learnt through deploying and delivering large scale projects. Key takeaway: version control in deployments can be so powerful. #renderconf
— Marina Sideri (@sid_marinako) March 23, 2018
Big boss @philhawksworth final talk was phenomenal! 😆👏 I didn't post as much because I was so engrossed (plus uploading that monster vid), but it was brilliant! 😉 #renderconf
— Robbie Redfearn (@rredfearn32) March 23, 2018
An excellent talk on deployment by @philhawksworth is ending the awesome conference. Now it's almost 🍻 o'clock! #RenderConf pic.twitter.com/fhuPmv2Jlh
— Tomomi Imura 🎈 (@girlie_mac) March 23, 2018
Revisiting a dev project timeline.@philhawksworth revealing our darkest secrets about deployment at #RenderConf.
— Laura Kishimoto (@chicgeek) March 23, 2018
(Honestly, I was dreading a deployment talk but it is really quite good. 🆗🆒) pic.twitter.com/6ByLwsyuhU
Also, @philhawksworth, your slides are freaking beautiful. Bold, big, bright, demonstrative.
— Laura Kishimoto (@chicgeek) March 23, 2018
(Shame about the videos… 😉)#RenderConf pic.twitter.com/oqZmpisdNC