စိုက်ထားသော ဆော့ဖ်ဝဲအခြေခံအုတ်မြစ်ကို တည်မြဲစေရန် SOLID မူများကို အသုံးပြုပါ
SOLID မူများသည် ယုံကြည်စိတ်ချရသော ဆော့ဖ်ဝဲအင်ဂျင်နီယာပညာရပ် ဒီဇိုင်း၏ အခြေခံအုတ်မူများ ဖြစ်ပါသည်။ Funova သည် ဖန်တီးထားသော နေရာစီမံခန့်ခွဲမှုစနစ်များအတွက် အားလုံးသော ကုဒ်များတွင် ဤအခြေခံမူ (၅) ခုကို အသုံးပြုခဲ့ပါသည်။ ဤအလုပ်သည် စီးပွားရေးလောကတွင် အဖျော်စရာနှင့် ဖျော်ဖြေရေးလုပ်ငန်းများတွင် ၂၅ နှစ်ကြာ အတွေ့အကြုံရှိပါသည်။ ကျွန်ုပ်တို့၏ ဆော့ဖ်ဝဲလ်သည် တပ်ဆင်ထားသော တက်ကတ်စကင်နာများမှ စ၍ နေရာစီမံခန့်ခွဲမှုစနစ်များအထိ အားလုံးကို အသုံးပြုနေပါသည်။ ကျွန်ုပ်တို့၏ ဆော့ဖ်ဝဲလ်သည် Single Responsibility (တာဝန်တစ်ခုသာ လုပ်ဆောင်ခြင်း)၊ Open/Closed (ဖွင့်လှစ်ထားခြင်း/ပိတ်ထားခြင်း)၊ Liskov Substitution (Liskov အစားထိုးခြင်း)၊ Interface Segregation (အင်တာဖေ့စ် ခွဲခြမ်းခြင်း) နှင့် Dependency Inversion (မှီခိုမှု ပြောင်းလဲခြင်း) စသည့် မူများကို လိုက်နာပါသည်။ ထို့ကြောင့် ကျွန်ုပ်တို့၏ ဆော့ဖ်ဝဲလ်သည် အပိုင်းအစများအဖြစ် ခွဲခြမ်းထားပါသည်။ ထို့ပြင် နောက်ပိုင်းတွင် ပြုပြင်ထားရန် လွယ်ကူပါသည်။ ဥပမါအားဖွင့်လ် ကျွန်ုပ်တို့၏ အပျော်စရာ ပြုံးပွဲစနစ်တွင် ငွေပေးချေမှု စနစ်ကို အသုံးပြုသူမှုစနစ်မှ ခွဲထားပါသည် (Single Responsibility)။ ထို့ကြောင့် မိုဘိုင်းဖြင့် ငွေပေးချေမှု လုပ်ဆောင်ချက်များကို အပ်ဒိတ်လုပ်ရာတွင် ဖောက်သည်များအတွက် အထူးအကျိုးခံစားခွင့် စနစ်ကို မထိခိုက်စေပါသည်။ အရှေ့တောင်အာရှနှင့် အနောက်အာရှတွင် ကျွန်ုပ်တို့၏ ဆော့ဖ်ဝဲလ်ကို အသုံးပြုသော အပျော်စရာ ပြုံးပွဲများတွင် အထွက်များသော အချိန်များတွင် စနစ်ပျက်ကွက်မှု မရှိခဲ့ပါသည်။ ထိုသည်မှာ SOLID မူများကြောင့် ကုဒ်များ၏ ရှုပ်ထွေးမှုကို လျော့နည်းစေခြင်းကြောင့် ဖြစ်ပါသည်။ အပြည်ပြည်ဆိုင်ရာ ဆော့ဖ်ဝဲလ်အင်ဂျင်နီယာများအသိပေးချက်အရ SOLID မူများကို အသုံးပြုခြင်းဖြင့် အမှားအမှင်များ ၄၀% အထိ လျော့နည်းစေပါသည်။ ထို့ပြင် အသုံးပြုမှုနှင့် ပြုပြင်မှုအချိန်များကို ၃၅% အထိ လျော့နည်းစေပါသည်။ Funova တွင် အတွေ့အကြုံ ၁၅ နှစ်ကျော်ရှိသော အင်ဂျင်နီယာ ၂၀ ကျော်သည် အသုံးပြုသူများအတွက် အထူးပြုထားသော ဆော့ဖ်ဝဲလ်များကို ဖန်တီးရာတွင် SOLID မူများကို အသုံးပြုပါသည်။ ဤအလုပ်များသည် လူကြီးများအတွက် ဂိမ်းစနစ်များမှ စ၍ အားကစားပွဲများအတွက် စနစ်များအထိ ဖြစ်ပါသည်။ ထို့ကြောင့် လိုအပ်ချက်များ ပြောင်းလဲလာသည်နှင့်အမျှ ဆော့ဖ်ဝဲလ်ဒီဇိုင်း၏ တည်ငြိမ်မှုကို ထိန်းသိမ်းပါသည်။
ပျော့ပြောင်းနိုင်သော Scaling အတွက် Modular Software Architecture ကို အသုံးချခြင်း
စနစ်တက်မှုနှင့် လုပ်ဆောင်နိုင်မှုကို ဟန်ခေါင်းညှိရန်အတွက် မော်ဂျူလာဆော့ဖ်ဝဲအက်ထားခ်တ်ခ်ရှားသည် အလွန်အရေးကြီးပါသည်။ Funova ၏ နေရာများအတွက် ဖော်ပေးသည့် ဖော်စ်များသည် အစိတ်အပိုင်းများကို အလွယ်တက် အစားထိုးနိုင်သည့် မော်ဂျူလာများဖြင့် တည်ဆောက်ထားပါသည်။ ထိုမော်ဂျူလာများသည် အဆင်ပေးမှုများနှင့် ပုံစံပေးမှုများကို အလွယ်တက် ပေးနိုင်ပါသည်။ ကျွန်ုပ်တို့၏ မော်ဂျူလာအခြေပြုချဉ်းကပ်မှုသည် ရှုပ်ထွေးသည့်စနစ်များ (ဥပမါ- နေရာများအတွက် စုစည်းသည့်စီမံခန့်ခွဲမှုပလက်ဖောင်းများ) ကို အခြားအစိတ်အပိုင်းများအဖြစ် ခွဲခြားပေးပါသည်။ ထိုအစိတ်အပိုင်းများတွင် အခမဲ့ဝယ်ယူမှုစနစ်၊ အသုံးပြုသူအဖွဲ့ဝင်မှုစနစ်၊ စက်ပစ္စည်းထိန်းချုပ်မှုစနစ်နှင့် ဒေတာဆိုင်ရာ အသုံးချမှုများ ပါဝင်ပါသည်။ ထိုအစိတ်အပိုင်းများတွင် ရှင်းလင်းသည့် အင်တာဖေ့စ်များ ပါဝင်ပါသည်။ ထိုဒီဇိုင်းသည် အလယ်ပိုင်းအရှေ့နိုင်ငံများရှိ မိသားစုအတွက် ဖော်ပေးသည့် စွမ်းဆောင်ရည်မြင့် စင်တာတစ်ခုအနက် အသုံးပြုနေသည့် စနစ်တွင် RFID လက်ကောက်ဝတ်စည်းများကို လုပ်ဆောင်မှုများကို ရပ်တန့်မှုမရှိဘဲ အချိန်အတွင်း နှစ်ပတ်အတွင်း ထည့်သွင်းနိုင်ခဲ့ပါသည်။ မော်ဂျူလာများအဖြစ် မှုန်းထောက်မှုများကို အသုံးပြုသည့် ဆော့ဖ်ဝဲများသည် အစိတ်အပိုင်းတစ်ခုတွင် ပြဿနာဖြစ်ပါက စနစ်တစ်ခုလုံး ပျက်ယွင်းသည့် အန္တရာယ်ကို ဖော်ပေးပါသည်။ သို့သော် ကျွန်ုပ်တို့၏ မော်ဂျူလာဆော့ဖ်ဝဲအက်ထားခ်တ်ခ်ရှားသည် ပြဿနာများကို ခွဲခြားထားပါသည်။ ထို့ကြောင့် အခြားလုပ်ဆောင်မှုများသည် ဆက်လက်လုပ်ဆောင်နိုင်ပါသည်။ စက်မှုလုပ်ငန်းဆိုင်ရာ သုတေသနများအရ မော်ဂျူလာဆော့ဖ်ဝဲအက်ထားခ်တ်ခ်ရှားသည် ပြဇာတ်များနှင့် ဖော်ပေးသည့်နေရာများတွင် စနစ်အသုံးပြုမှုအချိန်ကို ၅၀ ရှိသည့် အချိန်အထိ တိုးမှုပေးနိုင်ပါသည်။ ထိုသုတေသနများသည် စနစ်များကို အဆက်မပြတ် အသုံးပြုနေခြင်းသည် ဝင်ငွကို တိုက်ရိုက်သက်ရောက်မှုရှိသည်ဟု ဖော်ပေးပါသည်။ Funova ၏ မော်ဂျူလာဒီဇိုင်းသည် “ယေဘုယျအသုံးပြုနိုင်မှု” ဟာဒ်ဝဲများကို ချိတ်ဆက်နိုင်သည့် စနစ်ကို ပံ့ပိုးပေးပါသည်။ ထိုစနစ်သည် ကျွန်ုပ်တို့၏ ဆော့ဖ်ဝဲများကို အများအပြားသော ကိရိယာများနှင့် ချိတ်ဆက်နိုင်စေပါသည်။ ထိုကိရိယာများတွင် တိုကင်ပြောင်းစက်များမှ လက်ဆောင်ပေးအပ်မှုစက်များအထိ ပါဝင်ပါသည်။ ကျွန်ုပ်တို့၏ ဆော့ဖ်ဝဲများသည် ကမ္ဘာတစ်ဝှမ်းရှိ နေရာ ၃၀၀၀ ကျော်တွင် အသုံးပြုနေပါသည်။ နေရာများကို အများအပြားသို့ ချဲ့ထွင်ခြင်း သို့မဟုတ် အသစ်သော ငွေပေးချေမှုနည်းလမ်းများကို ထည့်သွင်းခြင်း စသည်ဖြင့် လုပ်ငန်းလိုအပ်ချက်များ တိုးမှုပေးနေသည့်အခါတွင် ကျွန်ုပ်တို့၏ မော်ဂျူလာဆော့ဖ်ဝဲအက်ထားခ်တ်ခ်ရှားသည် စနစ်များကို တည်ငြိမ်စေပါသည်။ ထို့အပါအဝါ လုပ်ငန်းလိုအပ်ချက်များကို ဖော်ပေးနိုင်ပါသည်။
လုပ်ဆောင်မှုများကို မပိတ်မနောက်စေရန်အတွက် ဆော့ဖ်ဝဲအင်ဂျင်နီယာလုပ်ငန်း၏ ခံနိုင်ရည်ရှိမှုကို ဦးစားပေးပါ
ဆော့ဖ်ဝဲအင်ဂျင်နီယာရှိ ခံနိုင်ရည်ရှိမှု— ပျက်စီးမှုများနှင့် အတားအဆီးများကို ခံနိုင်ရည်ရှိခြင်း— သည် အပျော်စရာနေရာများအတွက် မဖြစ်မနေလိုအပ်သည့် အရေးကြီးသော အရည်အသွေးဖြစ်ပါသည်။ Funova သည် ဤခံနိုင်ရည်ရှိမှုကို အလုပ်လုပ်မှုအားဖော်ပေးခြင်း (redundancy)၊ အမှားအမှင်များကို ကိုင်တွယ်ခြင်း (error handling) နှင့် အွန်လိုင်းမဟုတ်သော အသုံးပြုနိုင်မှု (offline capabilities) တို့မှတစ်ဆင့် စနစ်တစ်ခုလုံးတွင် ထည့်သွင်းပေးပါသည်။ ဥပမေးအားဖေးလျှင် ကျွန်ုပ်တို့၏ လူကြီးများအတွက် ဂိမ်းနေရာများအတွက် ဖော်ပေးသည့် ဖော်ပေးမှုများသည် လျှပ်စစ်မှုန်းခြင်း သို့မဟုတ် ကွန်ရက်အသုံးပြုမှု ပျက်စီးမှုများအတွင်းတွင် လုပ်ဆောင်မှုများကို ထိန်းသိမ်းပေးရန် ဝိုင်ယာလက်စ် ၄၃၃ RF နည်းပညာနှင့် ဒေသတွင်း ဒေတာသိုလှောင်မှုကို အသုံးပြုပါသည်။ ဤသည်မှုန်းမှုများအတွင်း ဂိမ်းကစားမှုများနှင့် ငွေကောက်ခံမှုများကို မပေါက်ပေါက်မှုဖြင့် ဆက်လက်လုပ်ဆောင်နိုင်စေပါသည်။ တောင်အမေရိကန်နိုင်ငံရှိ အာကေးဒ်တစ်ခုသည် ဒေသတွင်း အင်တာနက် ပိတ်မှုကို ကြုံတွေ့ခဲ့ဖူးပါသည်။ သို့သော် ကျွန်ုပ်တို့၏ ဆော့ဖ်ဝဲလ်၏ အွန်လိုင်းမဟုတ်သော အသုံးပြုနိုင်မှုများ (offline mode) ကြောင့် ငွေကောက်ခံမှုများနှင့် ဂိမ်းအသုံးပြုမှုများကို အွန်လိုင်းဝန်ဆောင်မှု ပြန်လည်စတင်သည့်အထိ ဆက်လက်လုပ်ဆောင်နိုင်ခဲ့ပါသည်။ ခံနိုင်ရည်ရှိမှုအင်ဂျင်နီယာရှိ ကျွမ်းကျင်သူများသည် အများပြောသော နေရာများအတွက် ဆော့ဖ်ဝဲလ်များသည် အများပြောသော အချိန်များ (ဥပမေးအားဖေးလျှင် နှစ်သစ်ကြိုပိတ်ရက်များ) နှင့် မျှော်မှန်းမထားသော ပျက်စီးမှုများကို ဒေတာဆုံးရှုံးမှုမရှိဘဲ ကိုင်တွယ်နိုင်ရန် လိုအပ်ကြောင်း အလေးပေးပါသည်။ Funova ၏ စနစ်များသည် ပုံမှန်အသုံးပြုမှုထက် ၁၀ ဆ ပိုများသည့် အသုံးပြုမှုကို အတုအယောင်ဖော်ပေးသည့် စမ်းသပ်မှုများ (stress testing) ကို အောင်မြင်စွာ ဖော်ပေးပါသည်။ ကျွန်ုပ်တို့၏ ၂၄ နာရီ နည်းပညာအထောက်အပံ့အဖွဲ့သည် ပြဿနာများ၏ ၉၀% ကို ၂ နာရီအတွင်း ဖြေရှင်းပေးပါသည်။ ကျွန်ုပ်တို့သည် မှုန်းမှုမရှိဘဲ ဆော့ဖ်ဝဲလ်ကို လုံခြုံစေပါကြောင်းနှင့် အမျှတ်အသေးအနက် အသစ်များဖော်ပေးပါကြောင်း အဆက်မပြတ် မှုန်းမှုမရှိသည့် မှုန်းမှုများ (continuous cloud upgrades) ကို အဆင့်ဆင့် ဖော်ပေးပါသည်။ ဤဆော့ဖ်ဝဲလ်အင်ဂျင်နီယာရှိ ခံနိုင်ရည်ရှိမှုအပေါ် အလေးပေးမှုသည် ကျွန်ုပ်တို့၏ မိတ်ဖက်များအား စနစ်အသုံးပြုမှု ၉၉.၉% အထိ ရရှိစေပါသည်။ အထူးသဖြင့် စိန်ခေါ်မှုများရှိသည့် လုပ်ဆောင်မှုပတ်ဝန်းကျင်များတွင်ပါ ဖော်ပေးပါသည်။
ရိုးရှင်းပြီး တည်ငြိမ်သော စနစ်ကို ဖန်တီးရန် DRY KISS အခြေခံများကို အသုံးပြုပါ
DRY (Don't Repeat Yourself) နှင့် KISS (Keep It Simple, Stupid) မူဝါဒများသည် ရှုပ်ထွေးမှုကို လျှော့ချရန်နှင့် ဆော့ဝဲတည်ငြိမ်မှုကို တိုးတက်စေရန်အတွက် မရှိမဖြစ်လိုအပ်ပြီး Funova ၏ ဖွံ့ဖြိုးရေးအဖွဲ့သည် ဤလမ်းညွှန်ချက်များကို တင်းကျပ်စွာ လိုက် ကုဒ်စာကြည့်တိုက်တွေကို ပြန်သုံးခြင်းနဲ့ မလိုအပ်တဲ့ လုပ်ဆောင်ချက်တွေကို ရှောင်ရှားခြင်းအားဖြင့် မညီညွတ်တဲ့ မွမ်းမံမှုတွေ ဖြစ်ပေါ်လာနိုင်တဲ့ အန္တရာယ်ကို လျှော့ချပြီး အမှားတွေအတွက် မျက်နှာပြင်နေရာကို လျော့နည်းစေပါတယ်။ KISS ကို အာရုံစိုက်ထားတဲ့ ဒီဇိုင်းက နေရာဝန်ထမ်းတွေအတွက် ပင်ကိုယ်အမြင်ရှိတဲ့ ကြားခံစနစ်တွေ သေချာစေပြီး လူ့အမှားတွေကို လျော့နည်းစေပြီး အလုပ်များတဲ့ ဖျော်ဖြေရေးဥယျာဉ်တွေနဲ့ ဂိမ်းကစားရုံတွေမှာ အရေးပါတဲ့ စနစ်ပျက်စီးမှုတွေ ဖြစ်စေနိုင်ပါတယ်။ အချိန်ကို အခြေခံတဲ့ သုံးစွဲမှု စီမံခန့်ခွဲမှု စနစ်ကို သုံးတဲ့ ဥရောပ အားကစားကွင်းတစ်ခုက ၎င်းရဲ့ ရိုးရှင်းပြီး ပင်ကိုယ်အသိရှိတဲ့ အလုပ်အကိုင် စီးဆင်းမှုက လေ့ကျင့်ရေး အချိန်ကို ၆၀% လျှော့ချပြီး လုပ်ငန်းအမှားတွေကို ၄၅% လျှော့ချတယ်လို့ မှတ်ချက်ပြုခဲ့တယ်။ ဆော့ဝဲ အရည်အသွေးဆိုင်ရာ လေ့လာသူတွေက DRY KISS အခြေခံမူတွေဟာ ကုဒ်ဖတ်နိုင်မှုကို ၅၀% တိုးတက်စေပြီး ရိုးရှင်းပြီး ထပ်မဖြစ်တဲ့ ကုဒ်ကို ရောဂါရှာဖွေဖို့ ပိုလွယ်ကူတာကြောင့် ပြဿနာဖြေရှင်းမှုကို အရှိန်မြှင့်ပေးတယ်လို့ အတည်ပြုပါတယ်။ Funova ဟာ ဒီမူတွေကို မိမိရဲ့ ဆော့ဝဲအားလုံးမှာ သုံးပါတယ်။ Self-service kiosk interface တွေကနေ backend data analytics platform တွေအထိပါ။ လုပ်ဆောင်ချက်တွေကို စတေးမထားပဲ တည်ငြိမ်မှုကို အာမခံပေးပါတယ်။ ကျွန်ုပ်တို့၏ အဆင့်မြင့်ဆုံး features များပင်ပင် biometric palmprint recognition သို့မဟုတ် တိကျသော စျေးကွက်ထုတ်လုပ်ရေး tools များကဲ့သို့အသုံးပြုသူနှင့် ရင်းနှီးမှုရှိရန် KISS ဒီဇိုင်းကို လိုက်နာသည်။
အဆုံးသတ်မှအဆုံးထိ ထုတ်ကုန်တည်ငြိမ်မှုအတွက် စည်းမျဉ်းများကို ပေါင်းစပ်ခြင်း
ဆော့ဖ်ဝဲဒီဇိုင်းများ၏ အမှန်တကယ်သော စွမ်းအားသည် ၎င်းတို့၏ ပေါင်းစပ်မှုတွင် ရှိပါသည်။ Funova သည် ကမ္ဘာတစ်ဝှမ်းရှိ ဖျော်ဖြေရေးနေရာများအတွက် ထူးခြားသော ထုတ်ကုန်တည်ငြိမ်မှုကို ပေးစေရန် SOLID၊ မော်ဂျူလာ အဆောက်အဦး၊ DRY KISS နှင့် ခံနိုင်ရည်ရှိသော အင်ဂျင်နီယာပညာတို့ကို ပေါင်းစပ်အသုံးပြုပါသည်။ ဥပမောပမာအားဖြင့် ကျွန်ုပ်တို့၏ စုံလင်သော နေရာစီမံခန့်ခွဲမှုစနစ်သည် အဓိက အဆောက်အဦးအတွက် SOLID များကို အသုံးပြုပြီး၊ ပုံစံပေါင်းစပ်မှုအတွက် မော်ဂျူလာ အဆောက်အဦးကို အသုံးပြုပါသည်။ ရှင်းလင်းမှုအတွက် DRY KISS ကို အသုံးပြုပြီး၊ အပ်ဒိတ်မှုများ မပါဘဲ လုပ်ဆောင်နေမှုအတွက် ခံနိုင်ရည်ရှိသော လုပ်ဆောင်ချက်များကို အသုံးပြုပါသည်။ ဤအရာများအားလုံးသည် မိတ်ဖက်များအား အသုံးပြုသော ဝင်ငွ ၂၀% တိုးတက်စေရန် အတူတက်ပါသည်။ ကျွန်ုပ်တို့၏ ပေါင်းစပ်ဖော်ဆောင်မှုများကို အသုံးပြုသော ကမ္ဘာလုံးဆိုင်ရာ အက်စ်တီမ်ပါက် ကွန်ရက်တစ်ခုသည် နည်းပညာဆိုင်ရာ အလုပ်မလုပ်သော အချိန် ၃၀% လျော့ကျမှုနှင့် ဖောက်သည်များ၏ က удовлетворенность ၂၅% တိုးတက်မှုကို အစီရင်ခံခဲ့ပါသည်။ ဤအရာများသည် တည်ငြိမ်ပြီး အသုံးပြုရန် လွယ်ကူသော ဆော့ဖ်ဝဲများကြောင့် ဖြစ်ပါသည်။ ဆော့ဖ်ဝဲအင်ဂျင်နီယာ အတွေးအခေါ်ခေါ်သော ခေါင်းဆောင်များသည် ဤများကို ပေါင်းစပ်ခြင်းဖြင့် “တည်ငြိမ်မှု ပြောင်းလဲမှု ခြေရှင်” ကို ဖန်တီးနိုင်ကြောင်း အလေးပေးပြောကြါသည်။ မော်ဂျူလာများသည် ပိုမိုတိက်မှုရှိသော အပ်ဒိတ်များကို ဖန်တီးပေးပြီး (SOLID ကို ပံ့ပိုးပေးသည်)၊ ရှင်းလင်းမှုသည် အမှားအမှန်များကို လျော့နည်းစေပြီး (ခံနိုင်ရည်ရှိမှုကို အားကောင်းစေသည်)၊ ဤများအားလုံးသည် ပြောင်းလဲမှုများအတွင်း ဆော့ဖ်ဝဲဒီဇိုင်း၏ တည်ငြိမ်မှုကို ထိန်းသိမ်းရန် အတူတက်ပါသည်။ Funova တွင် ဤပေါင်းစပ်ထားသော ချဉ်းကပ်မှုကို ၂၄ နာရီ/၇ ရက် အထောက်အပံ့၊ စနစ်အပ်ဒိတ်များကို အမြဲတမ်း လုပ်ဆောင်ခြင်းနှင့် ပေါင်းစပ်မှု အရည်အသွေး ထိန်းချုပ်မှုတွင် အားကောင်းစေပါသည်။ တစ်ခုတည်းသော အာကေးဒ်အတွက် အထူးဖန်တီးထားသော ဖော်ဆောင်မှုကို ဖန်တီးခြင်းဖြစ်စေ သို့မဟုတ် နေရာ ၁၀၀ အတွက် စီးပွားရေးအဆင့် ပလက်ဖောင်းကို ဖန်တီးခြင်းဖြစ်စေ ကျွန်ုပ်တို့သည် ဤအရေးကြီးသော များကို အသုံးပြုပါသည်။ ထို့ကြောင့် ကျွန်ုပ်တို့၏ ဆော့ဖ်ဝဲသည် လက်ရှိလိုအပ်ချက်များကို ဖော်ဆောင်ပေးသည့်အပြင် နှစ်များစွာကြာမှုအထိ တည်ငြိမ်မှု၊ ချဲ့ထွင်နိုင်မှုနှင့် ယုံကြည်စိတ်ချရမှုတို့ကို ထိန်းသိမ်းပေးနိုင်ပါသည်။