Door Mark van der Kruit en Tomas Hochstenbach

De grote serververhuizing - Dag True, hallo Exonet! - Tweakers-vlog #20

29-03-2026 • 06:00

119

Als het goed is heb je er niets van gemerkt … Maar de afgelopen weken hebben we misschien wel de grootste operatie ooit uitgevoerd bij Tweakers: de verhuizing van onze servers van True in Amsterdam naar Exonet in Ede. In deze video zie je hoe dat eraan toeging.

00:00 - De grote serververhuizing - Dag True, hallo Exonet!
00:22 - Datacenter euNetworks
01:06 - De laatste restanten van het Tweakers-rack
05:12 - Van de stad naar het platteland
06:17 - Onze nieuwe hostingprovider: Exonet
08:12 - Ons nieuwe datacenter Bit

Reacties (119)

Sorteer op:

Weergave:

Bolletje Moderator Harde Waren 29 maart 2026 13:31
Leuke video! Mooi dat het soepel verlopen is. :)

Aan het begin werd gezegd "TRUE dc gaat eind van het jaar dicht" en later dat de activiteit in de afgelopen weken gebeurd is en dat het voor 1 april moest. Was dit project onder toch wel wat tijdsdruk? Van de melding "we stoppen met de sponsoring" tot een alternatief vinden en het omzetten. Ik kan me indenken dat naast het technische werk van het omzetten, dat een alternatieve locatie vinden misschien ook wel wat tijd kost? Of was dat relatief snel gevonden?

En met beargumentatie over cloud ben ik het eens; het zorgt voornamelijk voor de flexbiliteit. Maar je moet je min of meer al omscholen en er bovenop 'FinOps' gaan uitvoeren om dat beheersbaar te houden. Bij veel organisaties zie ik ze 'cloud' dan wel gebruiken om snel er wat bij te hebben, maar dan niet (dynamisch) afschalen. Dus dat runt dan de hele tijd door tegen hoge kosten.

Waar 'cloud' van de hyperscalers vaak ook nog voordelen heeft is dat ze extra diensten aanbieden bovenop compute. Dat is vaak Azure, AWS of GCP specifiek gemaakt, zoals Azure Fabric. Maar als je daar geen gebruik van of wil maken vervalt dat argument ook.

Ik vind het ook wel iets tweakers om het zelf te hosten, maakt het toch meer tweakers (en je krijgt er leuke video's van zoals deze en de vorige).

[Reactie gewijzigd door Bolletje op 29 maart 2026 13:31]

FOK! Heeft hetzelfde gehad. Lijkt mij dat die 1 april best laat is gecommuniceerd. Maar ze zijn er allemaal een beetje vaag over.
Ja, het was vaag en niet erg strak georganiseerd.

Het werd heel laat gecommuniceerd: november 2025. Zoiets wil je een jaar van tevoren weten, niet krap 5 maand. Mailtje had de vreemde titel "Onderhoudsaankondiging – Verhuizing naar nieuw datacenter", alsof het sluiten van en DC een standaard onderhoud is. 8)7

En ze deden over de reden ook erg vaag - ze vertelden namelijk dat het datacenter aan het verzakken was? Later vonden we dit nieuwsitem uit juli: https://www.datacenterdynamics.com/en/news/eunetworks-reportedly-shutting-down-amsterdam-data-center/ - en het was dus al minimaal 4 maanden eerder bekend, en niet omdat de grond aan het verzakken was. Ik vind het erg vaag dat de contracten met de internet-providers werd opgezegd, terwijl de klanten nog van niets wisten.

En dit lijkt me de echte reden waarom euNetworks stopt: https://www.fundainbusiness.nl/kantoor/amsterdam/object-89083629-willem-fenengastraat-45/

[Reactie gewijzigd door vinx77 op 29 maart 2026 22:52]

Waarom betwijfel je eigenlijk de gegeven reden en stel je dat het bouwproject waar je naar verwijst de 'echte' reden is?

Het feit dat in juli in het nieuws kwam dat de eigenaar van het gebouw andere plannen had wil namelijk niet zeggen dat er geen (dreigende) verzakking is. En bik dat risico ga je niet even snel herstellen als er nog een grote huurder in het pand zit die een enorme claim kan leggen als bij herstel of verzskking de bedrijfvoering (miljoenen)schade kan hebben. Dan heb je al snel andere (herstel)plannen dan een huurcontract eerst verlengen voor bijvoorbeeld 10 jaar.

Daarbij is het bouwplan waar je naar verwijst gepland op ruim 200 meter afstand van het datacenter. Dat is niet alleen ten zuide van de metrolijn maar ook nog zuidelijker van de bebouwing aan de eerst volgende straat. In een geheel ander gebied. Daarmee is niet zomaar wel een verband en je toont daarmee geen enkel verband aan door het te suggereren.
Niemand heeft ooit het bouwproject genoemd - daar kwam ik toevallig zelf recentelijk achter. De verzakking zou al gaande zijn, volgens het verhaal - en dat kon ik makkelijk controleren met open data. Het is niet 200m van de DC - het zijn meerdere gebouwen, en het adres van het project is 200 meter vanaf de DC. Het nieuwsartikel suggereert het wel duidelijker met het woord 'herbestemming'.

