SENIOR DIR., UX PLATFORM @
GoDaddy
BOARD MEMBER, NODE.JS FOUNDATION
FORMERLY FOUNDER at NODEJITSU
@INDEXZERO GITHUB TWITTER
SO WHAT’S ALL THIS THEN?
Slide 7
Slide 7 text
What am I going to talk about?
5
1 Define the problem
2 Webpack it up, webpack it in
3 Initial solutions & naive approaches
4 DNS & HTTP Starvation
5 Putting it all together
Slide 8
Slide 8 text
LET’S DEFINE
THE PROBLEM ITSELF
Slide 9
Slide 9 text
WEBPACK
service
as a
Slide 10
Slide 10 text
LET’S TALK
webpack
about
Slide 11
Slide 11 text
YOUR
CODE
Slide 12
Slide 12 text
YOUR
CODE
“WEBPACK”
Slide 13
Slide 13 text
BUNDLE
BUNDLE
BUNDLE
BUNDLE
Slide 14
Slide 14 text
BUNDLE
BUNDLE
BUNDLE
BUNDLE
there is more
Of course
under the covers
from a pool of servers
Everyone’s
computer
npm install
requests
webpack
requests
Slide 60
Slide 60 text
from a pool of servers
Everyone’s
computer
npm install
requests
webpack
requests
DNS Caching
overloads one machine
Slide 61
Slide 61 text
No content
Slide 62
Slide 62 text
STARVATION
Slide 63
Slide 63 text
about
queues?
what
Slide 64
Slide 64 text
PLACEHOLDER
durability
Slide 65
Slide 65 text
PLACEHOLDER
durability
DURABILITY? PERSISTENCE?
Slide 66
Slide 66 text
PLACEHOLDER
durability
IN ORDER? OUT OF ORDER?
DURABILITY? PERSISTENCE?
DELIVERY GUARANTEES?
Slide 67
Slide 67 text
characteristics
the
Slide 68
Slide 68 text
characteristics
the
of
build systems
Slide 69
Slide 69 text
IDEMPOTENT
Slide 70
Slide 70 text
IDEMPOTENT
ORDER DOES NOT MATTER
Slide 71
Slide 71 text
IDEMPOTENT
ORDER DOES NOT MATTER
EVENTUALLY CONSISTENT
Slide 72
Slide 72 text
IDEMPOTENT
ORDER DOES NOT MATTER
EVENTUALLY CONSISTENT
NSQ MEETS ALL THESE
Slide 73
Slide 73 text
PUTTING
together
it all
Slide 74
Slide 74 text
Warehouse.ai
lessons from PROD
Slide 75
Slide 75 text
carpenterd
carpenterd-worker
and
Slide 76
Slide 76 text
Your computer
npm publish
Slide 77
Slide 77 text
Your computer
npm publish
Warehouse.ai
Slide 78
Slide 78 text
Your computer
npm publish
Warehouse.ai
npm install
requests
carpenterd
npm publish
completes
to any registry
Slide 79
Slide 79 text
carpenterd
npm install
Slide 80
Slide 80 text
carpenterd
npm install
store tarball
webpack
requests
Slide 81
Slide 81 text
carpenterd
npm install
store tarball
webpack
requests
webpack
executes
Slide 82
Slide 82 text
carpenterd
npm install
store tarball
webpack
requests
store files
webpack
executes
Slide 83
Slide 83 text
carpenterd
npm install
store tarball
webpack
requests
store files
webpack
executes
Slide 84
Slide 84 text
carpenterd
npm install
store tarball
webpack
requests
store files
webpack
executes
P U L L
PUSH
don’t
Slide 85
Slide 85 text
FUTURES
Slide 86
Slide 86 text
No content
Slide 87
Slide 87 text
WHAT IS
SCALE?
Slide 88
Slide 88 text
spikes within
Handling
system workload
Slide 89
Slide 89 text
...WRAPPING UP...
Slide 90
Slide 90 text
...WRAPPING UP...
GITHUB.COM/GODADDY/WAREHOUSE.AI
GITHUB.COM/GODADDY/CARPENTERD
GITHUB.COM/WAREHOUSEAI
SPECIAL THANKS TO JARRETT CRUGER
GEOFF WALL, MICHAEL LUTHER, AND
ALL CONTRIBUTORS!
Slide 91
Slide 91 text
MAY THE SOURCE BE WITH YOU
ICONS CREATED BY DINOSOFT LABS FROM THE NOUN PROJECT