It's just a Web server - a plea for simplicity
-
Upload
bertrand-delacretaz -
Category
Technology
-
view
2.008 -
download
2
description
Transcript of It's just a Web server - a plea for simplicity
![Page 1: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/1.jpg)
It’s just a Web server a plea for simplicity
Bertrand Delacrétaz@bdelacretaz, grep.codeconsult.ch
Principal Scientist, CQ/AEM R&D group, Adobe BaselApache Software Foundation Member and Director
June 2014slides revision 2014-06-18
![Page 2: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/2.jpg)
looking for answers? wrong place! I’m more about questions today…
![Page 3: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/3.jpg)
picture: dhester on morguefile.com
could we invent this today?
![Page 4: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/4.jpg)
beautiful simplicityas simple as possible, but not simpler
(to be precise, it’s a Victorinox skipper knife)
![Page 5: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/5.jpg)
astory
of simplicity
(two stories, actually)
![Page 6: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/6.jpg)
s = UDP socket While(s is open) { Wait for packet Packet matches our filter? If not -> continue If yes: Compute storage path from T Append packet to storage file }
26 lines of code 3 months of work (happily chugging along since 1999)
![Page 7: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/7.jpg)
record digital audiocontinuously
cannot lose morethan 15 seconds
(remember - 1999)
![Page 8: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/8.jpg)
options?BigCo#1 BigCo#2
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
pict
ure:
MrM
agic
on
mor
guefi
le.c
om
![Page 9: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/9.jpg)
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
N-dimensional maze
pict
ure:
psc
hube
rt on
mor
guefi
le.c
om
![Page 10: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/10.jpg)
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
pict
ure:
and
yk o
n m
orgu
efile
.com
5127 prototypes
![Page 11: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/11.jpg)
overnight? no - 8 yearsWIRED April 2011
![Page 12: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/12.jpg)
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
N-dimensional maze
pict
ure:
psc
hube
rt on
mor
guefi
le.c
om
![Page 13: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/13.jpg)
simpler?
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
pict
ure:
MrM
agic
on
mor
guefi
le.c
om
![Page 14: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/14.jpg)
yes!
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
pict
ure:
MrM
agic
on
mor
guefi
le.c
om
RTPpacket
recorder
![Page 15: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/15.jpg)
26 lines of code3 months
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
pict
ure:
MrM
agic
on
mor
guefi
le.c
om
RTPpacket
recorders = UDP socket While(s is open) { Wait for packet Packet matches our filter? If not -> continue If yes: Compute storage path from T Append packet to storage file }
![Page 16: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/16.jpg)
if it’s not simple enough yet
do not give up
![Page 17: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/17.jpg)
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
pict
ure:
MrM
agic
on
mor
guefi
le.c
om
RTPpacket
recorder
storage?
![Page 18: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/18.jpg)
RTPpacket
recorder
storage?
continuous storage seek by timestamp
variable speed replay 100% robust
![Page 19: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/19.jpg)
enterprise DB!
pict
ure:
jusb
en o
n m
orgu
efile
.com
![Page 20: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/20.jpg)
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
pict
ure:
psc
hube
rt on
mor
guefi
le.c
om
N-dimensional maze
![Page 21: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/21.jpg)
RTPpacket
recorder
storage!
2014/06/25/1402.rtp
timestamp-addressed file stores 15 seconds of RTP packets
![Page 22: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/22.jpg)
pict
ure:
Rog
anJo
sh o
n m
orgu
efile
.com
pict
ure:
MrM
agic
on
mor
guefi
le.c
om
RTPpacket
recorder
storage2014/06/25/1402.rtp
continuous recording continuous storage seek by timestamp
variable speed replay
s = UDP socket While(s is open) { Wait for packet Packet matches our filter? If not -> continue If yes: Compute storage path from T Append packet to storage file }
![Page 23: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/23.jpg)
beautiful simplicityas simple as possible, but not simpler
![Page 24: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/24.jpg)
beautiful simplicityunix pipelines
cat sortgrep awk stdout
stderr
simple modules simple assembly model
transparent, robust, powerful
![Page 25: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/25.jpg)
ok, but
high-end CMS?
![Page 26: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/26.jpg)
HTTP request
CC
CCC
CCC
C
processor
dispatcher
it’s just aWebserver…
![Page 27: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/27.jpg)
HTTP 0.9 (start simple)
GET /hello.txt
<html>hello!</html>
client server
![Page 28: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/28.jpg)
HTTP requests
CC
CCC
CCC
C
dispatcher
even if itgets busy…
processorprocessor
processor
processor
processorprocessor
processor
processor
processor
![Page 29: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/29.jpg)
CC
CCC
CCC
C
dispatcher
HTTP isenough…
processor
processor
processorprocessor
processor
processor
GETPOSTPUT
DELETE
processorprocessor
processor
![Page 30: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/30.jpg)
so,
how?
![Page 31: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/31.jpg)
put the bar
highdo not accept extra complexity
![Page 32: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/32.jpg)
investin simplicity
can be expensive…and worth it
![Page 33: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/33.jpg)
chase the right
metaphor“a network packets recorder and player”
![Page 34: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/34.jpg)
simplicity is a
processyou usually know when you’re there
![Page 35: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/35.jpg)
beautiful simplicityas simple as possible, but not simpler
![Page 36: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/36.jpg)
what are the
enablers?
![Page 37: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/37.jpg)
modularityenablers
![Page 38: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/38.jpg)
opendevelopmentenablers
![Page 39: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/39.jpg)
Apache Slingenablers
![Page 40: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/40.jpg)
JCRenablers
![Page 41: It's just a Web server - a plea for simplicity](https://reader035.fdocuments.us/reader035/viewer/2022081403/5550fc47b4c90501448b4c5e/html5/thumbnails/41.jpg)
not simple enough?
don’t give up!