Skip to content
Tech

Mengapa migrasi skema saya berjalan sebelum memeriksa apakah layanan yang sudah di-deploy dapat bertahan darinya?

83

Peluang

Ketika Anda mendorong perubahan skema ke database produksi, migrasi dieksekusi sebelum alat apa pun memverifikasi bahwa versi layanan yang sedang berjalan dapat membaca dan menulis bentuk baru tersebut. Kolom yang dihapus atau field yang diubah namanya mencapai database sebelum pod lama selesai draining, dan rollback memulihkan skema tetapi bukan data yang ditulis oleh versi baru sementara itu. Alat ORM menghasilkan SQL dari diff tetapi tidak memodelkan apa pun tentang topologi deployment, versi layanan yang berjalan secara bersamaan, atau pola baca-tulis yang aktif. Tim mengimbangi hal ini dengan ritual expand-contract yang terdokumentasi di wiki dan pengetahuan turun-temurun, bukan yang diterapkan oleh alat. Satu langkah yang salah urutan memicu kegagalan kaskade lintas layanan dan insiden senilai $4,5 juta yang terdokumentasi hanya dalam setahun terakhir.

Mengapa ini penting

Pemeriksaan kompatibilitas pra-penerbangan yang memodelkan topologi layanan langsung Anda akan mengubah langkah paling berisiko dalam sebuah deployment menjadi sesuatu yang dapat Anda pertimbangkan sebelum menekan tombol apply.

Cara saya menilai peluang

Skor Peluang adalah penilaian pribadi saya, bukan pengukuran: seberapa besar dampaknya, seberapa sering terasa, dan seberapa sedikit solusi yang ada saat ini. Semakin tinggi skornya, semakin layak menurut saya untuk dibangun.

Tingkat Keparahan9/10

Seberapa besar masalah yang ditimbulkannya saat muncul.

Frekuensi8/10

Seberapa sering orang benar-benar menghadapinya.

Ruang Kosong7/10

Betapa sedikitnya alat yang baik tersedia untuknya saat ini.

Lebih banyak masalah yang layak diselesaikan