Dus ja, ik geloofde het verhaal niet. En hopelijk is met de extra info het wat duidelijker.
Ik kan niets zeggen over de (voormalige) sponsoring van True. Het was al wel maanden bekend dat dit datacenter ging sluiten. Eerder deze maand heeft Tweakers hun .plan gepubliceerd - maar ik ga er gemakshalve vanuit dat de interne discussies op zijn minst eind vorig jaar al gevoerd zijn.

Tof dat ze een plekje bij Exonet gevonden hebben!
Eind vorig jaar kregen we het officieel te horen, onofficieel wist ik al dat we moesten verhuizen halverwege juli. Maar toen was het idee nog om met True mee te gaan.

ik vond het inderdaad erg kort dag, ik had liever een half jaar meer tijd gehad, want nu viel al bijvoorbeeld half december weg
Ik snap wel dat Tweakers niet zomaar naar de cloud gaat. De hoeveelheid performance en storage die nodig is maakt dat gewoon erg duur. De flexibiliteit van de cloud is helemaal niet nodig. En ik schat in dat Tweakers misschien wel helemaal niet cloud-native is. Ik schat zo in dat Tweakers draait op een database cluster (MariaDB?), webserver cluster (Nginx of Apache?) en een storage cluster. Het komt er dan op neer dat je in feite allemaal dikke compute nodes huurt. Dat is doorgaans 3x duurder dan zelf hosten. Waar doe je het dan voor?

Als ik het zelf zou moeten beheren zou ik denk ik ergens wat dedicated servers huren. Je hoeft dan een stuk minder na te denken over de hardware, netwerk en firewall. Ook die kosten zijn natuurlijk wat hoger, maar geeft je ook wel de flexibiliteit om een paar maanden wat extra hardware er bij te zetten, of juist af te schalen.
Ik snap wel dat Tweakers niet zomaar naar de cloud gaat.
Ze hebben feitelijk al de “Private Cloud”. Zoals @Kees namelijk al zegt: “Ons eigen stukje internet”. Dat zegt simpelweg dat ze een of meerdere eigen IP blokken hebben, waarop ze hun private cloud kunnen distribueren.
De hoeveelheid performance en storage die nodig is maakt dat gewoon erg duur.
Helemaal mee eens. In de cloud betaal je gewoon een flink voor het feit dat je geen fysiek werk wilt hoeven te verzetten. Daar komt echter voor terug dat je een Azure of AWS guru moet zijn om met de terminologie om te kunnen gaan, om vervolgens hetzelfde te kunnen doen als op je private cloud. En daarbij komt dat je vaak een baklading aan extra features erbij krijgt die je helemaal niet gebruikt maar wel voor betaalt. Om nog maar niet te spreken over jezelf vastzetten in het ecosysteem van een dergelijke partij.
De flexibiliteit van de cloud is helemaal niet nodig. En ik schat in dat Tweakers misschien wel helemaal niet cloud-native is. Ik schat zo in dat Tweakers draait op een database cluster (MariaDB?), webserver cluster (Nginx of Apache?) en een storage cluster. Het komt er dan op neer dat je in feite allemaal dikke compute nodes huurt. Dat is doorgaans 3x duurder dan zelf hosten. Waar doe je het dan voor?
Servers huren is ook altijd duurder dan servers zelf inkopen (hoewel geheugencapaciteit momenteel wel echt een grote domper op de prijs is). Voor tijdelijke projecten is een server huren een erg goed plan. Wanneer je over de langere termijn echter gaat werken, dan heb je wat meer aan een eigen server. Daargelaten dat een server van jezelf in eigen beheer staat en een server van iemand anders, vanzelf sprekend niet. Dat stukje manager hosting betaal je ook voor.

Wat ik als Ops/DevOps -persoon juist vaak zie, is dat Nginx veel gebruikt wordt voor load balancing en proxy-en. Daar is die heel sterk in. Ik durf zo niet te zeggen waar de applicaties (want dat zullen er meerdere zijn) op draaien (puma, php, etc), maar dat wordt dan simpelweg vanuit meerdere servers naar de nginx proxy gestuurd, zodat die kan bepalen vanaf welke server, met welke load, Tweakers.net op je scherm wordt getoverd.

Voor een applicatie als Tweakers.net verwacht ik dat er meerdere PostgreSQL databases gebruikt worden. Dat is een stuk flexibeler dan MariaDB en past ook een stuk beter in de geest van Tweakers.net. Maar ook iets als ElasticSearch voor zoekmachine en Redis voor snelle queries.
Als ik het zelf zou moeten beheren zou ik denk ik ergens wat dedicated servers huren. Je hoeft dan een stuk minder na te denken over de hardware, netwerk en firewall. Ook die kosten zijn natuurlijk wat hoger, maar geeft je ook wel de flexibiliteit om een paar maanden wat extra hardware er bij te zetten, of juist af te schalen.
Voor een nieuw of kort project is dat wel de juiste manier inderdaad. Als je echter weet dat je project alleen maar steady blijft of juist zou moeten groeien de aankomende paar jaren, dan is huren totaal niet interessant (wanneer je de mankracht hebt om private cloud te hosten). Die flexibiliteit wordt belangrijk wanneer de winstmarges fundamenteel relatief laag liggen en de uitgaven dus ook laag moeten blijven. Seizoensgebonden applicaties zullen daar ook veel baat bij kunnen hebben.

