@NewtonProtocol operatorlar siyosat topshirig‘i tarmoq orqali o‘tgandan keyin aynan nimaga mas’ul ekanini tushunish uchun biroz vaqt o‘ylab ko‘rdim.
Avvaliga javob osondek tuyuldi.
Operatorlar siyosatni baholaydi.
Ular talab qilinadigan shartlarni tekshiradi.
Ular yakuniy isbot tomon imzolar qo‘shadi.
Oddiy.
Lekin Nyutonning bajarilish oqimini ko‘proq ko‘rgan sari, siyosatni tasdiqlash va operatsion mas’uliyatni bitta narsa deb qabul qilish tobora qiyinlashdi.
Nyutonning arxitekturasi ularni juda ehtiyotkorlik bilan ajratganga o‘xshaydi.
Siyosat vazifasi baholovdan o‘tishi mumkin.
Keyingi (downstream) amal baribir muvaffaqiyatsiz bo‘lishi mumkin.
Bu farq men avval o‘ylaganimdan ancha muhimroq.
Nyutonning hujjatlashtirilgan oqimi siyosatni baholashni tranzaksiyani bajarishdan bir nechta komponentlar bo‘yicha ajratadi. Operatorlar kerakli ma’lumotlarni olib, Rego siyosatini baholaydi va baholangan shartlar bajarilganini tasdiqlovchi agregat proofga yo‘nalgan BLS imzolarini kiritadi.
So‘ngra PolicyClient himoyalangan tranzaksiya yoki operatsiya davom etishiga ruxsat berishdan oldin agregat proofni tekshirishi mumkin.
Birinchi qarashda, bu butun oqimni bitta g‘oyaga aqliy jihatdan siqib qo‘yish oson:
“Tarmoq amalni tasdiqladi.”
Biroq bu talqin muhim bir chegarani jimgina yashiradi.
Operatorlar tarmog‘i baholash vaqtida belgilangan siyosat shartlari bajarilganini baholaydi.
U keyin sodir bo‘ladigan hamma narsa uchun mas’uliyatni avtomatik ravishda o‘z zimmasiga olmaydi.
Bu ravshan ko‘rinadi, toki bajarish hayotiy siklini yanada sinchiklab kuzatmaguningizcha.
Keyingi shartnoma (downstream contract) baribir revert qilishi mumkin.
Tashqi bog‘liqlik baribir muvaffaqiyatsiz bo‘lishi mumkin.
Tranzaksiya baribir gazdan chiqib qolishi mumkin.
Zarur xizmat baribir vaqtincha mavjud bo‘lmay qolishi mumkin.
Siyosatni baholash haqiqiy bo‘lib qolishi mumkin, lekin operatsion natija baribir keyinroq bajarish yo‘lining qandaydir joyida buzilishi mumkin.
Ajralib turgani nosozlikning mavjudligi emas edi.
Taqsimlangan tizimlar doimo nosozlik chegaralarini o‘z ichiga oladi.
Diqqatni tortgani shundaki, Nyuton o‘sha nosozliklar uchun mas’uliyatni qayerga qo‘yayotgandek ko‘rinadi.
Siyosat tarmog‘i operatorlar belgilangan qoida to‘plamini baholaganini va baholash natijasini kollektiv ravishda kelishib olganini isbotlaydi.
Biroq operatsion mas’uliyat baribir qisman atrofdagi ilova muhiti, PolicyClient implementatsiyasi, keyingi shartnomalar, infratuzilma bog‘liqliklari, bajarish taxminlari va ularni bir-biriga bog‘laydigan mantiqda saqlanib qoladi.
Bu men kutilgandan ko‘ra aniqroq ajratishni yaratadi.
Kollektiv baholash avtomatik ravishda operatsion javobgarlikni markazlashtirmaydi.
Men yana o‘sha farqqa qaytib kelaman.
Chunki zamonaviy infratuzilma tizimlari ko‘pincha bu chegaralarni bir-biriga qo‘shib yuboradi.
Foydalanuvchilar tasdiqlangan amalni ko‘radi va butun jarayonning o‘zi ham oxirigacha ishonchli bo‘lib qolgan deb o‘ylaydi.
Lekin Nyuton arxitekturasi bunidan ham ko‘proq ehtiyotkorroq ko‘rinadi.
Baholash qatlami belgilangan siyosat shartlari baholash vaqtida bajarilganini isbotlaydi.
U keyingi har bir bog‘liqlik, bajarish muhiti yoki tashqi tizim keyinchalik ham to‘g‘ri ishlashini kafolatlamaydi.
Bu turli xil xavfsizlik savollari.
Halol aytsam, ularni ajratish infratuzilma tizimlari uchun uzoq muddatda sog‘lomroq bo‘lishi mumkin.
Chunki siyosatni baholash, bajarish muhitlari, tashqi bog‘liqliklar va ilova mantig‘i hammasi doimiy ravishda o‘zaro ta’sirlasha boshlaganida, ularning bir xil mas’uliyat chegaralariga ega deb da’vo qilish yanada ko‘proq chalkashlik keltirib chiqarishi mumkin.
Ayniqsa adaptiv tizimlar har bir operatsion qadamni real vaqt rejimida odamlar qo‘lda tekshira oladigan darajadan tezroq muvofiqlashtira boshlaganida.
Yaroqli siyosat natijasi baribir sog‘lom bo‘lmagan bajarish muhitiga kirib qolishi mumkin.
To‘g‘ri baholangan vazifa ham ishonchsiz keyingi infratuzilmaga bog‘liq bo‘lib qolishi mumkin.
Tasdiqlangan operatsiya baribir, baholash amalga oshirilgandan keyin atrofdagi sharoitlar o‘zgargani sababli muvaffaqiyatsiz bo‘lishi mumkin.
Tarmoq shartlarni tekshirishi mumkin.
U ularning atrofidagi reallikni muzlatib qo‘ya olmaydi.
Bu Nyuton arxitekturasi ichida yashiringan eng muhim farqlardan biridek tuyuladi.
Shuningdek, bu mas’uliyatni ushbu tizimlar ustiga quradigan foydalanuvchilarga qanday kommunikatsiya qilish kerakligini ham o‘zgartiradi.
Operator konsensus siyosat to‘g‘ri baholanganini isbotlashi mumkin.
U bajarish baholash chegarasidan chiqib, kengroq ilovalar hayotiy sikliga kirgach, operatsion mas’uliyat qayerga o‘tishini avtomatik ravishda tushuntirib bermaydi.
Bu albatta kamchilik degani emas.
Ko‘p jihatdan, u yanada halol infratuzilma modeli bo‘lishi mumkin.
Taqsimlangan siyosatni baholash avtorizatsiya qarorlari atrofidagi ishonch taxminlarini kamaytirishi mumkin, kriptografik kelishuv esa tizimning qolgan qismidagi operatsion riskni sehrli tarzda yo‘qotadi, degan da’voni qilmasdan.
Shunga qaramay, ajratish muhim infratuzilma savollarini tug‘diradi.
Agar siyosat tasdiqlangandan keyin keyingi bog‘liqlik (downstream dependency) nosoz bo‘lib qolsa, ilovalar bu farqni foydalanuvchilarga qanday kommunikatsiya qilishi kerak?
Qayta urinish (retry) mas’uliyati qayerda bo‘lishi kerak?
Baholangan siyosat chegarasidan tashqarida yana qancha operatsion ishonch turibdi?
Va avtonom moliyaviy tizimlar bir nechta muhit bo‘ylab amallarni uzluksiz muvofiqlashtira boshlaganida, foydalanuvchilar qaysi qatlam aslida muvaffaqiyatsizlikka uchraganini aniq tushunadimi?
Nyutonning arxitekturasi bir savolga juda ehtiyotkorlik bilan javob berayotganga o‘xshaydi:
siyosat shartlari kollektiv tarzda baholangan va tekshirilganmi-yo‘qmi.
Qiyinroq savol keyinroq boshlanishi mumkin.
Tekshirilgan bajarish real dunyoga kirgach, operatsion mas’uliyat aynan qayerga ko‘chadi?
