Wat is Varnish?

Varnish is een web accelerator, een technische tool die je website flink wat sneller kan maken. Omdat Varnish zo complex is, proberen we in een aantal video’s uit te leggen wat Varnish is, hoe het werkt, wat je er allemaal mee kan, waar de valkuilen zitten en hoe je ermee aan de slag gaat. In deze eerste editie van “Chalk Talk” leggen we uit wat Varnish precies is (je kan onderaan eenvoudig de ondertitels aanzetten).

De uitgeschreven tekst van onze Chalk Talk over Varnish

Welkom bij Chalk Talk, een reeks video’s waarin we proberen complexe technologie uit te leggen met slechts één krijtbord. In deze video kijken we naar Varnish.

Wat is Varnish?

Varnish is een webaccelarator die je aan je software stack kan toevoegen om de snelheid van je website aanzienlijk te verbeteren. Maar laten we om te beginnen kijken naar wat websites vertraagt.

Wat vertraagt websites?

Gewoonlijk heb je een gebruiker die vanop zijn laptop surft naar jouw site en verbinding maakt met je server. Dit zorgt voor connectie met een webserver – een Apache of een Nginx – die op zijn beurt een PHP-proces activeert om je code aan te spreken. Jouw code zal praten met een database, zoals MySQL of PostgreSQL, of met een cache zoals Redis of Memcached, ofwel met externe API’s, die je niet echt onder controle hebt, zoals een Facebook- of Twitter-API of dergelijke.

Op het einde wanneer alle gegevens verzameld zijn genereert je PHP een antwoord dat wordt doorgestuurd naar je Apache-webserver. Het antwoord is de HTML-code die jouw klant gaat zien. Die HTML-code komt bij je klant. Maar die is niet erg blij!

En de volgende persoon die naar je webserver surft, zal precies hetzelfde proces activeren. Eerst praten met Apache, gevolgd door een PHP-proces, connectie met de database of de API … Je snapt het al, het kan een tijdje duren. Aan het einde van het proces krijgt die gebruiker bovendien exact hetzelfde te zien als de vorige.

Is Varnish een slimme oplossing?

Als je meer en meer bezoekers krijgt kan je natuurlijk een grotere server gebruiken. Of er een toevoegen. En nog een. Maar dat is niet echt efficiënt! Hoe kunnen we dit oplossen met meer finesse en meer intelligentie? We zouden een extra laag kunnen introduceren bovenop je Apache-webserver. Dat is Varnish.

Varnish is een eenvoudige tool die eerder verzonden antwoorden bijhoudt om een volgende bezoeker sneller te helpen. Dus al deze gecompliceerde logica wordt maar één keer geactiveerd. De HTML zal naar Varnish worden verzonden. Varnish stuurt het dan naar de bezoeker. De volgende bezoeker praat gewoon met Varnish, met de vraag “geef me je startpagina”, en Varnish kan die in milliseconden leveren, zonder te praten met PHP, MySQL, API’s, noem maar op.

Dit maakt van Varnish een webversneller. Technisch gezien is het een proxy, die tussen een bezoeker en jouw webserver zit en je website sneller maakt.

Varnish als load balancer

Varnish kan ook fungeren als load balancer. Als het aantal bezoekers te groot wordt voor één enkele server, kan je meerdere webservers toevoegen om al de bezoekers op te vangen. Varnish treedt dan op als doorgeefluik en bepaalt waar elke bezoeker terecht komt. Als je eerste webserver niet beschikbaar is, door onderhoud of een panne, zal Varnish die uit zijn lijst halen en bezoekers naar andere servers sturen.

Je kan met Varnish ook graduele upgrades doen, waarbij je je code geleidelijk aan implementeert per server zonder dat een bezoeker iets merkt.

Door Varnish te gebruiken ga je slim om met schaalbaarheid. In plaats van meer hardware in te zetten, introduceer je intelligentie. Resultaat: minder CPU, geheugen en schijftoegang. Het maakt alles een stuk sneller. Als je Varnish aan je stack toevoegt, heb je minder PHP, minder MySQL, minder database. Kortom, minder van alles. En meer tevreden klanten!

Het eindresultaat is een veel snellere website. Denk in milliseconden in plaats van seconden.

Betere SEO resultaten dankzij Varnish

Daarbovenop heb je het voordeel dat sites zoals Google en Bing de snelheid van je website gebruiken als een van de indicatoren om de kwaliteit van je site te bepalen.

Dus hoe sneller je site, hoe beter je scoort in zoekresultaten. Dat kun je niet doen met alleen PHP. Wees slim en plaats een caching-laag bovenop je PHP.

De volgende keer in Chalk Talk

In de volgende video’s bekijken we Varnish grondiger. We tonen hoe je Varnish kan gebruiken als developer of sysadmin, creëren een contentstrategie voor je website en tonen hoe je Varnish succesvol inzet in jouw project. Tot binnenkort voor een nieuwe episode van Chalk Talk!

Wil je nu al meer weten, kan je meteen ons Varnish eBook downloaden.

Gerelateerde berichten
Problemen oplossen in Varnish

Problemen oplossen in Varnish

In onze laatste ChalkTalk video uit de reeks bekijken we “ Problemen oplossen in Varnish ”. Hoe weet je of een pagina juist gecached wordt of niet? Wat zijn de meest voorkomende problemen na een implementatie van Varnish? En hoe los je die problemen op?

Lees meer

Netneutraliteit

Waarom onze overheid netneutraliteit moet garanderen

Een recent artikel van freelance journalist Jan Jacobs over netneutraliteit op Doorbraak.be deed ons steigeren. Zo erg zelfs dat we ons bijna afvragen op hij betaald werd door Proximus of Telenet om zo’n stuk neer te poten.

Lees meer

Meet the Hackers

Meet the hackers: drie visies op IT security

Better safe than sorry. Dat was de boodschap achter Meet the hackers, onze workshop rond ethical hacking. In het gezellig kader van de schuur […]

Lees meer