@Tomas Hochstenbach @Kees @TradeMarkNL vette video! Dank daarvoor. :)

[Reactie gewijzigd door InjecTioN op 29 maart 2026 10:25]

We draaien (sinds 1999) al op MySQL (varianten). Postgres hebben we heel erg lang links laten liggen omdat het qua replicatie niet al te best was, en mysql daar veel beter in was.

En nu we zo'n uitgebreide database hebben is het erg lastig om naar postgresql over te stappen. We gebruiken nog te vaak mysql specifieke functionaliteiten en niet alles is abstract in een data-laag in de applicatie.

We gebruiken overigens Ivanti Virtual Traffic Manager als loadbalancer, maar ik wil in de toekomst toch eens naar HA-proxy kijken als vervanging.

Het cluster bestaat verder inderdaad uit twee database servers, 6 kubernetes nodes waar ook de apache servers in draaien (met php). En dan 6 ceph storage nodes. En nog wat servers er omheen, zoals 3 vm servers om vm's te draaien (die bijvoorbeeld een kubernetes cluster draaien voor de test omgevingen).

Het voordeel van de cloud is dat je "stukjes" server kan huren al dan niet tijdelijk. Het nadeel van de cloud is dat als je al die stukjes continue moet huren, het vrij duur is.

Er zijn ook nog wel wat andere voordelen zoals de services die zo'n cloud heeft gebruiken, maar dan krijg je weer vendor-lockin, en als het te gemakkelijk is om verschillende services te gebruiken kun je een hele complexe applicatie maken die niemand meer snapt (waarbij het 'per applicatie' nog wel mee zal vallen, maar ik heb oplossingen gezien waarbij het ene team java en postgres gebruikte, het volgende team python en mariadb en weer een team go en sqllite)
waarbij het 'per applicatie' nog wel mee zal vallen, maar ik heb oplossingen gezien waarbij het ene team java en postgres gebruikte, het volgende team python en mariadb en weer een team go en sqllite
Ik ook en dat werkt eigenlijk wel best als het bedrijf er ook geschikt voor is. Ligt ook aan de problematiek waar het team mee worstelt. Sommige dingen gaan nou eenmaal veel beter en sneller in Go.


En wat betreft cloud, voor tweakers denk ik niet dat het zin heeft gezien de lokale load als je ‘s nachts niet dynamisch kunt afschalen (ook in read replica’s).

Lekker on-prem blijven. Ook gezien de PHP serving de betere keuze.

Ik zou zelf nooit de cloud in gaan als er PHP wordt gebruikt, aangezien je de meeste compute zelf hebt als load. Dat is idd iets heel anders dan statisch JS uitserveren via een CDN.
3x zoveel verschillende talen, betekent 3x zoveel verschillende frameworks en libraries, met 3x zoveel mogelijke kansen dat er ergens een breaking change wordt doorgevoerd.
Ik vind dit altijd een van de vervelendste zaken van backend ontwikkeling. "Het stond in de changelog". Dat zal, maar die moet dan wel gelezen zijn.

Vooral afhankelijk hoe een taal zijn versiebeheer doet hangt daar van af. Go heeft dit wel fijn geregeld, want daarin worden package versies hard vastgelegd in de .mod file. Andere package manager zoals NuGet in .NET leggen ook harde versienummers vast.
In tegenstelling tot Python's requirements waarbij vaak je "vanaf versie" of "tot versie" ziet, en er dus kans is dat er iets stuk kan gaan. NodeJS geloof ik ook zo? Van PHP composer weet ik het niet.
Wisselende versies op dev/prod welke toevallig in jouw distro release cycle zitten en/of momentaan van installatie beschikbaar was, lijkt mij zeer onwenselijk.

