It's just a Web server - a plea for simplicity
Upcoming SlideShare
Loading in...5
×
 

It's just a Web server - a plea for simplicity

on

  • 709 views

Slides of my keynote at the Connect Web Experience conference, Basel, June 2014 - http://www.connectcon.ch/

Slides of my keynote at the Connect Web Experience conference, Basel, June 2014 - http://www.connectcon.ch/

Statistics

Views

Total Views
709
Views on SlideShare
416
Embed Views
293

Actions

Likes
5
Downloads
6
Comments
0

4 Embeds 293

http://grep.codeconsult.ch 285
https://twitter.com 6
http://bdelacretaz.wordpress.com 1
http://www.slideee.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    It's just a Web server - a plea for simplicity It's just a Web server - a plea for simplicity Presentation Transcript

    • It’sjustaWebserverapleaforsimplicity BertrandDelacrétaz
 @bdelacretaz, grep.codeconsult.ch PrincipalScientist,CQ/AEMR&Dgroup,AdobeBasel
 ApacheSoftwareFoundationMemberandDirector June2014
 slidesrevision2014-06-18
    • lookingforanswers? wrongplace! I’mmoreaboutquestionstoday…
    • picture: dhester on morguefile.com couldwe invent this today?
    • beautifulsimplicity
assimpleaspossible,butnotsimpler (tobeprecise,it’saVictorinoxskipperknife)
    • a
 storyof simplicity
(twostories,actually)
    • 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 } 26linesofcode 3monthsofwork (happilychuggingalongsince1999)
    • recorddigitalaudio
 continuously cannotlosemore
 than15seconds (remember-1999)
    • options? BigCo#1 BigCo#2 picture:RoganJoshonmorguefile.com picture:MrMagiconmorguefile.com
    • picture:RoganJoshonmorguefile.com N-dimensionalmaze picture:pschubertonmorguefile.com
    • picture:RoganJoshonmorguefile.com picture:andykonmorguefile.com 5127prototypes
    • overnight?no-8years WIREDApril2011
    • picture:RoganJoshonmorguefile.com N-dimensionalmaze picture:pschubertonmorguefile.com
    • simpler? picture:RoganJoshonmorguefile.com picture:MrMagiconmorguefile.com
    • yes! picture:RoganJoshonmorguefile.com picture:MrMagiconmorguefile.com RTP
 packet
 recorder
    • 26linesofcode
 3months picture:RoganJoshonmorguefile.com picture:MrMagiconmorguefile.com RTP
 packet
 recorder 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 }
    • ifit’snotsimpleenoughyet donotgiveup
    • picture:RoganJoshonmorguefile.com picture:MrMagiconmorguefile.com RTP
 packet
 recorder storage?
    • RTP
 packet
 recorder storage? continuousstorage seekbytimestamp variablespeedreplay 100%robust
    • enterpriseDB! picture:jusbenonmorguefile.com
    • picture:RoganJoshonmorguefile.com picture:pschubertonmorguefile.com N-dimensionalmaze
    • RTP
 packet
 recorder storage! 2014/06/25/1402.rtp timestamp-addressedfilestores15secondsofRTPpackets
    • picture:RoganJoshonmorguefile.com picture:MrMagiconmorguefile.com RTP
 packet
 recorder storage 2014/06/25/1402.rtp continuousrecording continuousstorage seekbytimestamp variablespeedreplay 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 }
    • beautifulsimplicity
assimpleaspossible,butnotsimpler
    • beautifulsimplicity
unixpipelines cat sortgrep awk stdout stderr simplemodules simpleassemblymodel transparent,robust,powerful
    • ok,but high-endCMS?
    • HTTPrequest C C C C C CC C C processor dispatcher it’s
 justa
 Web
 server…
    • HTTP0.9
 (startsimple) GET/hello.txt <html>hello!</html> client server
    • HTTPrequests C C C C C CC C C dispatcher evenifit
 getsbusy… processor processor processor processor processor processor processor processor processor
    • C C C C C CC C C dispatcher HTTPis
 enough… processor processor processor processor processor processor GET POST PUT DELETE processor processor processor
    • so, how?
    • putthebar high donotacceptextracomplexity
    • investinsimplicity canbeexpensive…andworthit
    • chasetheright metaphor “anetworkpacketsrecorderandplayer”
    • simplicityisa process youusuallyknowwhenyou’rethere
    • beautifulsimplicity
assimpleaspossible,butnotsimpler
    • whatarethe enablers?
    • modularityenablers
    • open
 developmentenablers
    • ApacheSlingenablers
    • JCRenablers
    • notsimpleenough? don’tgiveup!