Azure SQL-database. Lekker simpel en snel?
En alles blijft zoals het was…
Organisaties die hun SQL Server naar Azure verhuizen, verwachten een soepele overgang. Technisch klopt dat vaak ook: de migratie is compleet, de applicatie reageert, niemand klaagt. Tot de eerste echte factuur binnenkomt. Een stuk hoger dan de businesscase beloofde. Edco Wallet, mede-oprichter van OptimaData, ziet dit patroon keer op keer. In deze blog legt hij uit waarom het probleem niet bij Azure ligt maar bij de database zelf, en wat je eraan kunt doen.
Een tijdje terug had ik een oude trui. Dikke, warme wollen trui, jaren trouw gedragen. Ik woonde erin. Op een gegeven moment raakte het bovenstuk gerafeld en dacht ik: ik laat hem opknappen. Nieuwe boorden, nieuwe kraag, opgeknapt geheel. Klaar voor weer tien jaar.
Drie weken later begaven de mouwen het, toen de elleboog, toen de zoom. Ik had de buitenkant vernieuwd, maar het weefsel zelf was gewoon op.
Dit is precies wat ik organisaties zie doen met hun databases bij een cloud-migratie. Ze trekken hun bestaande SQL Server een nieuwe jas aan (Azure VM, schitterende cloud, gloednieuwe netwerkinfrastructuur) en gaan ervan uit dat de database vanzelf meeschaalt naar dat moderne jasje. Drie maanden later komt de factuur. Dan blijkt het weefsel het probleem te zijn, niet de jas.
Klant migreert SQL Server naar Azure. Lift-and-shift, netjes uitgevoerd. Eerste weken is iedereen blij, maar dan komt de maandafsluiting en blijkt dat de database toch niet goed performt. Er wordt capaciteit bijgeschakeld. Hup, de VM snel twee maatjes groter. Alles draait weer, queries lopen, applicatie reageert. Niemand klaagt meer, vergeten en weer door. De kracht van de cloud is maximaal benut.
Dan komt maand drie, en met maand drie komt de eerste serieuze factuur. Een stuk hoger dan de businesscase beloofde. Paniek. De reflex: “Azure is duur.” Of: “Laten we naar AWS kijken.”
In negen van de tien gevallen ligt het probleem niet bij Azure. Het ligt bij de database zelf.
On-premise hardware is meedogenloos vergevingsgezind. In je eigen datacenter merkt niemand het als je wat CPU-power hebt toegevoegd aan een VM. Die draait wat harder, de disken lezen wat meer, klaar. De stroomrekening verandert niet, de hardware is afgeschreven, CPU-capaciteit is ‘gratis’ CPU-capaciteit.
In de cloud betaal je extra voor elke CPU, ook de CPU die je niet gebruikt. Een query die on-premise gewoon “een beetje traag” was, wordt in Azure opeens een doorlopende geldkraan.
Hier zit het wrange. Deze patronen zijn niet nieuw. Ze zaten er al jaren in. On-premise werden ze opgevangen door de hardware; dure, ruim gesizede servers die de inefficiëntie absorbeerden.
De cloud rekent. Elk inefficiënt patroon krijgt een prijskaartje, en dat prijskaartje verschijnt elke maand opnieuw op de factuur. Wat in je eigen datacenter een verborgen schuld was, wordt in Azure een zichtbare rekening.
Zo bekeken is een cloud-migratie een gratis audit van je database-hygiëne. Met die kleine bijkomstigheid dat de audit niet via een rapport komt, maar via een factuur.
Dat is de truc met de wollen trui: je betaalt voor het opknappen én voor de mislukking. Doe het andersom. Of in elk geval parallel.
Voordat een database naar Azure verhuist, wil ik weten hoe het staat met indexering en statistieken. Welke queries zijn de top-10 resource-verbruikers, en laten die zich herschrijven? Hoe groot is de vergeten data, tabellen die niemand bevraagt maar die wel doorgroeien? Wat is het werkelijke werkpatroon: pieken, dalen, idle-momenten? Welke onderdelen zijn pure legacy en zouden verbouwd moeten worden naar een ander patroon?
Sexy werk is het niet. Geen migratie-feestje, geen lintje doorknippen. Wel het verschil tussen 20% besparen op je Azure-factuur en 50% méér betalen dan je ooit had verwacht.
We doen het via onze QuickScan of HealthCheck, afhankelijk van hoe diep je wilt graven. Enkele dagen tot een aantal weken werk waarin we de zwakke plekken in kaart brengen vóórdat ze in Azure een prijskaartje krijgen. Wat eruit komt is geen dik rapport voor in de lade, maar een concrete lijst met acties: deze indexen erbij, deze queries herschrijven, deze data weg, dit patroon aanpassen. Dat kun je ons laten doen, of we begeleiden je team erin.
Als de migratie al gedraaid heeft en je toch zit met onverwachte Azure-kosten, komt ons zusterbedrijf OptimaSure in beeld. Zij zijn gespecialiseerd in Azure FinOps en kunnen de cloudfactuur terugbrengen. Het mooiste is natuurlijk dat je hen niet nodig hebt omdat je het vooraf goed hebt aangepakt.
Een database met legacy-patronen wordt in Azure niet beter. Die wordt vooral duurder. Het goede nieuws: dat is op te lossen. Het slechte nieuws: niet door de jas te vervangen.
We kijken graag mee voordat je de oversteek waagt. Stuur een mailtje, bel even, kom langs aan de IJsselmeerweg. We bijten niet en we praten liever in het Nederlands dan in jargon.