terug naar blogs

Uitbreiding infrastructuur

Afbeelding voor Uitbreiding infrastructuur
avatar van Colin
auteur
Colin
auteur
avatar van Colin
Colin
Uitbreiding infrastructuur
17 augustus 2023 leestijd 3 minuten

Een belangrijke eigenschap van onze managed hosting is dat deze snel is, retesnel! Dit is mede mogelijk dankzij onze eigen infrastructuur in Nederland. De afgelopen maanden hebben onze engineers hard gewerkt aan de uitbreiding hiervan.

Caching

De snelheid van je website of applicatie kun je op verschillende lagen positief beïnvloeden. In eerste instantie speelt caching een grote rol. Hiermee staan terugkerende (elementen) van een applicatie al klaar in het geheugen en hoeft een server dit niet voor iedere bezoeker opnieuw uit te rekenen. Voor high traffic websites is dit zó cruciaal dat we graag tijd vrij maken om developers te helpen hun cache hit rate zo hoog mogelijk te krijgen.

Caching kan maar beperkt worden ingezet voor de dynamische elementen van een applicatie. De informatie die je toont is dan niet meer generiek voor alle bezoekers. Je merkt dit verschil goed als je in een webshop een bestelproces in gaat of in de admin pagina aan het werk bent. Op dat moment leunt de applicatie op de performance van de onderliggende server. Met onze eigen infrastructuur verslaan wij op dit vlak veel public cloud aanbieders. De vraag naar onze dienst is dan ook groot en wij moeten blijven uitbreiden.

Virtual Private Servers

Onze managed hosting dienst bieden wij aan middels Virtual Private Servers. Het virtuele component maakt dat een server niet vast zit aan een specifieke computer. Zoals macOS of Windows aan je laptop. Een Virtual Private Server kan zich realtime verplaatsen over de onderliggende hardware die we rekennodes (of hypervisors) noemen.

Dit heeft als grote voordeel dat Virtual Private Servers eenvoudig kunnen worden vergroot of verkleind (zonder dat wij een serverkast openschroeven). En bij onderhoud aan rekennodes kunnen deze servers eenvoudig naar een ander deel van het platform worden verplaatst.

Onze infrastructuur bestaat dan ook voor een groot deel uit racks in datacentra met allemaal dezelfde rekennodes. Hierop zijn alle managed Virtual Private Servers ondergebracht.

Steal time

De snelheid van een rekennode bepaald dan ook de snelheid van de Virtual Private Servers die er op dat moment zijn ondergebracht. En in tegenstelling tot public cloud aanbieders boeken wij hierin niet over. Een Virtual Private Server krijgt volledig zijn toegewezen deel van deze capaciteit.

Wat er daadwerkelijk onder de motorkap van een rekennode moet komen vereist het nodige onderzoek en afstemming met de fabrikant. De keuze van een processor, het type geheugen, de storage laag, networking. Allemaal onderdelen die continu door ontwikkelen en ook door verschillende fabrikanten worden aangeboden. Lang niet alle variaties werken lekker samen en we benchmarken onderdelen om te zien of ze in de praktijk de performance halen die we willen.

Dit proces kan soms wel maanden duren. Ook omdat we soms wachten op een specifiek serie van een onderdeel waarvan we weten dat deze impact gaat maken.

Cluster nodes

Onze infrastructuur is opgezet in verschillende clusters. Binnen een cluster gebruiken we hetzelfde model rekennodes. Na ons uitgebreide vooronderzoek weten we dat die onderdelen perfect op elkaar aansluiten. We kunnen een cluster dan ook flink opschalen met tientallen rekennodes die er allemaal hetzelfde uit zien. Dat geeft capaciteit voor honderden Virtual Private Servers per cluster.

Technisch gezien kunnen we een cluster “oneindig” blijven aanvullen met honderden rekennodes en daarmee ruimte bieden aan duizenden Virtual Private Servers. Dat doen we bewust niet. Om onze belofte waar te blijven maken met het snelste hosting platform van Nederland moeten we ook op de infrastructuur laag kort op de bal blijven. Net na het openen van een nieuw cluster blijven we deze uitbreiden en start op de achtergrond alweer het testen en benchmarken van de volgende generatie hardware.