Ik ben zelf tegenwoordig meer in de embedded ontwikkeling hoek actief. Voor veel C(++) projecten waarin ik heb gewerkt is er geen automatisch package beheer. Je trekt dependencies in jouw source tree naar binnen, alles wordt als 1 static binary gebuild, dus alle features en bugs van libraries vallen dan onder jouw verantwoordelijkheid. Het voordeel is wel: de source code staat in je eigen tree, dus je kan alles aanpassen naar wens.
Echter wanneer je een library moet updaten (bvb een vulnerability die je zelf niet kan fixen), dan heb je kans op 1) Bugs kunnen opnieuw ontstaan, 2) Bugs kunnen subtiel anders gefixt zijn, 3) Er tal van andere breaking changes zijn.
Als incrementele versies betrouwbaar moeten blijven, is het uit den boze om blind packages te upgraden. Met zo'n mindset zie ik elke extra dependency dan ook als een lange termijn gevaar, en dus ook andere talen, frameworks, enz. Hieruit voortvloeiend krijg je helaas ook de 'not invented here' vibe.
NodeJS geloof ik ook zo? Van PHP composer weet ik het niet.
Die hebben beide lock files waar de exacte versies in staan die zijn gebruikt, op basis waarvan je in je pipeline achteraf dezelfde versies kan bouwen. Dat is dus wel aardig geregeld.
Oke, jij hebt gewoon een governance issue en niet per se issues met dependencies. Van wat je nu schetst kun je lezen dat je lifecycle- en dependency management duidelijk beter moeten om dit soort zaken te kunnen doen. Jij ziet variatie als probleem, maar stipt vervolgens alleen issues aan waar je governance gewoon niet voldoende blijkt.
3x zoveel verschillende talen, betekent 3x zoveel verschillende frameworks en libraries, met 3x zoveel mogelijke kansen dat er ergens een breaking change wordt doorgevoerd.
Maar ook 1/3e kans dat 1 groot issue je hele bedrijfsvoering platlegt ;) . Moderne organisaties werken met polyglot architecturen. "The right tool for the job". Hier zie je juist vaak dat er een aantal talen zijn (die ook redelijk gestandaardiseerd blijven hoor) waar dan uit "gekozen" kan worden. Dus bijvoorbeeld Go voor high concurrency, Python voor data, Java of .NET for backend services. Bedrijven standaardiseren dan juist op platformen met duidelijke boundaries en vaak per domein.
Ik vind dit altijd een van de vervelendste zaken van backend ontwikkeling. "Het stond in de changelog". Dat zal, maar die moet dan wel gelezen zijn.
Tsja. Als je je lifceycle management niet op orde hebt dan maakt het niet heel veel uit of je nu 1 of 5 talen gebruikt. Als je dan dergelijke fouten hebt, heb je dan je tests wel op orde?

Als "het staat in de changelog" een valide reden is, is de kans groot dat je spul niet eens meer compileert of bouwt. Dus wat ben je dan aan het doen?

Je verwart complexiteit met onbeheersbaarheid. Breaking changes zijn geen probleem als je:
  • dependencies pinned
  • CI/CD + tests hebt
  • releases beheerst
Wat je nu zegt is echt heel erg pre-devops, waar je geen contract testing hebt, geen Renovate of Dependabot, geen CI/CD tests en slecht gebruik van lockfiles. Dan kan het inderdaad een puinhoop worden ja, maar daar heb je dus gewoon oplossingen voor.
In tegenstelling tot Python's requirements waarbij vaak je "vanaf versie" of "tot versie" ziet, en er dus kans is dat er iets stuk kan gaan. NodeJS geloof ik ook zo? Van PHP composer weet ik het niet.
  • Python -> poetry.lock / pip-tools
  • Node -> package-lock.json / pnpm-lock.yaml
  • PHP -> composer.lock
Al die systemen hebben gewoon harde lock opties hoor. Alles is compleet deterministisch te maken
Wisselende versies op dev/prod welke toevallig in jouw distro release cycle zitten en/of momentaan van installatie beschikbaar was, lijkt mij zeer onwenselijk.
Is het ook. Maar daar hebben we reproducible builds en artefact deployments voor. De taal is echt totaal irrelevant in deze. Je pipelines en processen is waar het valt of staat.
Ik ben zelf tegenwoordig meer in de embedded ontwikkeling hoek actief.
Ah kijk. Daar komt de app uit de mouw. Je kunt niet het embedded wereldje op backend development projecteren. Dat zijn echt twee andere werelden waar andere processen gelden. In embedded wil je minimale dependencies, zoveel mogelijk statisch linken en ook zoveel mogelijk in eigen beheer, want het moet LANG mee. Controle en voorspelbaarheid zijn daarin key.

Bij backend development zit je op een andere as. Daar wil je je ecosysteem leveragen en gebruiken. Dus juist tool managed dependencies die je absoluut niet zelf wil beheren. Snelle development cycles en verantwoordelijkheden elders kunnen beleggen als het nodig is. Snelheid, schaalbaarheid en maintainablity. Dat doe je juist niet door je dependencies binnen te trekken als source.
Het voordeel is wel: de source code staat in je eigen tree, dus je kan alles aanpassen naar wens.
Het nadeel lijkt mij ook evident: je hebt ineens geen dependency meer, maar een nieuwe stuk legacy onderhoud. Als je eenmaal begint aan het binnentrekken en eenzijdig aanpassen van code, dan zit je dus met je hele project weer vast op een stuk extra code wat je moet gaan onderhouden en zodra je ook maar 1 regel aanpast ben je de sjaak, want je zult geheid bij de volgende update een change krijgen die je er niet meer fatsoenlijk in gefietst gaat krijgen. Je cost trade-off is echt gigantisch en dan ook echt compleet de verkeerde kant op. Je bent ineens maintainer van een stuk code die niet van jou is, omdat het een lib is, vaak veel te groot en generiek voor jouw toepassing, en je bent nog steeds afhankelijk van die derde partij voor security updates.

