JAMSTACK SILLY NAME SERIOUS BUSINESS
PHIL HAWKSWORTH
Slide 2
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
I CARE ABOUT NOT HAVING TO MAINTAIN CRANKY AOLSERVER, POSTGRES AND ORACLE INSTALLS AARON SWARTZ, 2002
http://www.aaronsw.com/weblog/000404
Slide 3
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
BAKE, DON’T FRY – Aaron Swartz
http://www.aaronsw.com/weblog/000404
Slide 4
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
PRE-RENDERING an h t r e h t ra
RENDERING ON DEMAND
Slide 5
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
by
RENDERING n a e m we GENERATING MARKUP
Slide 6
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
SIMPLIFYING e h t
STACK
Slide 7
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
DEVELOPMENT PROJECTS e r a
COMPLEX ENOUGH
Slide 8
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
THE PERFECT PROJECT TIMELINE
FIXES
! BRIEF
START
SCOPE
RE-SCOPE
CLIENT REVIEW
LAUNCH “ FINAL” SIGN OFF
AWARDS
Slide 9
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
LAUNCH DAY
Slide 10
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
LAUNCH DAY
Slide 11
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
THE PERFECT PROJECT TIMELINE
FIXES
” BRIEF
START
SCOPE
RE-SCOPE
CLIENT REVIEW
LAUNCH “ FINAL” SIGN OFF
AWARDS
Slide 12
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
SIMPLIFYING e h t
STACK
Slide 13
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja
JAVASCRIPT / API / MARKUP
Slide 14
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
WHAT DOES THAT EVEN
MEAN?
Slide 15
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
@ PHIL HAWKSWORTH DEVELOPER EXPERIENCE, NETLIFY
Slide 16
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
DEFINITION / DESCRIPTION IMPACT / IMPLICATIONS TOOLS / SERVICES RESOURCES / FIRST STEPS
Slide 17
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
SIMPLIFYING e h t
STACK
Slide 18
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
STACKS FOR DAYZ
AN / LAMP / MAMP / XAMP / ROR / WISA / MEA WISA / MEAN / LAMP / MAMP / XAMP / ROR /
Slide 19
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
STACKS FOR DAYZ
/ MEAN / LAMP / MAMP / XAMP / ROR / WISA MEAN / LAMP / MAMP / XAMP / ROR / WISA / M
Slide 20
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja
JAVASCRIPT / API / MARKUP
Slide 21
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m a j
A modern architecture — Create fast and secure sites and dynamic apps with JavaScript, APIs, and pre-rendered Markup, served without web servers
Slide 22
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
TRADITIONAL vs JAMSTACK
Slide 23
netlify
JAMstack - Serious Business
l a n o i it d a r t
Pixel Pioneers, June 2019
CDN
@philhawksworth
LOAD BALANCER
WEB SERVERS
DB SERVERS
Slide 24
netlify
JAMstack - Serious Business
l a n o i it d a r t k c a t s m ja
Pixel Pioneers, June 2019
CDN
@philhawksworth
LOAD BALANCER
WEB SERVERS
DB SERVERS
Slide 25
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
JAMSTACK
s n a e m CAPABLE OF BEING SERVED DIRECTLY FROM A CDN
Slide 26
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
JAMSTACK
s r e f f o AN OPPORTUNITY TO REDUCE COMPLEXITY
Slide 27
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
ENJOYS THE BENEFITS of
SERVING STATIC ASSETS
Slide 28
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
ISN’T THIS JUST A FANCY NEW NAME FOR STATIC SITES? REASONABLE VOICES
Slide 29
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
STATIC
Slide 30
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
STATIC
Slide 31
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
STATIC
Slide 32
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
STATIC /ˈstatɪk/
lacking in movement, action, or change, especially in an undesirable or uninteresting way.
Slide 33
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
STATIC EXPERIENCE ?
or
ARCHITECTURE ?
Slide 34
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
STATIC VIRTUE a as
Slide 35
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
LET’S TALK STACKS
Slide 36
netlify
JAMstack - Serious Business
k c sta
Pixel Pioneers, June 2019
@philhawksworth
the layers of technology which deliver your web site or application
Slide 37
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
LAMP STACK
Slide 38
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
APACHE PHP
HTTP ROUTING AND SERVING PREPROCESSING
MYSQL
DATA ACCESS
LINUX
OPERATING SYSTEM
WEB SERVER
Slide 39
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
JAM STACK
Slide 40
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
APIs JAVASCRIPT MARKUP
DATA ACCESS
RUNTIME
BROWSER CDN
HTTP ROUTING AND SERVING
Slide 41
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja PRE-RENDERED SERVED STATICALLY PROGRESSIVELY ENHANCED
Slide 42
netlify
JAMstack - Serious Business
APACHE PHP MYSQL LINUX WEB SERVER
Pixel Pioneers, June 2019
@philhawksworth
WITH JAMSTACK THE STACK HAS MOVED UP A LEVEL TO THE BROWSER
APIs
JAVASCRIPT MARKUP BROWSER
Slide 43
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
n a c s i h t SIMPLIFY DEPLOYMENTS
Slide 44
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
THE PERFECT PROJECT TIMELINE
FIXES
netlify
JAMstack - Serious Business
l a n o i it d a r t k c a t s m ja
Pixel Pioneers, June 2019
CDN
@philhawksworth
LOAD BALANCER
WEB SERVERS
DB SERVERS
Slide 46
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja
REQUEST TIME BULD TIME
DEPLOYMENT BUILD
Slide 47
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
WE’VE BECOME VERY GOOD AT SERVING STATIC FILES
Slide 48
netlify
JAMstack - Serious Business
GET TO THE CHOPPER CDN
Pixel Pioneers, June 2019
@philhawksworth
Slide 49
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
Slide 50
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
HOSTING
LOCAL STATIC SERVER
BUILD CONTENT TEMPLATES DATA
@philhawksworth
CDN
Slide 51
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
LET’S ADDRESS A COMMON MISCONCEPTION
Slide 52
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja
JAVASCRIPT / API / MARKUP
Slide 53
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja
JAVASCRIPT API MARKUP &
&
Slide 54
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja
JAVASCRIPT API MARKUP &
&
E E R H T L L A e s u o t e v a h ‘t n o d u yo
Slide 55
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
? k c a t s m a j is it JEKYLL YAML NO JS NO APIs GITHUB PAGES
yes
GATSBY MARKDOWN GRAPHQL APIs JS HYDRATION AMAZON S3
yes
HUGO MARKDOWN JS INTERACTIONS NO APIs GOOGLE CLOUD
yes
ORIGIN SERVER
NUXT JSON JS INTERACTIONS COMMERCE APIs NETLIFY
yes
HAND-MADE PWA WEBPACK JWT BROWSER APIs AZURE
yes
Slide 56
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
JAMSTACK
s n a e m CAPABLE OF BEING SERVED DIRECTLY FROM A CDN
Slide 57
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
IMPACTS AND IMPLICATIONS
Slide 58
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
SECURITY
Slide 59
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
A GREATLY REDUCED SURFACE AREA
Slide 60
netlify
JAMstack - Serious Business
l a n o i it d a r t
k c a t s m ja
Pixel Pioneers, June 2019
CDN
@philhawksworth
LOAD BALANCER
WEB SERVERS
DB SERVERS
Slide 61
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
FAR FEWER MOVING PARTS TO ATTACK
Slide 62
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
YOUR-DOMAIN.COM/WP-ADMIN
Slide 63
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja
REQUEST TIME BULD TIME
NO MOVING PARTS
DEPLOYMENT BUILD
MOVING PARTS
Slide 64
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
PERFORMANCE
Slide 65
netlify
JAMstack - Serious Business
l a n o i it d a r t
k c a t s m ja
Pixel Pioneers, June 2019
CDN
@philhawksworth
LOAD BALANCER
WEB SERVERS
DB SERVERS
Slide 66
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
TRADITIONAL STACKS ADD STATIC LAYERS IN ORDER TO IMPROVE PERFORMANCE
Slide 67
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
CACHING GALORE
Slide 68
netlify
JAMstack - Serious Business
l a n o i it d a r t
k c a t s m ja
Pixel Pioneers, June 2019
CDN
@philhawksworth
LOAD BALANCER
WEB SERVERS
DB SERVERS
Slide 69
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
SCALE
Slide 70
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
TRADITIONAL STACKS ADD INFRASTRUCTURE IN ORDER TO SCALE
Slide 71
netlify
JAMstack - Serious Business
l a n o i it d a r t
k c a t s m ja
Pixel Pioneers, June 2019
CDN
@philhawksworth
LOAD BALANCER
WEB SERVERS
DB SERVERS
Slide 72
netlify
JAMstack - Serious Business
l a n o i it d a r t
k c a t s m ja
Pixel Pioneers, June 2019
CDN
@philhawksworth
LOAD BALANCER
WEB SERVERS
DB SERVERS
Slide 73
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
DEVELOPER EXPERIENCE
Slide 74
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja
REQUEST TIME BULD TIME
DEPLOYMENT BUILD
Slide 75
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m ja
REQUEST TIME BULD TIME
DEPLOYMENT BUILD
d e in f e d l l e w A e c a p s m e l b o pr o t m o d e e r f h wit make choices
Slide 76
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
FREEDOM d an
CHOICE
Slide 77
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
FREEDOM
FROM THE TECHNICAL CONSTRAINTS OF EXOTIC PLATFORMS d n a
CHOICE
OF TOOLS AND APPROACHES WHICH BEST FIT THE TEAM AND THE PROJECT
Slide 78
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
CONFIDENCE s t n e m y o l p e d r u o in y
Slide 79
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
A JAMSTACK SITE CAN MORE EASILY HAVE
IMMUTABLE, ATOMIC DEPLOYS
Slide 80
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
Slide 81
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
AN EXAMPLE OF A DYNAMIC WEB APP?
Slide 82
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
WHAT JUST HAPPENED?!
@philhawksworth
Slide 83
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
APIS AND SERVICES
Slide 84
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
BOUGHT SERVICES
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
BUILT SERVICES
Slide 88
netlify
JAMstack - Serious Business
CMS
Pixel Pioneers, June 2019
DAMS
@philhawksworth
COMMERCE
IDENTITY
Slide 89
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
CMS
@philhawksworth
DAMS
COMMERCE
Slide 90
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
I ABSOLUTELY POSITIVELY NEED A LITTLE LOGIC ON A SERVER MANY OF US, SOMETIMES
Slide 91
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
SERVERLESS TO THE RESCUE
Slide 92
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
FUNCTIONS AS A SERVICE
Slide 93
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
EXAMPLES AND RESULTS
Slide 94
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
REACTJS.ORG REACTJS.ORG
STATIC
Slide 95
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
YARNPKG.COM REACTJS.ORG
STATIC
Slide 96
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
VUEJS.ORG REACTJS.ORG
@philhawksworth
Slide 97
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
DOCS.CITRIX.COM SMASHINGMAGAZINE.COM
@philhawksworth
Slide 98
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
TURNAROUND TIME FOR UPDATES WENT FROM WEEKS TO MINUTES BETH POLLOCK, CITRIX
youtube.com/watch?v=kvS5h5domf0
Slide 99
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
WE ESTIMATE OUR ANNUAL COST SAVINGS TO RUN THE SITE PROPERLY IS 65% BETH POLLOCK, CITRIX
youtube.com/watch?v=kvS5h5domf0
Slide 100
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
SMASHINGMAGAZINE.COM SMASHINGMAGAZINE.COM
@philhawksworth
Slide 101
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
PLATFORMS from
5
to
1 https://www.netlify.com/case-studies/smashing/
Slide 102
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
WE HAD SOME CACHING ISSUES… WITH PROBABLY EVERY SINGLE WORDPRESS CACHING PLUGIN OUT THERE VITALY FRIEDMAN
Slide 103
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
SMASHINGMAGAZINE.COM
TIME TO FIRST LOAD m o r f
to
800MS 80MS https://www.netlify.com/case-studies/smashing/
Slide 104
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
proxx
Slide 105
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
PROXX.APP
PAYLOAD TO INTERACTIVE
25KB https://web.dev/proxx-announce/
Slide 106
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
PROXX.APP
TIME TO INTERACTIVE r e d un
5 SECONDS https://web.dev/proxx-announce/
Slide 107
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
VARIETY
Slide 108
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
WHAT IS THE JAMSTACK? THE QUESTION WE STARTED WITH
Slide 109
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k RENDERED IN ADVANCE c a t s jam e r a s e it s NOT DEPENDENT ON AN ORIGIN
PROGRESSIVELY ENHANCED IN THE BROWSER WITH JAVASCRIPT
Slide 110
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
k c a t s m a j
A modern architecture — Create fast and secure sites and dynamic apps with JavaScript, APIs, and pre-rendered Markup, served without web servers
Slide 111
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
STATIC SITE GENERATORS staticgen.com
NETLIFY
STATIC VARIOUS RELATED RESOURCES FROM CHRIS COYIER
www.netlify.com
https://serverless.css-tricks.com/
CITRIX PRESENTATION FROM JAMSTACKCONF NYC youtube.com/watch?v=kvS5h5domf0
Slide 112
netlify
JAMstack - Serious Business
Pixel Pioneers, June 2019
@philhawksworth
JAMSTACK CONFERENCE jamstackconf.com
HEADLESS / DECOUPLED CMS
STATIC ABOUT THE JAMSTACK / COMMUNITY
headlesscms.org jamstack.org
THE NEW DYNAMIC
www.thenewdynamic.org/