TGTGInsighttelegram-intelligenzLIVE / telegram public index
← IT suhbat
IT suhbat avatar

TGINSIGHT POST

Post #877

@it_suhbat

IT suhbat

Ansichten1,430Anzahl der Ansichten
Gepostet23. Sept.23.09.2023, 14:31
Beitragsinhalt

Inhalt

Beta, Gamma, preprod, prod muhitlar haqida User-base katta kompaniyalarning CI/CD pipelinelarida beta, gamma, preprod va prod environment uchratish mumkin. Ho'sh ularni farqi qanaqa va nimaga kerak? Beta - bu playground. Yani pipeline o'zgarishlarini local o'rnatib chiqmasdan yoki research uchun kirib tekshirib chiqish imkoni bor bogan muhit. Injenerlar oz shaxsiy code-ini yuklashga imkoni bor va QA-injenerlar pressure test qilishlari ochiq joy. Bu yerdagi hattoliklar uchun togridan togri bug ochilmaydi. Gamma - muhit access uchun chegaralangan bo'lsa ham playground kabi faqat user sifatida tekshirish uchun joy. Odatda, Beta va Gamma depedency-lari ularning ham gamma muhitlarga yo'naltirilgan bo'ladi. Yani qo'shni jamoingiz servisiga bog'liqlik bo'lsa, ularning gamma endpointlarini ishlatish kerak. Yani pressure test yoki load-test qilaman deb ularni prod environmentiga tasir etmasligi shart. Shuning uchun pipelinedan tashqari o'zgarishilar gammada mumkin emas, sanoqli odam admin-accessga ega bo'lishi kerak. Preprod - gammadan asosiy farqlari - (1) dependencylar ham prodga yo'naltirilgan, (2) prod-ni birga bir nusxasi, (3) o'zgarishlar prodga chiqishidan oldin ma'lum vaqt preprodda sinalgan (canary-test orqali) va malum vaqt ichida muammo chiqmasa prodga o'zgarish chiqadi. Dependencylar prodga qaratilganligi uchun, jamoalarning foydalanuvchilar kabi ichki accountlari bo'ladi. Shu account-da integration-testlarni o'tkazgandan keyin, prodga chiqishga ruxsat beradi. Shu yerda aytib otish joizki, gammada ham integration test o'tkazilishi mumkin. Prod - foydalanuvchilarga ochiq muhit, to'g'rirog'i ularning muhiti. Software developmentdan faqat canary-test yurg'izilishi mumkin. Shu joyida aniqlik kiritib o'tmoqchiman. canary test - har doim api ni bir xil input bilan tekshirib turadigan test. U yiqilsa demak customerlarda ham muammo bolayotgani yoki bolishi mumkinlik belgisi. Canary test vaqt-intervalida har bir APIni tekshirib turadi, kutilmagan javob kelsa, signal beradi. Yani foydalanuvchilardan oldin hattolikni topishiga yordam beradi. Integration test - tizim dependency-lar bilan to'g'ri ishlashi uchun yurg'iziladigan joy. Ko'p hollarda end-to-end(e2e) testlar bilan farqi yo'q darajada, barcha funktsiyalarni boshidan oxirigacha to'g'ri ishlashini tekshirishga yo'naltirilgan bo'lishi mumkin, xolbuki integration va e2e testlar bir xil tushuncha emas.