Hyper App
Jurnalga qaytish
Engineeringβ€’ March 5, 2026β€’ 9 min read

Mijozlarni 24 Soat Ichida Qanday Ko'chiramiz β€” Bitta Baytni Ham Yo'qotmasdan

SRE Team
SRE TeamSayt Ishonchliligi Muhandisligi
Ulashish
Mijozlarni 24 Soat Ichida Qanday Ko'chiramiz β€” Bitta Baytni Ham Yo'qotmasdan

Bulut migratsiya yo'riqnomamizning batafsil tahlili: infratuzilmani to'liq ko'chirishni bitta texnik xizmat ko'rsatish oynasida qanday rejalashtirish, mashq qilish va bajarish β€” foydalanuvchilar uchun to'xtash vaqtisiz va ma'lumot yo'qotmasdan.

Nima uchun migratsiya yomon obro'ga ega

Bulutga migratsiyaning ko'pchilik dahshat hikoyalari bir xil sabab bilan: jamoa bog'liqliklarni kam baholadi, mashq bosqichini o'tkazib yubordi yoki orqaga qaytish rejasi yo'q edi. Ular hamma narsani bir vaqtda ko'chirishga urindi, biror narsa sinib ketdi va orqaga qaytish migratsiyaning o'zidan ko'proq vaqt oldi.

Bizning yondashuvimiz migratsiyani IT loyihasi emas, muhandislik muammosi sifatida ko'radi. Asosiy tushuncha oddiy: haqiqiy o'tkazishni boshlagunimizcha, biz allaqachon migratsiyani bir marta o'tkazdik β€” staging muhitida β€” va natijani tekshirdik. O'tkazish oynasi biz allaqachon mashq qilgan spektaklning yakuniy namoyishi xolos.

1-bosqich: Me'moriy kashfiyot (–7 dan –4 kunlargacha)

Birorta VM ajratishdan oldin, biz mavjud infratuzilmangizni batafsil xaritalash uchun uch-to'rt kun sarflaymiz. Biz faqat o'qish rejimida muhitingizga ulanamiz va har bir komponentni hujjatlashtirramiz: hisoblash namunalari va ularning spetsifikatsiyalari, ma'lumotlar bazasi klasterlari va ularning replikatsiya topologiyasi, saqlash hajmlari, yukni muvozanatlash qoidalari, DNS yozuvlari va TTL qiymatlari, uchinchi tomon xizmat integratsiyalari.

Β«Migratsiya qarzigaΒ» alohida e'tibor beramiz β€” o'tkazish paytida muammo tug'diradigan konfiguratsiya tanlovlari: ilova konfiguratsiyalarida qattiq kodlangan IP manzillar, ma'lum xost nomlarga bog'langan SSL sertifikatlari, ilova serverlarida mahalliy saqlanadigan sessiya holati yoki ma'lum fayl tizimi yo'lini taxmin qiladigan cron ishlar.

Kashfiyot natijalari

  • β€’ Bog'liqliklar bilan to'liq infratuzilma xaritasi
  • β€’ Ma'lumotlar bazasi replikatsiya topologiya diagrammasi
  • β€’ TTL qiymatlari bilan DNS yozuvlar inventariyasi
  • β€’ Migratsiya xavflari registri va kamaytirish choralari
  • β€’ Orqaga qaytish tartibi (yozilgan, taxmin qilingan emas)
  • β€’ Barcha muhim yo'llarni qamrab olgan tutun testlari to'plami

Migratsiyadan oldingi qurilish

  • β€’ Hyper App da ko'zgu muhit (bir xil spetsifikatsiya)
  • β€’ Manba ma'lumotlar bazalarining o'qish replikalari, sinxronlashtirilgan
  • β€’ Ilova konfiguratsiyalari yangi muhit uchun yangilangan
  • β€’ Yukni muvozanatlash va xavfsizlik guruhlari sozlangan
  • β€’ Monitoring va ogohlantirish ulangan
  • β€’ O'tkazish yo'riqnomasi (bosqichma-bosqich, vaqt chegaralangan)

