Dansk software gør din Facebook flyvende

Http-cachen Varnish med danske rødder speeder hastigheden op på nogle af de helt store websites i verden. Nu kommer softwaren i en ny version. Læs om baggrunden, teknologien og release-fester.

Artikel top billede

Varnish - makes websites fly.

Sådan præsenteres http-cachingproduktet Varnish, der anvendes af et utal af websites verden over. Facebook har blandt andre valgt at anvende Varnish for at være i stand til at give de millioner af Facebook-brugere ordentlige svartider.

Ligesom Twitter, eBay og New York Times anvender Varnish.

I dag bliver version 3 af Varnish så frigivet, men inden vi kigger på, hvad Varnish 3.0 indeholder, så lige en kort beskrivelse af, hvad Varnish gør. 

Jeg gi'r min server en gang lak...

Varnish minimerer svartiden for en bruger, der ønsker at se en bestemt webside.

Når du beder om at få en webside fra en webserver, så skal webserveren nemlig først hente de forskellige dele, som udgør websiden - billeder, tekst, annoncer, video og så videre - og derefter sammensætte de forskellige elementer i én samlet side, før den sendes ud til brugeren.

Når en ny bruger sender en forespørgsel på den samme side, så skal webserveren i gang med det samme arbejde igen. Det kan tage tid, hvis der er mange brugere, og derved kan svartiden forringes - og brugerne forsvinde. Selv et par sekunders ventetid får nogle brugere til at forlade dit website.

Varnish ligger foran webserveren og cacher de websider, som webserveren sammensætter. Næste gang en bruger spørger efter websiden, skal webserveren altså ikke i gang med at sammensætte siden. Varnish serverer websiden til brugeren.

Komprimering og egenudviklede Varnish-moduler

Første version af Varnish kom i december 2006, og det er altså knap fem år senere, at Varnish version 3 nu frigives.

Der er to features i den nye version, som er specielt interessante. Den ene er, at det fremover bliver muligt for udviklere at skrive deres egne moduler til Varnish i form Varnish Modules eller vmods.

Varnish konfigureres ved hjælp af Varnish Configuration Language (VCL). Med version 3 vil man kunne importere Vmods i VCL og anvende de funktioner, som stilles til rådighed af vmods.  

En anden vigtig nyhed er, at Varnish fremover understøtter gzip-komprimering. Det vil blandt andet gøre det nemmere at anvende Varnish sammen med Edge Side Includes eller ESI.

For en mere detaljeret gennemgang af nyhederne i Varnish 3.0 kan Varnish-udvikleren Kristian Lyngstøls blog anbefales.

Open source-udvikler og pragmatiker: I gør det forkert
Det er danske Poul-Henning Kamp, der i mange år har udviklet på open source styresystemet FreeBSD, som er hovedprogrammøren på Varnish.

Han indledte projektet med Varnish i samarbejde med den norske avis Verdens Gang.

Senere er der kommet flere udviklere til, og i dag er der oprettet et selskab, Varnish Software, der blev udskilt fra Redpill Linpro i 2010.

Arbejdet med Varnish fik Poul-Henning Kamp til at skrive en artikel i det ansete ACMQueue i juni 2010 med titlen "You´re Doing It Wrong". I vanlig Poul-Henning Kamp-stil, som nogle måske vil kalde arrogant, undrer Poul-Henning Kamp sig over, at dataloger ved algoritme-udvikling ikke tager højde for ting som "virtuel memory, CPU caches, write buffers og andre kendsgerninger ved moderne hardware".

Og moderne hardware er i denne forbindelse mere end 30 år gammel hardware:

"And just for the record: by modern, I mean VAX 11/780 or later."
 
Artiklen får en del læsere til at hive deres tastatur frem og forsvare algoritme-undervisning og datalogien.

Det degenererer hurtigt til en diskussion, hvor parterne taler forbi hinanden: Den pragmatiske Poul-Henning Kamp, der fokuserer på praktisk effektiv implementering og mere teoretiske videnskabeligt funderede dataloger.

Det bliver hurtigt en lidt akademisk diskussion, men fakta er, at Poul-Henning Kamp og andre Varnish-udvikleres implementering af http-cache altså anvendes af millionbrugerwebsites som Facebook og Twitter, da de har brug for noget, der virkelig kan performe.

Nederst i denne artikel giver Poul-Henning Kamp en kort oversigt over de vigtigste nyheder i Varnish 3.0.

Release-parties verden over

Selvom en http-cache ikke er noget som eksempelvis de mange millioner Facebook-brugere tænker over, så er der stor begejstring blandt Varnish-udviklere og -brugere.

Så stor begejstring, at der ligefrem holdes release-fester i dag i anledning af, at Varnish 3.0 frigives. Du kan se en oversigt over de globale release-parties her. Det danske release-party foregår på Mikkeller bar i København i aften fra kl. 19. Som det hedder i Scoofs release-party invitation: "... and [we] stay until we leave. No program. No presentations. Just beer".

Men mon ikke der bliver snakket lidt om http-caching og web acceleratorer?

Læses lige nu

    Danmarks Lærerforening

    Danmarks Lærerforening søger en IT-projektleder

    Københavnsområdet

    Netcompany A/S

    Operations Engineer til drift af infrastruktur

    Københavnsområdet

    Forsvarsministeriets Materiel- og Indkøbsstyrelse

    Release og Change Manager til DeMars i Cyberdivisionen, Hvidovre.

    Københavnsområdet

    Navnenyt fra it-Danmark

    Sebastian Rübner-Petersen, 32 år, Juniorkonsulent hos Gammelbys, er pr. 1. september 2025 forfremmet til Kommunikationskonsulent. Han skal fremover især beskæftige sig med Projektledelse, kommunikationsstrategier og implementering af AI. Forfremmelse
    EG Danmark A/S har pr. 1. december 2025 ansat Søren Jermiin Olesen som Senior Product Manager. Han skal især beskæftige sig med finans- og debitorstyring i det offentlige med ansvar for økonomistyringssystemet EG ØS Indsigt. Han kommer fra en stilling som Product Manager hos KMD A/S. Han er uddannet Cand. oecon. Han har tidligere beskæftiget sig med økonomi bl.a. i Aarhus Kommune og været med til at udvikle NemØkonom før og efter salget til KMD. Nyt job

    Søren Jermiin Olesen

    EG Danmark A/S

    Danske Spil har pr. 1. oktober 2025 ansat Jesper Krogh Heitmann som Brand Manager for Oddset. Han skal især beskæftige sig med at udvikle og drive brandets strategi og sikre en rød tråd på tværs af alle platforme og aktiviteter. Han kommer fra en stilling som Marketing & Communications Manager hos Intellishore. Nyt job

    Jesper Krogh Heitmann

    Danske Spil