• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
It's just a Web server - a plea for simplicity
 

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

on

  • 506 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
506
Views on SlideShare
352
Embed Views
154

Actions

Likes
5
Downloads
6
Comments
0

4 Embeds 154

http://grep.codeconsult.ch 146
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

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!