XAOS MUHANDISLIK PRINSIPLARI

So’ngi marotaba yangilandi: 2018 May

Xaos Muhandisligi bu tizimning turli xil (xato) sharoitlarga bardoshlilik imkoniyatlarini tekshiruvchi mashg’ulot xisoblanadi

Taqsimlangan dasturiy ta’minotlar tizimini keng tarqalishi va rivojlanishi dasturiy ta’minot muhandisligi uchun juda katta o’zgarishlarni olib kelmoqda. Boshqa sohalardan farqli ravishda taqsimlangan dasturiy ta’minontlar yangi usullarni tez o’zlashtirib ularni tadbiq qila oladi. Shunday ekan juda bir muhim savol tug’iladi: tadbiq qilinmoqchi bo’lgan yangi usulni ishonchlilik darajasi qay darajada?

Taqsimlangan tizimdagi barcha individual xizmatlar xatosiz ishlagan taqdirda ham, ushbu xizmatlar o’rtasida o’zaro ta’sirlar oldindan bashorat qilib bo’lmaydigan natijalarga olib kelishi mumkin. Bashorat qilib bo’lmaydigan natijalar esa tizimni izdan chiqishi va xaotik holatga olib keltirishi mumkin.

Shuning uchun zaifliklar tizim miqyosida g’ayritabiiy holatlarni keltirib chiqarishidan oldin aniqlanishi kerak. Tizimning zaifliklari quyidagi shakllarda kelishi mumkin: xizmat mavjud bo’lmaganda tiklash sozlamalarini kutilganday ishlamasligi; tizimni qayta-qayta so’rovlar bilan to’ldirib tashlash (bu holat so’rovlar orasidagi interval vaqtni noto’g’ri belgilanishidan kelib chiqadi); tashqaridan kelayotgan trafiklar juda ham ko’payib ketishi natijasidagi uzilishlar; bir qismni ishlamay qolishi natijasida kaskadli ravishda boshqa qismlarni ishdan chiqishi; va hokazo. Foydalanuvchilar ishlatadigan xizmatga chiqarishdan oldin eng muhim kamchiliklarini faol ravishda hal qilishimiz kerak. Ushbu turdagi xaos holatlarni aniqlash va bartaraf qilish uchun tizim kerak bo’ladi.

Taqsimlangan tizmlardagi xaos holatlarni bartaraf etish uchun empirik tizimli yondashuvdan foydalaniladi. Ya’ni taqsimlangan tizmni boshqarilishi mumkin bo’lgan tajriba ostida kuzatib natijalarni taxlil qilamiz. Bunday usul Xaos Muhandisligi deb ataladi.

AMALIYOTDA XAOS

Taqsimlangan tizimlardagi noaniqliklarga murojat qilish uchun Xaos Muhandisligini bizga tajriba qilish uchun ko’makdosh sifatida keladi deyishimiz mumkin. Bundan tajribalar to’rt bosqichdan iborat:

  1. Boshlang’ich “Barqaror Holat” ni belgilab, va bu holatdagi tizimning chiqishlaridagi natijani bilib olamiz.
  2. “Barqaror Holat” boshqaruv guruhi va tajriba guruhida shundayligicha davom etadi deb faraz qilamiz.
  3. Haqiqiy xizmat ko’rsatishga joriy qilganimizda nozir bo’lishi mumkin bo’lgan notinchliklarni aks ettiruvchi o’zgaruvchilarni tadbiq qilamiz. Masalan qo’shni serverlarni ishdan chiqishi, qattiq disklarni ishdan chiqishi, tarmoqni uzilib qolishi kabilar.
  4. Boshqaruv guruhi va tajriba guruhidagi barqaror holatni farqlarini solishtirgan holda farazimizni inkor etishga harakat qiling.

Barqaror Holatni buzish qiyinlashgan sari tizimning ishonchlilik ko’rsatgichi oshib boradi. Agarda zaif tomonlar aniqlansa, bu zaifliklar baratar etilishga harakat qilinadi.

