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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

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

  • 1,540 views
Published

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/

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,540
On SlideShare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
10
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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