Wat doet het Savvii Content Delivery Network?

Architectuur
Lucas Prigge, 6 februari 2017

*** EDIT: Per april 2019 zijn de CDN opties (cookie-loos domein), welke geen waarde meer toevoegen sinds de uitrol van HTTP/2, verwijderd uit onze code. ***
*** https://github.com/Savvii/warpdrive/releases/tag/2.10.0 ***
*** Deze post blijft online voor historisch overzicht
***

Regelmatig krijgen wij vragen over ons Content Delivery Network (CDN) en wat je ermee kunt. Ons CDN kan WordPress sites met veel statische content een grote snelheidswinst bieden. Maar hoe werkt dit precies? En wat voor meerwaarde bieden externe CDN’s nog? Dat leggen we je graag uit in dit artikel.

Onze stack is volledig geoptimaliseerd voor WordPress. Dit wordt gedaan m.b.v. technologieën zoals een geoptimaliseerde NGINX-Webserver, PHP7 en servercaching. Dit betekent, dat je site ook zonder CDN al supersnel kan draaien op onze servers.

Afhankelijk van de configuratie van je site kan een CDN hier nog een schepje bovenop doen. Het snel inladen van een website kun je namelijk zien als een opdracht die onze webserver moet uitvoeren. Met een CDN verdeel je deze opdracht over twee servers, die beide tegelijk een deel van je site inladen. De webserver laadt dynamische content in, terwijl het CDN dit doet met statische content.

Wat valt er dan onder statische content? Dit zijn bestanden met een bepaalde extensie. We hebben op onze supportpagina een lijstje met alle extensies die ons CDN inlaadt beschikbaar gesteld. In het kort komt het er op neer dat webpagina’s zelf dynamische content zijn en plaatjes, CSS en JS bestanden onder statische content vallen.

Het Savvii-CDN

Bij Savvii kun je gebruik maken van een CDN dat we zelf ontwikkeld hebben. Alle statische assets worden hiervan uitgeserveerd.

De benaming CDN is voor ónze technologie echter eigenlijk onjuist, omdat we geen gebruik maken van gescheiden servers. De content wordt gewoon vanaf dezelfde webserver ingeladen, maar via slimme (savvy) techniek omzeilen we het limiet aan assets dat van één site tegelijk ingeladen kan worden.

Alle statische content wordt namelijk automatisch vanaf een subdomein van onszelf uitgeserveerd. Je browser gelooft hiermee dat er content van 2 verschillende sites wordt ingeladen, en kan deze zodoende wél tegelijk uitserveren. Wat ook helpt is dat dit domein geen cookies zet, het is een zogeheten ‘cookieless domain’.

Ons CDN kun je via de Savvii plugin met één muisklik (de-)activeren. Standaard staat het CDN uitgeschakeld, let hier dus op als je een nieuwe site bij ons onderbrengt.

De optie om het Savvii CDN in- of uit te schakelen ziet er zo uit. In dit voorbeeld is het CDN uitgeschakeld.

Combinatie met SSL

Ons CDN is momenteel niet te combineren met SSL. Dit heeft te maken met de linkstructuur van content die over het CDN gaat. Deze content verloopt namelijk via het volgende pad.

http://cdn.<jouw savvii-url>.savviihq.com/

 

Zoals je ziet, verloopt het via een tweestaps-subdomein. Je Savvii-URL is al een subdomein van .savviihq.com, vervolgens wordt de content via het cdn.-subdomain hiervan ingeladen. Uiteraard is je Savvii-URL wel over SSL beschikbaar, je wilt immers kunnen testen met SSL. Dit hebben we via een wildcard certificaat ingeregeld. Het CDN-gedeelte kan hiermee echter niet versleuteld worden.

Laat dit jou niet afschrikken om een SSL-certificaat te nemen. Een SSL-certificaat biedt veel voordelen en het kan je site net zo snel of zelfs sneller maken dan ons CDN! We benutten met SSL de SPDY-techniek, die alle assets van een site in één stream tegelijk inlaadt. Hiermee is het probleem van een gelimiteerde hoeveelheid gelijktijdige assets dus niet meer van toepassing, waarvoor ons CDN als oplossing bedoeld is. Dankzij http/2 zal een website over SSL alleen nog maar sneller worden. Hiermee hebben we inmiddels ook ervaring opgedaan met veel klantensites en onze eigen site.

Externe Content Delivery Networks

extern-cdnNatuurlijk moeten de ‘echte’ CDN’s niet onbesproken blijven. Je kunt i.c.m. (onze) hosting ook gebruik maken van een extern CDN. Dit neem je af van een aparte dienstverlener. Deze diensten hebben vaak als doel om niet slechts de snelheid van je site te verbeteren, maar ook de stabiliteit en veiligheid. Enkele bekende dienstverleners op dit gebied zijn CloudFlare, MaxCDN en Amazon S3/CloudFront.

Hoewel de dienstverlening te complex is om simpel samen te vatten, zijn er enkele belangrijke kenmerken waarmee je de verschillende diensten kunt toetsen om te bepalen wat voor jou de juiste optie is.

Proxy caching of static assets?

Eerder in het artikel definieerden wij een Content Delivery Network als een aparte server, vanwaar statische content wordt uitgeserveerd. Dit kun je als een CDN in de waarste zin van het woord beschouwen, een ‘static asset’ CDN. Er zijn echter ook diensten die ‘in de volksmond’ CDN genoemd worden, maar eigenlijk een andere functie bieden. Een bekend voorbeeld is CloudFlare, dat je gehele website opslaat in haar eigen cache en deze vanuit verschillende proxy servers wereldwijd uitserveren kan.

Push of pull?

Als je de statische content van je website via een CDN wil uitserveren, moet het CDN op een bepaalde manier bij deze content kunnen komen. Hiervoor zijn er twee methodes: push (duwen) of pull (trekken). Zoals de namen al verklappen, moet je voor CDN’s met push-functionaliteit zelf de content op het CDN plaatsen. Een CDN maakt gebruik van de pull-methode, wanneer deze zelf zonder handmatig ingrijpen de content van jouw website af kan halen. Uiteraard is laatstgenoemde een stuk comfortabeler.

Overzicht per CDN

CDNPush / pull?Static assets / proxy cache?Via SSL?WordPress integratie
CloudFlarePullProxy cacheJaVia eigen plugin
MaxCDNPullStatic assetsJaVia W3TC
Amazon S3 / CloudFrontPushStatic assetsJaVia eigen plugin

Onze hosting is goed te combineren met deze externe CDN’s. Eigenlijk is vooral de goed werkende koppeling tussen WordPress zelf en de CDN’s belangrijk. Sommige maken deze koppeling eenvoudig via plugins, voor andere is wat meer handmatig werk vereist. Ook moet je letten of de verbinding met het CDN versleuteld verloopt, mocht SSL voor jouw site belangrijk zijn. De meeste CDN’s bieden dit gratis en eenvoudig aan.

Uiteraard bestaan er nog meer externe CDN’s, maar CloudFlare, MaxCDN en Amazon S3 / CloudFront zijn de bekendste en meestgebruikte onder onze klanten. Een uitgebreidere bespreking van externe CDN’s en hun WordPress-integraties blijft zeker interessant dus houd onze blog in de gaten.

Behalve een CDN zijn er nog meer mogelijkheden om je site te versnellen. Vul hieronder je gegevens in en ontvang de whitepaper “9 tips om jouw site te versnellen”.

Lucas Prigge

Reactie achterlaten

Leer ons beter kennen!