Dit leek op het model zoals Google dat had met Android voor updates, we weten allemaal hoe tragisch dat was. Google update -> fabrikant update -> carrier update -> een jaar verder voordat er mogelijk iets te updaten viel voor de klant.
Echter wanneer je een library moet updaten (bvb een vulnerability die je zelf niet kan fixen), dan heb je kans op 1) Bugs kunnen opnieuw ontstaan, 2) Bugs kunnen subtiel anders gefixt zijn, 3) Er tal van andere breaking changes zijn.
Again. Life cycle management en automatisering. Tests goed schrijven, Pipelines goed maken, Dependabot er op gooien en gewon gas geven. Dit is echt alleen een probleem als je je spul niet op orde hebt hoor.
is er geen automatisch package beheer.
Dit is een governance probleem.
Hieruit voortvloeiend krijg je helaas ook de 'not invented here' vibe.
Ja maar het alternatief is “we bouwen alles zelf” en dat is echt wel een anti-pattern waar je juist tegen de dingen aan gaat lopen die je wil voorkomen: Meer bugs, Minder security updates en significant hogere kosten.
Met zo'n mindset zie ik elke extra dependency dan ook als een lange termijn gevaar, en dus ook andere talen, frameworks, enz.
Maar alles wat je in "die mindset" wegzet zijn anti-patterns. Dus ik geloof niet dat iemand dat zal aanraden. De dingen die je hier als risico ziet voor de lange termijn zijn dan vaak zaken die al wel oplosbaar zijn in een vorm. DevOps is denk ik wel de oplossing voor de issues die je hier benoemd.
Als incrementele versies betrouwbaar moeten blijven, is het uit den boze om blind packages te upgraden.
Nee, Maar niemand beweert ook dat je dat blind moet doen. Sterker nog, ik weet 100% zeker dat niemand aan zal raden dat je dat ooit doet.
Ik ook en dat werkt eigenlijk wel best als het bedrijf er ook geschikt voor is. Ligt ook aan de problematiek waar het team mee worstelt. Sommige dingen gaan nou eenmaal veel beter en sneller in Go.
Het hangt inderdaad van de teams af, maar ik bekijk het zelf van de operationele kant. Ik ben lui en doe het liefst zo min mogelijk. En dus hou ik het liever bij 1 database type, 1 webserver en 1 taal. Dat maakt backups, monitoring en observability een stuk eenvoudiger

