Skip to content
Tech

Pourquoi ma migration de schéma s'exécute-t-elle avant de vérifier que les services déployés peuvent la supporter ?

83

Opportunité

Lorsque vous poussez une modification de schéma en base de données de production, la migration s'exécute avant qu'un quelconque outil vérifie que les versions de services actuellement en cours d'exécution peuvent lire et écrire la nouvelle structure. Une colonne supprimée ou un champ renommé atteint la base de données avant que les anciens pods aient fini de drainer, et le rollback restaure le schéma mais pas les données écrites par la nouvelle version entre-temps. Les outils ORM génèrent du SQL à partir de diffs mais ne modélisent rien de la topologie de déploiement, des versions de services concurrentes, ni des patterns de lecture-écriture en direct. Les équipes compensent avec des rituels expand-contract documentés dans des wikis et un savoir tribal, non imposés par les outils. Une seule étape mal ordonnée a déclenché des défaillances en cascade sur plusieurs services et un incident documenté à 4,5 millions de dollars rien que l'année dernière.

Pourquoi c'est important

Une vérification de compatibilité pré-vol modélisant votre topologie de services en direct transformerait l'étape la plus risquée d'un déploiement en quelque chose sur lequel vous pouvez raisonner avant d'appuyer sur Appliquer.

Comment j'évalue l'opportunité

Le Score d'Opportunité est mon évaluation personnelle, pas une mesure : l'intensité de la douleur, sa fréquence et le peu de solutions qui existent aujourd'hui. Plus il est élevé, plus je pense que le problème vaut la peine d'être résolu.

Gravité9/10

L'intensité de la douleur qu'il provoque lorsqu'il se manifeste.

Fréquence8/10

La fréquence à laquelle les gens y sont réellement confrontés.

Espace libre7/10

Le peu de bons outils qui existent pour y remédier aujourd'hui.

D'autres problèmes qui méritent d'être résolus