QO’SHIMCHA PRINSIPLAR

Quyidagi printsiplar yuqorida tavsiflangan tajriba jarayonlarida qo’llaniladigan Xaos Muhandisligining ideal qo’llanilishini tavsiflaydi. Ushbu tamoyillarga qay darajada rioya qilishimiz bizning taqsimlangan tizimimizga bo’lgan ishonchimiz darajasini belgilab beradi.

Barqaror Holat haqidagi farazni belgilash

Tizimning ichki atributlariga emas, balki tizimning o’lchanishi mumkin bo’lgan chiqishiga e’tibor bering. Qisqa vaqt ichida ushbu chiqish natijalarni o’lchash tizimning barqarorlik holatini tasdiqlaydi. Tizimning umumiy ishlash qobiliyati, xatolar darajasi, kechikish foizi va boshqalar ko’rsatkichlar tizimni barqarorlik holatini ifodalashi mumkin. Xaos muhandisligi tajribalar paytida systematik xatti-harakatlarga e’tibor berib tizimni ishlayotganini kuzatadi holos (tizimni qanday ishlayotganini kuzatmaydi).

O’zgaruvchan Hayotiy Hodisalar

Xaos o’zgaruvchilari hayotiy hodisalarni aks ettiradi. Hodisalarni potensial ta’siri yoki hosil bo’lish chastotasiga qarab darajasi belgilanadi. Hodisalar sifatida serverlarni ishdan chiqishi, dasturlarni xato ishlashi, traffikni birdaniga oshib ketishi kabi holatlarni belgilash mumkin. Barqaror holatni izdan chiqarishga qodir bo’lgan har qanday hodisaga Xaos tajribasidagi o’zgaruvchi sifatida qarashimiz mumkin.

Tajribani Ishlab Chiqarishda ishga tushirish

Albatta tajriba bo’lgani uchun uni tajribaviy muhitda o’tqazish havfsizliroqdir. Lekin shuni yodda tutish kerakki tajribaviy muhit haqiqiy ishlab chiqarishdagi muhitni to’la aks eta olmaydi. Chunki ishlab chiqarishdagi kirib kelayotgan trafiklar hayotiy trafik bo’lgani uchun ularni tajriba muhitida to’lalikcha amalga oshirish qiyin masala. Shuning uchun Xaos muhandisligining talabi bu iloj qadar ishlab chiqarish muhitida tajriba o’tqazish xisoblanadi.

Uzluksiz Ishlash uchun Tajribalarni Avtomatlashtirish

Tajribani birma-bir odam ishtirokida o’tkazish juda ko’p mehnat talab qiladi. Tajribani avtomatlashtirib uzluksiz integrasiya tizimi qo’shish kerak.

Zarar Yetqazish Radiusini Kamaytirish

Ishlab chiqarishda tajriba o’tqazish xavfli va haqiqiy foydalanuvchiga zarar yetqazish ehtimoli mavjud. Qisqa muddatli salbiy ta’sirni to’lalikcha oldini olish mumkin emas. Shunday bo’lsada tajriba davomida Xaos muhandisiga bu zararni kamaytirish majburiyati yuklatiladi.

Xaos Muhandisligi juda kuchli amaliyotlardan birib bo’lib, hozirgi kunda dasturiy ta’minotning yaratilishi dunyo bo’ylab katta miqyosda o’zgartirmoqda. Boshqa turdagi amaliyotlar taqsimlangan tizimlardagi tezlik va moslashuvchanlik xususiyatlarga e’tibor berayotgan bo’lsa, Xaos muhandisligi tizimni noaniqliklarga bardoshliligini ta’minlashga harakat qilyapti. Xaos prinsiplari katta miqyosadagi taqsimlangan dasturiy ta’minotni tezlikda yaratib mijozlarga yuqori sifatli xizmat ko’rsatishini ta’minlaydi.

Xaos Principlari va ularni qo’llash haqidagi munozaralarni Google Groupdagi Chaos Community da ko’rishingiz mumkin.