2-bosqich: Mashq (–3 dan –1 kunlargacha)

Biz Hyper App da to'liq parallel muhit quramiz va to'liq sinov migratsiyasini o'tkazamiz: ma'lumotlar bazasi replikasini ko'taramiz, ilovani yangi infratuzilmaga yo'naltiramiz va har bir muhim yo'l ishlashini tasdiqlash uchun tutun test to'plamimizni o'tkazamiz. Biz buni kamida ikki marta qilamiz β€” qo'chirmalar orasida muammolarni tuzatib β€” shunday qilib haqiqiy o'tkazish oynasida bo'lganimizda, har bir qadam qancha vaqt olishini va xatarlar qayerda ekanligini aniq bilamiz.

3-bosqich: O'tkazish oynasi (24 soat)

Haqiqiy o'tkazish eng past trafik davrida rejalashtirilgan β€” odatda Toshkent vaqti bilan kechki soat 2 dan 6 gacha. Biz yo'riqnomani bosqichma-bosqich bajaramiz, har bir bosqichda vaqt chegaralari bilan. Agar biron bosqich belgilangan vaqtdan uzoqroq davom etsa, to'xtatamiz va baholaymiz.

  1. Ilovada texnik xizmat ko'rsatish rejimini yoqish (yoki ulanishlarni muamrosiz tugatish).
  2. Ma'lumotlar bazasi replika kechikishi nolga tengligini tasdiqlash β€” bo'lmasa kutish.
  3. Hyper App da replikani asosiyga ko'tarish. Manbadan replikatsiyani to'xtatish.
  4. Ilova konfiguratsiyasini yangi hisoblash va ma'lumotlar bazasi so'nggi nuqtalariga ishora qilish uchun yangilash.
  5. DNS TTL ni 60 soniyaga kamaytirish (48 soat oldin oldindan bajarilgan). DNS yozuvlarini yangilash.
  6. Texnik xizmat ko'rsatish rejimini o'chirish. To'liq tutun test to'plamini ishga tushirish. Barcha tekshiruvlar yashil β†’ davom etish.
  7. 4 soat davomida xato darajalarini, kechikishni va ma'lumotlar bazasi ulanish sonlarini kuzatish.
  8. Migratsiya yakunlandi. Manba infratuzilmasi orqaga qaytish varianti sifatida 7 kun to'xtatilgan holatda saqlanadi.
Β«Stressli kechaga tayyor edim. Buning o'rniga yo'riqnoma bosqichma-bosqich bajarilayotganini kuzatdim. Soat 4 ga kelib hamma narsa yashil edi va men uxlagani ketdim. Ishtirok etgan eng yaxshi migratsiya.Β»
β€” Infratuzilma rahbari, mintaqaviy elektron tijorat platformasi

Qachon orqaga qaytamiz β€” va nima uchun bu muvaffaqiyatsizlik emas

Biz migratsiyadan keyingi birinchi etti kun davomida manba infratuzilmasini ishlayotgan va mavjud holda saqlaymiz. Agar kutilmagan narsa paydo bo'lsa β€” kamdan-kam ishlatiladigan integratsiya, ilovadagi chekka holat β€” orqaga qaytish 30 daqiqadan kam vaqt oladi: DNS ni yangilash, manba ma'lumotlar bazasini qayta ko'tarish, bajarildi.

Biz o'tkazgan barcha migratsiyalarda ikki marta orqaga qaytdik. Har safar muammo birinchi soat ichida aniqlandi, orqaga qaytish toza bo'ldi va keyingi migratsiya (muammo bartaraf etilgandan so'ng) hodisasiz yakunlandi. Orqaga qaytish muvaffaqiyatsizlik emas β€” bu mo'ljallanganidek ishlaydigan reja.