Serving for the win - Deploys and hosting for the rest of us

A presentation at Render Conf in March 2018 in Oxford, UK by Phil Hawksworth

Slide 1

Slide 1

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

Slide 2

Slide 2

Serving for the win Render Conference, 2018 @philhawksworth netlify HELLO

Slide 3

Slide 3

netlify Serving for the win Render Conference, 2018 @philhawksworth SOCK FETISH CONF OXFORD 2018

Slide 4

Slide 4

Serving for the win Render Conference, 2018 @philhawksworth netlify PHIL

HAWKSWORTH AFTER DINNER SPEAKER

@

Slide 5

Slide 5

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

Slide 6

Slide 6

Serving for the win Render Conference, 2018 @philhawksworth netlify

Slide 7

Slide 7

Serving for the win Render Conference, 2018 @philhawksworth netlify

Slide 8

Slide 8

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

Slide 9

Slide 9

Serving for the win Render Conference, 2018 @philhawksworth netlify

Slide 10

Slide 10

Serving for the win Render Conference, 2018 @philhawksworth netlify MY TRACK RECORD

Slide 11

Slide 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 M S

Slide 12

Slide 12

netlify Serving for the win Render Conference, 2018 @philhawksworth SO, FOR THIS TALK

Slide 13

Slide 13

Serving for the win Render Conference, 2018 @philhawksworth netlify TIME TO JAZZ IT UP

Slide 14

Slide 14

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

Slide 15

Slide 15

SERVING FOR THE WIN DEPLOYMENTS

AND

HOSTING

FOR

THE

REST

OF

US PHIL HAWKSWORTH

Slide 16

Slide 16

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

Slide 17

Slide 17

Serving for the win Render Conference, 2018 @philhawksworth netlify EXOTIC OR NEW

Slide 18

Slide 18

Serving for the win Render Conference, 2018 @philhawksworth netlify FUNDAMENTALS

Slide 19

Slide 19

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

Slide 20

Slide 20

Serving for the win Render Conference, 2018 @philhawksworth netlify CAPTIONS AREN'T OPTIONAL — Laura

Slide 21

Slide 21

ENVIRONMENT VARIABLE EXFILTRATION 
 WITH NPM — Asim

Slide 22

Slide 22

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

Slide 23

Slide 23

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

Slide 24

Slide 24

Serving for the win Render Conference, 2018 @philhawksworth netlify CONFINING THESE LEARNINGS TO OUR LOCAL ENVIRONMENTS IS A WASTE

Slide 25

Slide 25

Serving for the win Render Conference, 2018 @philhawksworth netlify LET’S MAKE SURE THE GOOD STUFF REACHES YOUR USERS

Slide 26

Slide 26

Serving for the win Render Conference, 2018 @philhawksworth netlify PERFORMANCE?

Slide 27

Slide 27

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

Slide 28

Slide 28

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

Slide 29

Slide 29

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

Slide 30

Slide 30

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

Slide 31

Slide 31

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

Slide 32

Slide 32

Serving for the win Render Conference, 2018 @philhawksworth netlify MINDSET

Slide 33

Slide 33

Serving for the win Render Conference, 2018 @philhawksworth netlify OH GREAT… 
 HALF AN HOUR OF SLIDES

ABOUT PROCESS ALL OF YOU

Slide 34

Slide 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

Slide 35

Slide 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

Slide 36

Slide 36

netlify Serving for the win Render Conference, 2018 @philhawksworth WHERE DOES IT HURT?

Slide 37

Slide 37

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

Slide 38

Slide 38

Serving for the win Render Conference, 2018 @philhawksworth netlify SLEEPLESS NIGHTS

Slide 39

Slide 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:

Slide 40

Slide 40

netlify Serving for the win Render Conference, 2018 @philhawksworth LAUNCH DAY

Slide 41

Slide 41

Serving for the win Render Conference, 2018 @philhawksworth netlify PROJECTS CAN BE HARD NEWSFLASH

Slide 42

Slide 42

Serving for the win Render Conference, 2018 @philhawksworth netlify LEARNING PROJECTS USUALLY INVOLVE

Slide 43

Slide 43

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

Slide 44

Slide 44

Serving for the win Render Conference, 2018 @philhawksworth netlify INFRASTRUCTURE

Slide 45

Slide 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)

Slide 46

Slide 46

Serving for the win Render Conference, 2018 @philhawksworth netlify NEW DEPLOYMENT CONVENTIONS

Slide 47

Slide 47

Serving for the win Render Conference, 2018 @philhawksworth netlify APPROACH

Slide 48

Slide 48

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

Slide 49

Slide 49

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

Slide 50

Slide 50

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

Slide 51

Slide 51

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

Slide 52

Slide 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

Slide 53

Slide 53

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

Slide 54

Slide 54

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

Slide 55

Slide 55

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

Slide 56

Slide 56

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

Slide 57

Slide 57

Serving for the win Render Conference, 2018 @philhawksworth netlify

Slide 58

Slide 58

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

Slide 59

Slide 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

Slide 60

Slide 60

Serving for the win Render Conference, 2018 @philhawksworth netlify THE DEPLOYMENT

Slide 61

Slide 61

Serving for the win Render Conference, 2018 @philhawksworth netlify STAGING BOB ALICE PROD

Slide 62

Slide 62

Serving for the win Render Conference, 2018 @philhawksworth netlify FFFF FFF F FTP

Slide 63

Slide 63

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

Slide 64

