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
as-as-service model

Wat wil je in de cloud zetten?

Wanneer je informatie zoekt over de cloud, word je al snel om de oren geslagen met termen als SaaS, PaaS, IaaS en UaaS. Dat zijn respectievelijk afkortingen voor: Software-as-a-Service, Platform-as-a-Service, Infrastructure-as-a-Service en Uptime-as-a-Service. Ze geven aan wat je allemaal precies in de cloud kan of wil zetten. Waar zitten de overeenkomsten en waar de verschillen? En wat wil jij allemaal in de cloud hebben?

Lees meer

Afschakelplan

Hoe voorkom je downtime als de elektriciteit wegvalt tijdens het afschakelplan?

Wat betekent het afschakelplan voor jouw servers en website? Hoe groot is de kans dat die ook enkele uren onbereikbaar zijn?

Lees meer

managed hosting versus unmanaged hosting

Wie gaat je cloud beheren?

Waar zitten de grote verschillen tussen managed hosting en unmanaged hosting? En wat zijn de voordelen en nadelen die eraan verbonden zijn?

Lees meer