Dat is niet helemaal gelukt, want we draaien alsnog een rits aan database en talen (PHP en Java voor het grootste deel, en daarnaast nog wat python, ruby, go en c - en dan tel ik alleen de programma's mee waar ik in de source code zaken heb aangepast of plugins voor heb geschreven)
Ja begrijpelijk hoor. Vanuit enterprise zie ik ook meer standaardisatie op 1 taal + tooling rondom een select aantal van die andere talen zoals Python en Go voor het scriptwerk.

in het geval van tweakers zit er ook al weer 25 jaar aan development achter dus kan me ook nog wel wat legacy en dergelijke voorstellen. Je noemde de data complexiteit al. Als je dan wat kleiner bent en idd niet 80 teams en 500 devs hebt, dan wil je er idd zo weinig mogelijk zien.

Hoewel ik jouw lijstje nog behoorlijk vind hoor.
Als ik van NO-cript uit ga verwijst het domein Tweakers.net naar 6 domeinen zie onder.

Domein Server location Web servers

tweakers.net NL United States

dpgmedia.cloud B

ebxcdn.com Ireland Apache

optoutadvertising.com France Nginx 1.15.12

scorecardresearch.com USA United States

smartocto.com Ireland Nginx


Onder de motor kap hang er nog wat aan vast, zo als zo veel web servers. Voor mij is dit spaghetti hoe dit werkt. Zo als de vorige rapporteer aangeeft.

Als vergelijk freedom.nl die in NL zit en servers in NL. Dat misschien de website wat spartaans dan ook oogt. Wat mij persoonlijk wel aanspreekt, dat blik blik hoeft voor mij niet zo nodig.Voor Tweakers is dat ander, dat vindt ik juist leuk.

De hardware staat in Ede dus, maar het is niet zo local als wat het lijkt.
Dat zijn veelal externe scripts van partners die voor advertenties, tags, feedback, vacatures en dergelijke zorgen. Tweakers blijft gewoon werken zonder deze externe partijen. Je kan niet alles intern doen tegenwoordig (helaas).

Freedom.nl is natuurlijk een totaal andere website
Wanneer hebben jullie voor het laatst serieus naar PostgreSQL gekeken? Dat is de laatste jaren flink verbeterd, met name op de punten die je noemt. Daarbij is MySQL van Oracle, in de markt merk je dat mensen daar weg willen. Zakelijk zie ik steeds vaker dat mensen van Oracle (de database, niet MySQL) naar PostgreSQL overstappen, eventueel met/via bv EnterpriseDB of Patroni.
Ben trouwens wel benieuwd hoe de cloud business case zou uitpakken als je vanaf scratch moet beginnen. Als je alle hard- en software al hebt, en je hebt een redelijke stabiele load (en de grote, zware dingen als video’s zet je al wel in de cloud), dan is het een no-brainer. Maar als je nu een cluster moet bouwen met nieuwe servers en networking (en software!), kan het zomaar een ander plaatje worden.
37signals (Basecamp) van David Heinemeier Hansson is teruggegaan naar eigen (nieuwe) servers en zegt dat het ze alsnog veel geld bespaart.

YouTube: How hard is it to run your own servers? | DHH and Lex Fridman
Ik zou zelf waarschijnlijk nieuwe projecten in de cloud starten. Maar wel in het achterhoofd houden dat je op termijn, als het project een success is je weer uit die cloud weg wil. Of op zijn minst dat je naar een andere cloud provider wil verhuizen.

En dan kun je ook een tijd lang hybride draaien waarbij je rustig je eigen infra laat opzetten (want er zijn ook genoeg bedrijven die dat voor je kunnen overnemen; een argument dat ik vaak hoor is dat je "alles zelf" moet doen als je niet in de cloud zit; dat is niet correct, net als met de cloud zijn er ook gradaties in hoeveel je zelf doet als je je eigen servers host).
Ik ben geen expert op dit gebied...

...maar is de omvang van een project en hoeveelheid traffic niet dé bepalende factor bij de vraag of cloud goedkoper is dan zelf hosten?

Je kunt bijvoorbeeld een bedrijfskritische applicatie hebben die relatief weinig verkeer heeft (bijv. 1.000 bezoekers per dag) en prima draait op een simpele '1 vCPU VPS'. Als je die - vanwege het kritische karakter - redundant wilt opzetten voor 99,99% uptime, kun je denken aan drie eenvoudige VPS'en achter een load balancer. In de cloud is dat goedkoop te realiseren.

Wil je datzelfde zelf opzetten, dan lopen de kosten al snel op.

Aan de andere kant heb je partijen zoals Tweakers, met miljoenen pageviews per dag. Op dat schaalniveau kan zelf hosten (of eigen infrastructuur) juist goedkoper worden dan de cloud.

Voor mij gaat het dus niet zozeer om "bij succes de cloud verlaten". Een applicatie kan zeer succesvol zijn met bijvoorbeeld 1.000 betalende klanten die elk €100 per maand betalen — zonder dat de schaal ooit richting massatraffic gaat. Voor dat soort projecten kun je in de cloud veel beter terecht, met veel meer mogelijkheden èn tegen veel lagere kosten.

Niet "klein vs groot project" of "succesvol vs onsuccesvol", maar weinig vs veel traffic is m.i. de doorslaggevende factor.
Cloud is goed als je snel moet kunnen schalen, of als je zeer variabele loads hebt. Maar wanneer je loads stabiel zijn en geen grote variabiliteit kennen dan zal je meestal goedkoper uit zijn met alles zelf te hosten.

Naast het snel kunnen schalen in een cloud omgeving heb je daarnaast natuurlijk ook dat bij geval van problemen er ook 24/7 dekking is om die problemen op te lossen, en gaat dat oplossen meestal sneller omdat de cloud provider voor meer gespecialiseerde teams hebben.
Klopt is ook volgens mij veel php dus kost klauwen met geld. Wellicht alles rewriten naar rust voor wat minder co2 en kosten ⌛
wat is de reden dat True ermee stopt als sponsor?
.plan: Serververhuizing, DB-versimpeling en feedbackfixes - Development-iteratie #332
Verhuizing van de servers

In een video van ongeveer een jaar geleden hebben wij jullie laten zien hoe we Tweakers hosten. Deze video begint buiten een datacenter en neemt jullie mee naar onze servers in dat datacenter.

Helaas kregen wij in de herfst te horen dat dit datacenter op relatief korte termijn gaat sluiten. Omdat het hele gebouw leeg moet, hebben wij geen andere keuze dan ook onze servers daar weg te halen en ergens anders onder te brengen.

Hier komt nog bij dat onze hoster, die ons de afgelopen 24 jaar heeft gesponsord, in de loop der tijd zijn focus heeft verlegd en dat nu de tijd is gekomen om deze sponsorovereenkomst op te zeggen. Onze dank gaat uit naar TrueFullStaq voor de afgelopen 24 jaar, maar helaas gaan onze wegen scheiden. Wat we met onze hosting gaan doen, zullen we binnenkort in een ander artikel vertellen.
Ook bij FOK! stoppen ze als sponsor. Blijkbaar heeft True het niet meer nodig, of juist wel maar dan tegen keiharde euro's ;)
Uit het gesprek dat ik met ze had kwam inderdaad naar voren dat de klanten die wij aantrekken niet perse meer de klanten zijn waar zij zich op focussen.

Ze verhuizen zelf ook van een gehuurde ruimte met racks naar een datacenter waar ze individuele racks huren. In het oude datacenter zaten de kosten voor de sponsoring dus voornamelijk in de stroomkosten, in het nieuwe datacenter komen daar de kosten voor de ruimte bij (en een commitment op stroom). Dus hoe minder racks ze afnemen, hoe lager hun kosten zijn.

En dan is het ineens duidelijk wat de kosten zijn voor de sponsoorovereenkomsten die 25 jaar geleden door hele andere mensen gemaakt zijn en hebben ze besloten om die op te zeggen.
True is sowieso heel hard aan het afglijden naar een tweederangs partij met premium tarieven. Ik ben ook al bij ze aan het weg migreren
True was altijd een partij voor en door nerds. De laatste twee jaar is er zo veel veranderd qua focus, helaas. :/ Ze willen veel grotere klanten en dat gaat echt ten koste van dit soort samenwerkingen/sponsorships.

Eeuwig zonde, want het was zo'n leuk bedrijf... Dit laat maar weer duidelijk zien wat private equity stuk kan maken.
1.57 je "eigen" internet, het "grote" internet? We zijn toch iets technischer dan dat hier. Noem dan tenminste welke technologie gebruikt wordt.

9.30 de video's worden toch al lang niet meer bij jullie zelf gehost, maar gewoon op youtube gedropt. Als je naar het voorbeeld van de laatste nieuwe player gaat, dan krijgt Rick Astley er op youtube weer een gratis view bij.
Ons 'eigen' internet is een set aan dark fibers; een deel via Era-IX en Relined en een deel via de amsterdam dark fiber ring. Grotendeels dus gewoon services die je inkoopt en waarbij je een "prive netwerk" kan maken alsof alles in hetzelfde pand staat.

We hebben geen eigen microgolftorens opgezet (helaas).

De video's hosten we inderdaad op Youtube, maar we slaan nog steeds een kopie op van elke video die wij naar youtube uploaden. Mochten we in de toekomst van Youtube afwillen, dan hebben we nog altijd onze video's in het originele formaat en kwaliteit. Een eventuele migratie is dan relatief eenvoudig uit te voeren. Die video's staan dus ook op het storage cluster.
bedankt voor de toelichting, dat is info waar techneuten blij van worden en vroeger gewoon het standaard-niveau was van tweakers :) Als je weet wat de verschillende mogelijkheden zijn en/of waarvoor zulke jip-en-janneke uitleg soms voor gebruikt wordt, dan wil je gewoon weten waarover gesproken wordt.

