Ko'p ijaraga olish haqida

Afsuski, bu atamaning ruscha ekvivalenti yo'q. Vikipediya taqdim etadi tarjima "Ko'p ijara, ko'p ijara." Bu ba'zan "ko'p mulkchilik" deb ataladi. Ushbu shartlar biroz chalkash bo'lishi mumkin, chunki mavzu asosan ijaraga yoki mulkka bog'liq emas. Bu dasturiy ta'minot arxitekturasi va uning ishlashini tashkil etish masalasi. Ikkinchisining ahamiyati kam emas.

Biz 1C: Enterprise uchun bulutli (xizmat) operatsion modeliga yondashuvni ishlab chiqish bilan bir vaqtda ko‘p ijaraga olish haqidagi tushunchamizni rivojlantira boshladik. Bu bir necha yil oldin edi. Va shundan beri bizning tushunchamiz doimiy ravishda kengayib bormoqda. Biz doimo ushbu mavzuning yangi tomonlarini (ijobiy, salbiy, murakkablik, o'ziga xoslik va boshqalar) kashf qilamiz.

Ko'p ijaraga olish haqida

Ba'zida ishlab chiquvchilar ko'p ijaraga olishni juda oddiy tushuncha sifatida izohlaydilar: "Bir nechta tashkilotlarning ma'lumotlarini bitta ma'lumotlar bazasida saqlash uchun siz barcha jadvallarga tashkilot identifikatori bilan ustun qo'shishingiz va unga filtr o'rnatishingiz kerak." Biz, albatta, bu boradagi ishimizni o‘sha paytdan boshladik. Ammo biz bu faqat bitta soha (va darvoqe, murakkab) ekanligini tezda angladik. Aslida, bu "butun bir mamlakat".

Ko'p qavatlilikning asosiy g'oyasini taxminan quyidagicha ta'riflash mumkin. Oddiy dastur - bu o'z infratuzilmasi (devorlar, tomlar, suv ta'minoti, isitish va boshqalar) bo'lgan yagona oila uchun mo'ljallangan yozgi uy. Biroq, ko'p ijaraga olish ilovasi ko'p qavatli uydir. Har bir oila bir xil infratuzilmadan foydalanadi, ammo infratuzilmaning o'zi butun bino uchun amalga oshiriladi.

Ko'p ijaraga berish yaxshi yoki yomon yondashuvmi? Bu masala bo'yicha fikrlar juda xilma-xildir. Ko'rinib turibdiki, "yaxshi yoki yomon" degan narsa yo'q. Ijobiy va salbiy tomonlarni hal qilinayotgan muayyan muammolar bilan taqqoslash kerak. Lekin bu alohida mavzu...

Oddiy ma'noda, ko'p ijaraga olish maqsadi infratuzilma xarajatlarini "ijtimoiylashtirish" orqali ilovalarga texnik xizmat ko'rsatish xarajatlarini kamaytirishdir. Bu maxsus yechim ishlab chiqish emas, balki standart yechimdan (ehtimol moslashtirish va takomillashtirish bilan) foydalanish orqali dastur narxini pasaytirish bilan bir xil yondashuv. Farqi shundaki, bir holatda rivojlanish ijtimoiylashgan, ikkinchisida esa operatsiya.

Bundan tashqari, takror aytaylik, bu savdo usuli bilan bevosita bog'liq emas. Ko'p ijara arxitekturasi korporativ yoki idoraviy IT infratuzilmasida ko'plab shunga o'xshash filiallar yoki xolding kompaniyalarini avtomatlashtirish uchun osongina qo'llanilishi mumkin.

Aytish mumkinki, ko'p ijaraga olish faqat ma'lumotlarni saqlashni tashkil qilish masalasi emas. Bu butun ilovaning ishlashi uchun model (shu jumladan uning arxitekturasining muhim jihatlari, uni joylashtirish modeli va texnik xizmat ko'rsatishni tashkil etish).

Bizning fikrimizcha, ko'p ijara modelining eng murakkab va qiziqarli jihati shundaki, ilovaning asosiy funksionalligi ikkiga bo'lingan. Ba'zi funksionallik ma'lum ma'lumotlar zonalari (kvartiralar) bilan ishlaydi va boshqa kvartiralarda yashovchilarning mavjudligidan bexabar. Boshqa funksionallik binoni bir butun sifatida qabul qiladi va bir vaqtning o'zida barcha aholi uchun ishlaydi. Biroq, ikkinchisi, bular, oxir-oqibat, individual kvartiralar ekanligini va zarur darajadagi granularlik va xavfsizlikni ta'minlash kerakligini e'tiborsiz qoldira olmaydi.

1C: Enterprise-da ko'p ijaraga olish modeli bir nechta texnologiyalar darajasida amalga oshiriladi. Bular 1C: Enterprise platformasining mexanizmlari, mexanizmlari1C: 1cFresh Solution nashriyot texnologiyasi"Va"1C: 1cFresh yechimlarni ishlab chiqish texnologiyasi», mexanizmlari BSP (standart quyi tizimlar kutubxonalari).

Ushbu elementlarning har biri ko'p ijarachili binoning umumiy infratuzilmasiga hissa qo'shadi. Nima uchun bu platforma kabi bitta emas, balki bir nechta texnologiyalarda qo'llaniladi? Avvalo, biz ba'zi mexanizmlar ma'lum bir joylashtirish stsenariysi uchun mos ravishda o'zgartirilishi mumkinligiga ishonamiz. Ammo umuman olganda, bu murakkab masala va biz doimo ko'p ijaraga olishning har bir jihatini amalga oshirish uchun qaysi qatlamni tanlashga duch kelamiz.

Shubhasiz, asosiy mexanizmlar platformada amalga oshirilishi kerak edi. Misol uchun, ma'lumotlarni ajratishning o'zi - odatda ko'p ijaraga berishni muhokama qiladigan tur. Biroq, oxir-oqibat, ko'p ijaraga olish modeli platforma mexanizmlarining muhim qismini buzdi va ularni takomillashtirishni va ba'zi hollarda qayta ko'rib chiqishni talab qildi.

Platforma darajasida biz asosiy mexanizmlarni amalga oshirdik. Bular ko'p ijarachi modelida ishlaydigan ilovalar yaratish imkonini beradi. Biroq, ushbu modelda ilovalar to'g'ri ishlashi uchun ularning hayot aylanishini boshqarish tizimi talab qilinadi. Bunga 1cFresh texnologiyalari va biznesni qo'llab-quvvatlash tizimi (BSS) darajasida yagona biznes mantiqiy qatlami orqali erishiladi. Ko'p qavatli uydagi infratuzilma aholini barcha zarur narsalar bilan ta'minlaganidek, 1cFresh texnologiyalari ko'p ijaraga olingan modelda ishlaydigan ilovalar uchun zarur bo'lgan hamma narsani ta'minlaydi. Ilovalarning ushbu infratuzilma bilan o'zaro ta'sirini ta'minlash uchun (muhim o'zgartirishlarsiz) tegishli "ulagichlar" ularga BSS quyi tizimlari ko'rinishida kiritilgan.

Platforma mexanizmlari nuqtai nazaridan, biz tajriba orttirganimiz va bulutga asoslangan 1C: Enterprise yechimini ishlab chiqqanimiz sababli, biz ushbu arxitekturada ishtirok etadigan mexanizmlarni kengaytirayotganimizni tushunish oson. Keling, bitta misol keltiraylik. Ko'p ijaraga olish modelida ilovalarga texnik xizmat ko'rsatish ishtirokchilari o'rtasida rollarni taqsimlash sezilarli darajada o'zgaradi. Ilovaning ishlashi uchun mas'ul shaxslarning roli (mas'uliyat darajasi) sezilarli darajada oshdi. Ular endi yanada kuchliroq ilovalarni boshqarish vositalarini talab qiladi. Buning sababi shundaki, dastur foydalanuvchilari (ijarachilar), birinchi navbatda, ular ishlaydigan provayderga ishonishadi. Buni hal qilish uchun biz 8.3 versiyasida yangi xususiyatni joriy qildik. xavfsizlik profili mexanizmiUshbu mexanizm provayder ma'murlariga ilovalarni ishlab chiquvchilar erkinligini talab qilinadigan xavfsizlik darajasiga cheklash imkonini beradi - asosan, ma'lum bir sinov muhitida har bir ijarachi uchun ilovaning ishlashini ajratib turadi.

Ko'p ijara rejimida ishlaydigan ilovalarni boshqarish arxitekturasi (1cFresh va BSP texnologiyalarida amalga oshirilganidek) bir xil darajada qiziqarli. Bu erda standart joylashtirish modeli bilan taqqoslaganda, boshqaruv jarayonlarini avtomatlashtirish talablari sezilarli darajada yuqori. Bunday jarayonlarning o'nlab turlari mavjud: yangi ma'lumotlar maydonlarini yaratish ("kvartiralar"), ilovalarni yangilash, normativ ma'lumotlarni yangilash, zaxira nusxalari va boshqalar. Va, albatta, ishonchlilik va mavjudlik talablari ortadi. Misol uchun, ilovalar va boshqaruv tizimining komponentlari o'rtasida ishonchli o'zaro ta'sirni ta'minlash uchun biz kafolatlangan yetkazib berish bilan asinxron qo'ng'iroq tizimini joriy qildik.

Juda nozik nuqta - ma'lumotlar va jarayonlarni almashish usuli. Bu oddiy ko'rinadi (agar kimgadir shunday tuyulsa) faqat birinchi qarashda. Eng katta muammo ma'lumotlar va jarayonlarni markazlashtirishni markazsizlashtirish bilan muvozanatlashdadir. Bir tomondan markazlashtirish xarajatlarni kamaytiradi (disk maydoni, protsessor resurslari, administrator harakatlari va boshqalar). Boshqa tomondan, u "ijarachilar" ning erkinligini cheklaydi. Bu aniq "bifurkatsiya" ilovasining jihatlaridan biri bo'lib, ishlab chiquvchi dasturni bir vaqtning o'zida tor ma'noda (bitta "kvartiraga" xizmat ko'rsatish) va keng ma'noda (bir vaqtning o'zida barcha "ijaraga oluvchilarga" xizmat ko'rsatish) ko'rib chiqishi kerak.

Bunday "dilemma" ga misol sifatida normativ va ma'lumotnoma ma'lumotlarini keltirish mumkin. Tabiiyki, buni binoning barcha "yashovchilari" uchun umumiy qilish vasvasasi. Bu uni bitta nusxada saqlash va bir vaqtning o'zida hamma uchun yangilash imkonini beradi. Ammo ba'zida ma'lum bir rezident muayyan o'zgarishlarni talab qiladi. G'alati, bu amalda, hatto tartibga soluvchi organlar (davlat idoralari) tomonidan belgilangan ma'lumotlar uchun ham sodir bo'ladi. Bu qiyin savolni tug'diradi: umumlashtirish yoki umumlashtirmaslik? Maʼlumotni hamma uchun umumiy, istaganlar uchun esa shaxsiy qilish jozibador, albatta. Ammo bu juda murakkab amalga oshirishga olib keladi. Ammo biz buning ustida ishlayapmiz ...

Yana bir misol, muntazam jarayonlarni loyihalash (rejalashtirilgan, boshqaruv tizimi tomonidan boshlangan va boshqalar). Bir tomondan, ular har bir ma'lumot maydoni uchun alohida amalga oshirilishi mumkin. Bu oddiyroq va qulayroq. Biroq, boshqa tomondan, bunday nozik taneli amalga oshirish tizimga sezilarli yuk yaratadi. Ushbu yukni kamaytirish uchun umumiy jarayonlarni amalga oshirish kerak. Biroq, ular yanada ehtiyotkorlik bilan dizaynni talab qiladi.

Tabiiyki, bu hal qiluvchi savolni keltirib chiqaradi. Ilova ishlab chiquvchilari ko'p ijaraga olishni qanday ta'minlashi mumkin? Ular nima qilishlari kerak? Albatta, biz texnologik va infratuzilma muammolari yuki iloji boricha taqdim etilgan texnologiya yelkasiga tushishini ta'minlashga intilamiz, bu esa dastur ishlab chiqaruvchisini faqat biznes mantig'i nuqtai nazaridan o'ylashga majbur qiladi. Ammo boshqa muhim arxitektura masalalarida bo'lgani kabi, dastur ishlab chiquvchilari ham ko'p ijaraga berish qanday ishlashi haqida biroz tushunchaga ega bo'lishlari kerak va ilovalarni ishlab chiqishda biroz harakat talab etiladi. Nega? Chunki texnologiya ma'lumotlar semantikasini hisobga olmasdan avtomatik ravishda hal qila olmaydigan jihatlar mavjud. Masalan, umumiy ma'lumotlarning chegaralarini aniqlash. Ammo biz bu qiyinchiliklarni imkon qadar minimal darajada saqlashga intilamiz. Bunday ilovalarning misollari allaqachon mavjud.

1C:Enterprise-da ko'p ijaraga olishni amalga oshirishning muhim jihati shundaki, biz gibrid modelni yaratmoqdamiz, unda bitta dastur ham ko'p ijaraga olish, ham standart rejimda ishlashi mumkin. Bu juda murakkab vazifa va alohida muhokama mavzusi.

Manba: www.habr.com

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster