Skip to content
Tech

Waarom wordt mijn schemamigratie uitgevoerd voordat is gecontroleerd of de actieve services dit overleven?

83

Kans

Wanneer je een schemawijziging naar een productiedatabase pusht, wordt de migratie uitgevoerd voordat enig hulpmiddel verifieert dat de momenteel actieve serviceversies de nieuwe structuur kunnen lezen en schrijven. Een verwijderde kolom of hernoemde veld bereikt de database voordat oude pods klaar zijn met draining, en een rollback herstelt het schema maar niet de gegevens die in de tussentijd door de nieuwe versie zijn geschreven. ORM-tools genereren SQL op basis van diffs maar modelleren niets over implementatietopologie, gelijktijdige serviceversies of live lees-schrijfpatronen. Teams compenseren dit met expand-contract-rituelen die zijn gedocumenteerd in wiki's en via kennisoverdracht, niet afgedwongen door tooling. Één enkele verkeerd geordende stap leidde tot cascadestoringen over meerdere services en een gedocumenteerd incident van 4,5 miljoen dollar afgelopen jaar.

Waarom het belangrijk is

Een compatibiliteitscontrole vooraf die je live servicetopologie modelleert, zou de riskantste stap in een deployment omzetten in iets waarover je kunt nadenken voordat je op uitvoeren drukt.

Hoe ik de kans beoordeel

De Opportunity Score is mijn eigen inschatting, geen meting: hoe ernstig het pijn doet, hoe vaak het toeslaat, en hoe weinig er vandaag de dag bestaat om het op te lossen. Hoger betekent dat ik denk dat het meer de moeite waard is om te bouwen.

Ernst9/10

Hoeveel pijn het veroorzaakt wanneer het zich voordoet.

Frequentie8/10

Hoe vaak mensen er daadwerkelijk tegenaan lopen.

Witruimte7/10

Hoe weinig goede tools er vandaag de dag voor bestaan.

Meer problemen die het oplossen waard zijn