Opbouwend: je kan gerust kort conceptueel beginnen, om daarna technische uitleg te geven. Als ik weet dat een klant niet technisch onderlegd is, dan weet ik dat die aan dat laatste geen booschap heeft en het voor hem alleen maar verwarrender maakt, maar omgedraait levert dat dezelfde frustratie op. Ik denk dat je ook niet de stekker uit je modem wil trekken van je consumentenlijntje als je hebt vastgesteld dat er bij de provider er een routeringsprobleem is naar een andere provider, maar de helpdesk hun script wil/moet volgen.
Ik heb inderdaad nogal de neiging om mijn werk in jip-en-janneke taal uit te leggen, want de meeste mensen die ik ontmoet zullen die kennis niet hebben.

Het nadeel van een video (ten opzichte van tekst) is dat je maar relatief kort de tijd hebt om zaken uit te leggen. Zeker in een video die je iets algemener wil hebben (want het onderwerp van de video is de verhuizing, niet perse de techniek)

Grappig genoeg is dat juist de reden dat het met Exonet zo goed klikte; daar hebben ze die kennis wel, en als je praat over vrrp, bgp, 802.3ad etc dan zie je niet hun ogen verglazen en het gesprek verstommen
Je doelpubliek/gesprekspartner kennen is cruciaal, niet in het minst omdat diens perceptie van jou en je kennis daardoor ook volledig verkeerd kan zijn. Van andere media weet je gewoon dat een host of "wetenschapsexpert" totaal geen benul heeft waarover hij het heeft, maar gewoon een script volgt en ondanks dat we elkaar niet kennen weet ik dat die kennis er wel degelijk is aan jullie kant.

Dat veel mensen hier niet weten wat het verschil tussen dark fiber en bvb mpls is (wat allebei onder de noemer "eigen internet" zou kunnen vallen als je het maar simpel genoeg wil voorstellen), zou op zich geen probleem mogen zijn. Als je die concepten benoemt kan dit hen juist triggeren om er meer over te willen weten, zonder dat je direct een deep-dive doet. Youtube staat vol explainer video's in het Engels en daar zie ik voor tweakers nog wel ruimte om in te vullen als ROI geen harde metric is om een video te maken.

Vroeger was het motto "voor en door tweakers", iets waar imho terug wat meer de nadruk op mag gelegd worden, dus bij deze nogmaals bedankt om dat gevoel (al was het maar voor even) terug te brengen.
Leuke video! Ik mis alleen een wat diepgaandere vergelijking tussen de oude en de nieuwe hosting, bijvoorbeeld op het gebied van snelheid of andere voordelen. Ik ben benieuwd wat de maximale snelheid van de aansluiting voor Tweakers is en hoe de capaciteit van de nieuwe hoster zich verhoudt tot de oude.
De snelheid van de internet verbinding is niet heel erg van invloed op hoe snel de website is. We hebben nu 2x10Gbit op de ene locatie en 1x1Gbit op de backup locatie, maar we gebruiken in een normale situatie dat bij lang na niet.

En alle hosters en datacenters hebben meerdere 100Gbit verbindingen waar het verkeer verder over heen gaat.