Slide 64

Serving for the win Render Conference, 2018 @philhawksworth netlify UNREPEATABLE PROCESS

Slide 65

Slide 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

Slide 66

Slide 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

Slide 67

Slide 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

Slide 68

Slide 68

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

Slide 69

Slide 69

netlify Serving for the win Render Conference, 2018 @philhawksworth

Slide 70

Slide 70

Serving for the win Render Conference, 2018 @philhawksworth netlify PLENTY OF CHANGE

Slide 71

Slide 71

Serving for the win Render Conference, 2018 @philhawksworth netlify SIGNIFICANT POLITICAL SENSITIVITY

Slide 72

Slide 72

Serving for the win Render Conference, 2018 @philhawksworth netlify GREATER STAKEHOLDER DIVERSITY

Slide 73

Slide 73

Serving for the win Render Conference, 2018 @philhawksworth netlify A GLOBAL LAUNCH

Slide 74

Slide 74

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

Slide 75

Slide 75

netlify Serving for the win Render Conference, 2018 @philhawksworth

Slide 76

Slide 76

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

Slide 77

Slide 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 “ ” $

Slide 78

Slide 78

Serving for the win Render Conference, 2018 @philhawksworth netlify AUTOMATE AS EARLY

AND AS FAST AS YOU CAN BENEDEK GAGYI , RENDER 2018

Slide 79

Slide 79

Serving for the win Render Conference, 2018 @philhawksworth netlify

Slide 80

Slide 80

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

Slide 81

Slide 81

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

Slide 82

Slide 82

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

Slide 83

Slide 83

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

Slide 84

Slide 84

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

Slide 85

Slide 85

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

Slide 86

Slide 86

Serving for the win Render Conference, 2018 @philhawksworth netlify DELIVER to THE PUBLIC

Slide 87

Slide 87

netlify Serving for the win Render Conference, 2018 @philhawksworth LET’S DELIVER ANY VERSION AT ANY TIME OUR AMBITION

Slide 88

Slide 88

Serving for the win Render Conference, 2018 @philhawksworth netlify VERSION CONTROL

Slide 89

Slide 89

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

Slide 90

Slide 90

Serving for the win Render Conference, 2018 @philhawksworth netlify URLS FTW

Slide 91

Slide 91

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

Slide 92

Slide 92

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

http foobar.com

Slide 93

Slide 93

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

Slide 94

Slide 94

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

Slide 95

Slide 95

netlify Serving for the win Render Conference, 2018 @philhawksworth

Slide 96

Slide 96

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

Slide 97

Slide 97

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

Slide 98

Slide 98

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

Slide 99

Slide 99

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

Slide 100

Slide 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

Slide 101

Slide 101

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

Slide 102

Slide 102

netlify Serving for the win Render Conference, 2018 @philhawksworth

Slide 103

Slide 103

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

Slide 104

Slide 104

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

Slide 105

Slide 105

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

Slide 106

Slide 106

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

Slide 107

Slide 107

Serving for the win Render Conference, 2018 @philhawksworth netlify jamstack JAVASCRIPT / API / MARKUP

Slide 108

Slide 108

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

Slide 109

Slide 109

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

Slide 110

Slide 110

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

Slide 111

Slide 111

netlify Serving for the win Render Conference, 2018 @philhawksworth

Slide 112

Slide 112

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

Slide 113

Slide 113

netlify Serving for the win Render Conference, 2018 @philhawksworth

Slide 114

Slide 114

netlify Serving for the win Render Conference, 2018 @philhawksworth

Slide 115

Slide 115

netlify Serving for the win Render Conference, 2018 @philhawksworth

Slide 116

Slide 116

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

Slide 117

Slide 117

Serving for the win Render Conference, 2018 @philhawksworth netlify AUTOMATION BASED ON GIT ACTIVITY

Slide 118

Slide 118

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

Slide 119

Slide 119

netlify Serving for the win Render Conference, 2018 @philhawksworth

Slide 120

Slide 120

Serving for the win Render Conference, 2018 @philhawksworth netlify CONFIDENCE IN THE FUTURE STATE

Slide 121

Slide 121

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

Slide 122

Slide 122

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

Slide 123

Slide 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

Slide 124

Slide 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

Slide 125

Slide 125

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

Slide 126

Slide 126

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

Slide 127

Slide 127

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

Slide 128

Slide 128

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

Slide 129

Slide 129

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

Slide 130

Slide 130

Serving for the win Render Conference, 2018 @philhawksworth netlify EVERYTHING VERSION CONTROL For

Slide 131

Slide 131

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

Slide 132

Slide 132

Serving for the win Render Conference, 2018 @philhawksworth netlify

Slide 133

Slide 133

Serving for the win Render Conference, 2018 @philhawksworth netlify

Slide 134

Slide 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

Slide 135

Slide 135

netlify Serving for the win Render Conference, 2018 @philhawksworth EXPECT TIMES OF CHAOS

Slide 136

Slide 136

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

Slide 137

Slide 137

Serving for the win Render Conference, 2018 @philhawksworth netlify IT’S AN AWFULLY FULL STACK A NOTE ON EXPERTISE

Slide 138

Slide 138

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

Slide 139

Slide 139

netlify Serving for the win Render Conference, 2018 @philhawksworth BUILD BEAUTIFUL THINGS

Slide 140

Slide 140

THANK YOU PHIL HAWKSWORTH HAWKSWORX.COM / TALKS / SERVE