Benchmarks

Afgelopen maand is weer een nieuwe pool in gebruik genomen. Alle nieuwe Virtual Private Servers worden hier nu automatisch op aangemaakt. En hoewel onze racks er fysiek allemaal hetzelfde uitzien tonen de gedetailleerde metrics het verschil. De nieuwe generatie AMD CPU’s, DDR5 memory en NVMe storage laag geeft weer een extra performance boost aan de websites en applicaties van onze klanten.

Bechmark je een Virtual Private Server op ons platform met een vergelijkbare server op een public cloud aanbieder als Digital Ocean dan zie je pas écht hoe groot de afstand is. YABS laat ons een enorm verschil zien in lees- en schrijfsnelheid van een server.

Rootnet

fio Disk Speed Tests (Mixed R/W 50/50):
———————————
Block Size | 4k (IOPS) | 64k (IOPS)
—— | — —- | —- —-
Read | 471.07 MB/s (117.7k) | 4.62 GB/s (72.3k)
Write | 472.31 MB/s (118.0k) | 4.65 GB/s (72.6k)
Total | 943.38 MB/s (235.8k) | 9.27 GB/s (144.9k)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
—— | — —- | —- —-
Read | 5.77 GB/s (11.2k) | 6.18 GB/s (6.0k)
Write | 6.07 GB/s (11.8k) | 6.59 GB/s (6.4k)
Total | 11.84 GB/s (23.1k) | 12.78 GB/s (12.4k)

Digital Ocean

fio Disk Speed Tests (Mixed R/W 50/50):
———————————
Block Size | 4k (IOPS) | 64k (IOPS)
—— | — —- | —- —-
Read | 50.03 MB/s (12.5k) | 216.70 MB/s (3.3k)
Write | 50.11 MB/s (12.5k) | 217.84 MB/s (3.4k)
Total | 100.15 MB/s (25.0k) | 434.55 MB/s (6.7k)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
—— | — —- | —- —-
Read | 198.43 MB/s (387) | 247.32 MB/s (241)
Write | 208.97 MB/s (408) | 263.79 MB/s (257)
Total | 407.41 MB/s (795) | 511.12 MB/s (498)

Een hoge lees- en schrijfsnelheid is essentieel wanneer je te maken hebt met informatieverwerking die je niet kunt cachen. Zoals bij databasemutaties in een webshop. PHP processen zullen hier op moeten wachten. Ook als het gaat om rekensnelheid voor webserver toepassingen toont YABS aan dat ons platform minstens een factor drie sneller is.

Rootnet

Geekbench 5 Benchmark Test:
———————————
Test | Value
|
Single Core | 1498
Multi Core | 5655
Full Test | https://browser.geekbench.com/v5/cpu/21489752

Geekbench 6 Benchmark Test:
———————————
Test | Value
|
Single Core | 2101
Multi Core | 6641
Full Test | https://browser.geekbench.com/v6/cpu/2015112

Digital Ocean

Geekbench 5 Benchmark Test:
———————————
Test | Value
|
Single Core | 493
Multi Core | 1586
Full Test | https://browser.geekbench.com/v5/cpu/21426204

Geekbench 6 Benchmark Test:
———————————
Test | Value
|
Single Core | 641
Multi Core | 1947
Full Test | https://browser.geekbench.com/v6/cpu/1840702

Concreet betekend dit dat een website of applicatie een snellere reactietijd geeft wanneer deze is gehost op ons platform. En je behaalt een beter rendement per Virtual Private Server wat vooral voor Digital Agencies aantrekkelijk is. In tegenstelling tot veel aanbieders reken je namelijk niet af per project maar per server. Zolang de load (en natuurlijk schijfruimte) het toe laat kun je projecten hierop blijven aanmaken. Op een snellere server kun je meer websites en applicaties onderbrengen. Zit een server alsnog vol? Dan schaal je deze eenvoudig op.