De capaciteit van de nieuwe vs de oude hoster zal niet merkbaar verschil maken tegenwoordig. Vroeger was dat wel anders toen hosters nog met 100mbit verbindingen werkten, maar tegenwoordig is dat niet meer merkbaar.
99% van de content is statisch? Dat kan je heel goed cache. Dat scheelt in bandbreedte =)
Mij lijkt het gebruikspatroon van tweakers juist uitermate geschikt voor cloud. Zeker als je ook nog eens Kubernetes draait met auto-scaling en dergelijke. Overdags op volle capaciteit, 's nachts minimaal geschaald.
Voor de prijs waar je bij de cloud vendoren een k8s control plane krijgt ga je het zelf ook niet doen.
Je zone-redundantie krijg je built-in , en als je slim met je non-P om gaat (lees: niet 24/7 draaien maar opbouwen en afbreken op basis van gebruik kost dat je ook veel minder dan op je eigen dedicated hardware die stof staat te happen als iedereen naar huis is.

Snap dat de business case niet te maken als je 1 op 1 migreert. Maar mij lijkt dat die case met een redesign prima te maken is.
Daarnaast kan je van de migratie gebruik maken om vol op automation / IAC te zetten en een stuk documentatie en kennisdeling. Met alle respect , maar als Kees onder een bus komt, heeft tweakers dan nu een probleem?
Waar moeten alle tweakers klagen dat AWS eruit ligt als Tweakers.net zelf gehost is op AWS?
Waar moeten alle tweakers klagen dat Exonet eruit ligt als Tweakers.net zelf gehost is op Exonet?
Op Tweakers, want als het goed is, hebben ze ongeveer dezelfde partij servers gerepliceerd in een ander datacentrum staan. 8)
De kans dat Exonet eruit ligt acht ik anders wel een stuk kleiner dan bij de public cloud. Dat ligt er toch wel meermaals per jaar eruit vanwege een grote netwerkstoring of complete cdn/loadbalancing dienst dat eruit ligt.
Al dat geschaal zal (voor veel diensten) in de eerste plaats niet nodig zijn als je gewoon de prestaties van moderne CPU's kunt benutten. In de cloud ga je helemaal kapot aan de kosten als je dat zou willen en dus moeten instanties tot het bare minimum verschraald worden qua CPU en RAM om vervolgens de mogelijkheden van de cloud te benutten om ze on demand op te schalen. Veel bedrijven die onder de schaal zitten waarbij het nodig is om horizontaal te scalen betalen voor iets dat hun eerst is afgepakt.
Creatief bedacht een 1U rail voor kabelmanagement.
Ik heb die "oplossing" al vervangen door een D-ring.

En andere mensen hebben schroefjes over na een verhuizing, ik had ineens een set sliders te veel. Geen idee waar de server is gebleven, maar het kwam achteraf wel handig uit om een extra set sliders te hebben.
Ik zou als serverbeheerder niet ál te hard roepen dat je na een verhuizing niet weet waar een server gebleven is… ;)
Het is meer een oproep; Is er iets wat niet meer werkt omdat de server erachter uit staat? Mischien dat ik er op die manier achter kan komen van welke server die sliders waren :+

(En het is natuurlijk een grapje; die sliders waren van een server die zelf al uit het rack was gehaald, maar die sliders zaten muurvast in het rack en kreeg ik niet los tot ik de server erboven ook uit het rack haalde. En toen had ik dus een extra set aan sliders over, en die kunnen best handig zijn als je bijvoobeeld switches wil ophangen en je geen tool als deze hebt)

[Reactie gewijzigd door Kees op 29 maart 2026 11:57]

en je als geen tool als deze hebt)

Super handig die racktool van Patchbox, gebruik hem hier ook al jaren om allerlei 19" spullen zonder rails makkelijk op te hangen/monteren.

Wat ook handig is bij switch vervanging zijn 2 enkele rij's patch panelen van 24 stuks, steek e all oude patches 1 op 1 om hoog of omlaag in het juist poort nummer.

Oude switch er uit en nieuwe switch er in, gelijke port config reeds geladen en je steekt ze weer 1 op 1 terug naar het juiste poort nummer.
Op 4.40 min in de video wordt gezegd al dat ze van 6 servers naar 1 server gingen. Dan houdt je heel wat kasten, kabels, sliders en schroefjes over.
het is niet omdat je per ongeluk softwarematig maar op 1 server draait, dat die overige 5 overbodig zijn ;)
Ligt die niet nog gewoon in de achterbak van je auto? Of heb je die op een obscure parkeerplaats al geruild? :Y)
Welkom in het Edese! Tja typisch Amsterdams om te zeggen dat je naar het platteland gaat. Vergeet niet je laarzen als je hier komt, allemaal zandwegen.

Herinner mij nog in het oude pand van BIT, begin ‘00 de LAN party’s. Toen al een leuke plek en al een supersnelle verbinding. Weet eigenlijk niet hoe het er nu is.

[Reactie gewijzigd door no_way_today op 29 maart 2026 09:23]

Haha, dat was misschien een beetje overdreven ja. Ik woon zelf trouwens in een boerendorp, no harm intended dus ;)
Het is je vergeven 😜, het zorgde in ieder geval voor leuke reacties.
'Harm' een echte plattelandsnaam :)
Ik had gehoopt dat ze wat specificaties hadden gegeven. Wel een leuke video.
Tegenwoordig is de overcapaciteit gereduceerd, van 6 naar 1 server.
@10:35 Zijn er nog kleine dingetjes die we nog moeten doen?

- Ja, er moet nog minimaal één Henk casebadge opgeplakt worden! :henk
Ik heb een rack lade meegenomen waar er nog twee op zitten. Helaas ben ik door mijn voorraad originele henk case-badges heen...
Kun je nog aan anderen komen? Anders stuur maar een DM.

Om te kunnen reageren moet je ingelogd zijn