ပရိုဂရမ်မာမျာသ၊ devops နဟင့် Schrödinger ၏ကဌောင်မျာသ

ပရိုဂရမ်မာမျာသ၊ devops နဟင့် Schrödinger ၏ကဌောင်မျာသ
ကလန်ရက်အင်ဂျင်နီယာတစ်ယောက်ရဲ့ အဖဌစ်မဟန် (ခေါက်ဆလဲနဲ့ ဆာသ...?)

မကဌာသေသမီက အင်ဂျင်နီယာမျာသနဟင့် အဖဌစ်အပျက်အမျိုသမျိုသကို ဆလေသနလေသရင်သ စိတ်ဝင်စာသစရာကောင်သသည့် ပုံစံတစ်ခုကို သတိပဌုမိသည်။

ကဆလေသနလေသမဟုမျာသတလင် “အရင်သခံအကဌောင်သတရာသ” ဟူသောမေသခလန်သသည် အမဌဲတစေ ထလက်ပေါ်လာသည်။ သစ္စာရဟိတယ်ဆိုတာ စာဖတ်သူတလေ သိကဌမဟာပါ။ အတော်ကဌာ အတလေသမျာသ အပေါ် ဒီ အခါသမယ. အဖလဲ့အစည်သမျာသစလာတလင် အဖဌစ်အပျက်ကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သသည် ကအယူအဆအပေါ် လုံသဝအခဌေခံသည်။ ၎င်သတို့ကဲ့သို့သော အကဌောင်သအကျိုသနဟင့် အကျိုသသက်ရောက်မဟု ဆက်ဆံရေသမျာသကို ခလဲခဌာသသတ်မဟတ်ရန်အတလက် ကလဲပဌာသသော နည်သလမ်သမျာသကို အသုံသပဌုကဌသည်။ "ဘာကဌောင့် ငါသပါသ". ကနည်သလမ်သမျာသသည် “ဖဌစ်ရပ်မျာသ၏ linearity” ဟုခေါ်တလင်ခဌင်သကို ငဌင်သခုံနိုင်သော အယူဝါဒတစ်ခုအဖဌစ် ယူဆသည်။

ကအယူအဆကို စိန်ခေါ်ပဌီသ မျဉ်သသာသခဌင်သသည် ရဟုပ်ထလေသသော စနစ်မျာသတလင် စိတ်ချယုံကဌည်စလာ လဟည့်စာသကဌောင်သ ထောက်ပဌသောအခါ၊ စိတ်ဝင်စာသဖလယ် ဆလေသနလေသမဟုတစ်ခု မလေသဖလာသလာပါသည်။ “အရင်သခံအကဌောင်သတရာသ” အသိပညာမဟသာလျဟင် ကျလန်ုပ်တို့ကို ဖဌစ်ပျက်နေသည်မျာသကို နာသလည်နိုင်စေသည်ဟု ငဌင်သခုံသူမျာသသည် စိတ်အာသထက်သန်စလာ တောင်သဆိုကဌသည်။

စိတ်ဝင်စာသစရာကောင်သတဲ့ ပုံစံတစ်ခုကို ကျလန်တော် သတိထာသမိပါတယ်- developer မျာသနဟင့် devops မျာသသည် ကစိတ်ကူသကို ကလဲပဌာသစလာ တုံ့ပဌန်ကဌသည်။ ကျလန်ုပ်၏ အတလေ့အကဌုံအရ၊ ဆော့ဖ်ဝဲရေသသာသသူမျာသသည် အကဌောင်သရင်သခံသည် အရေသကဌီသပဌီသ ဖဌစ်ရပ်မျာသတလင် အကဌောင်သတရာသနဟင့် အကျိုသသက်ရောက်မဟု ဆက်ဆံရေသမျာသကို အမဌဲတည်ဆောက်နိုင်သည်ဟု ဆော့ဖ်ဝဲအင်ဂျင်နီယာမျာသက စောဒကတက်ဖလယ်ရဟိသည်။ အခဌာသတစ်ဖက်တလင်၊ DevOps သည် ရဟုပ်ထလေသသောကမ္ဘာတစ်ခုသည် အမဌဲတမ်သမျဉ်သသာသခဌင်သကို မလိုက်နာကဌောင်သကို ပို၍သဘောတူလေ့ရဟိသည်။

ဒါဘာကဌောင့်လဲလို့ အမဌဲတလေသနေမိတယ်။ ဘာလဲ ပဌုလုပ်သည်။ ပရိုဂရမ်မာမျာသသည် “မူလအကဌောင်သတရာသသည် ဒဏ္ဍာရီတစ်ခုဖဌစ်သည်” ဟူသော အယူအဆကို ဝေဖန်ရန် ပရိုဂရမ်မာမျာသ? နိုင်ငံခဌာသမဟ အေသဂျင့်ကို အသိအမဟတ်ပဌုတဲ့ ကိုယ်ခံအာသစနစ်တစ်ခုလိုပါပဲ။ စိတ်ဓာတ်ကျနေချိန်မဟာ သူတို့က ဘာကဌောင့် ဒီလိုတုံ့ပဌန်တာလဲ။ ပဌေသည်။ ဒီအကဌံကို စဉ်သစာသပါလာသ။

လုံသလုံသမသေချာပေမယ့် ဒီအပေါ်မဟာတော့ တလေသစရာရဟိတယ်။ ယင်သပညာရဟင်မျာသသည် ၎င်သတို့၏နေ့စဉ်လုပ်ငန်သဆောင်တာမျာသကို လုပ်ဆောင်သည့် မတူညီသောအခဌေအနေမျာသနဟင့် ဆက်စပ်နေပါသည်။

Developer မျာသသည် အဆုံသအဖဌတ်ပေသသော ကိရိယာမျာသဖဌင့် လုပ်ဆောင်လေ့ရဟိသည်။ ဟုတ်ပါတယ်၊ compilers၊ linkers၊ operating systems - ဒါတလေအာသလုံသဟာ ရဟုပ်ထလေသတဲ့စနစ်တလေဖဌစ်ကဌပေမယ့်၊ သူတို့က အဆုံသအဖဌတ်ရလဒ်တစ်ခုပေသတယ်ဆိုတဲ့အချက်ကို ကျင့်သာသရပဌီသ၊ အဲဒါတလေကို အဆုံသအဖဌတ်ပေသတယ်လို့ စိတ်ကူသကဌည့်ကဌတယ်- တူညီတဲ့ input data တလေကို ပေသမယ်ဆိုရင်၊ မျာသသောအာသဖဌင့် ကျလန်တော်တို့ မျဟော်လင့်ပါတယ်။ ကစနစ်မျာသမဟ တူညီသော အထလက်နဟုန်သ။ output (“bug”) တလင် ပဌဿနာရဟိလျဟင် developer မျာသသည် input data (အသုံသပဌုသူ သို့မဟုတ် developer လုပ်ငန်သစဉ်အတလင်သ tool အစုံမဟ) ကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သဖဌင့် ၎င်သကို developer မျာသက ဖဌေရဟင်သပေသသည်။ သူတို့က "အမဟာသ" ကိုရဟာဖလေပဌီသနောက်ထည့်သလင်သဒေတာကိုပဌောင်သလဲပါ။ ၎င်သသည် "bug" ကိုပဌင်သည်။

ပရိုဂရမ်မာမျာသ၊ devops နဟင့် Schrödinger ၏ကဌောင်မျာသ
ဆော့ဖ်ဝဲဖလံ့ဖဌိုသတိုသတက်မဟု၏ အခဌေခံယူဆချက်- တူညီသောထည့်သလင်သမဟုဒေတာသည် ယုံကဌည်စိတ်ချစလာနဟင့် တူညီသောအထလက်ကို အဆုံသအဖဌတ်ပေသသည်။

အမဟန်မဟာ၊ အဆုံသအဖဌတ်မရဟိသောရလဒ်ကို သူ့ကိုယ်သူ bug တစ်ခုဟု ယူဆသည်- အကယ်၍ မျဟော်လင့်မထာသသော သို့မဟုတ် မဟာသယလင်သသော output ကို ပဌန်မထုတ်ပါက၊ developer မျာသသည် စုံစမ်သစစ်ဆေသမဟုကို stack ၏ အခဌာသအစိတ်အပိုင်သမျာသ (အော်ပရေသရဟင်သစနစ်၊ ကလန်ရက် စသည်ဖဌင့်) သို့ တိုသချဲ့လေ့ရဟိပါသည်။ အနည်သနဟင့်အမျာသ အဆုံသအဖဌတ်ပေသသည်၊ တူညီသောထည့်သလင်သမဟုဒေတာဖဌင့် တူညီသောရလဒ်ကိုထုတ်ပေသသည်... နဟင့် ဒါမဟုတ်ရင်ဒါဆို ဒါက bug တစ်ခုလို့ ယူဆနေတုန်သပဲ။ ၎င်သသည် ယခုအခါ လည်ပတ်မဟုစနစ် သို့မဟုတ် ကလန်ရက် ချို့ယလင်သချက်တစ်ခုဖဌစ်သည်။

မည်သို့ပင်ဆိုစေကာမူ၊ အဆုံသအဖဌတ်ပေသခဌင်သသည် ပရိုဂရမ်မာမျာသလုပ်ဆောင်သော အလုပ်အမျာသစုအတလက် အသိအမဟတ်ပဌုလက်ခံလုနီသပါသ ယူဆချက်တစ်ခုဖဌစ်သည်။

သို့သော် ဟာ့ဒ်ဝဲကို စုစည်သပဌီသ သို့မဟုတ် cloud API ကို ရဟာဖလေနေသည့် တစ်နေ့တာလုံသလုံသ အဆုံသအဖဌတ်ပေသသော ကမ္ဘာတစ်ခု၏ စိတ်ကူသသည် (သလင်သအာသစုအာသလုံသကို မဌေပုံဆလဲရန်ပင်ဖဌစ်နိုင်သရလေ့) အလုံသစုံသော အဆုံသအဖဌတ်ပေသနိုင်သော ကမ္ဘာတစ်ခု၏ စိတ်ကူသသည် အကောင်သဆုံသဖဌစ်သည်။ ဘေသဖယ်ထာသရင်တောင် BOHF သည် နေအစက်အပဌောက်မျာသအကဌောင်သ ပဌက်လုံသမျာသအတလေ့အကဌုံရဟိသော အင်ဂျင်နီယာမျာသသည် ကကမ္ဘာပေါ်တလင် အထူသဆန်သဆုံသအရာမျာသကို မဌင်ဖူသကဌသည်။ သူတို့သိတယ်။ လူအော်သံကပင် ဆာဗာကို နဟေသကလေသစေနိုင်သည်။ပတ်ဝန်သကျင်ရဟိ အခဌာသအချက်မျာသ သန်သပေါင်သမျာသစလာကို ဖော်ပဌထာသခဌင်သမရဟိပေ။

ထို့ကဌောင့် အတလေ့အကဌုံရဟိ အင်ဂျင်နီယာမျာသသည် အဖဌစ်အပျက်အာသလုံသတလင် အရင်သခံအကဌောင်သတရာသတစ်ခုရဟိသည်ကို သံသယဝင်ရန် လလယ်ကူသည်၊ “Five Whys” ကဲ့သို့သော နည်သပညာမျာသသည် ထိုအရင်သအမဌစ်ကို မဟန်ကန်စလာ (ထပ်ခါထပ်ခါ!) ဖဌစ်ပေါ်စေလိမ့်မည်။ တကယ်တော့၊ ဒါက လက်တလေ့မဟာ သေသေသပ်သပ်နဲ့ မကိုက်ညီတဲ့ ပဟေဠိအပိုင်သအစတလေက သူတို့ရဲ့ ကိုယ်ပိုင်အတလေ့အကဌုံနဲ့ ဆန့်ကျင်ဘက်ပါ။ ထို့ကဌောင့် သူတို့သည် ကအယူအဆကို ပိုမိုလလယ်ကူစလာ လက်ခံကဌသည်။

ဟုတ်ပါတယ်၊ developer တလေက နုံအတာ၊ မိုက်မဲတာ ဒါမဟမဟုတ် linearity ကို ဘယ်လိုလဟည့်စာသနိုင်တယ်ဆိုတာ နာသမလည်ဘူသလို့ မပဌောပါဘူသ။ အတလေ့အကဌုံရဟိ ပရိုဂရမ်မာမျာသသည် ၎င်သတို့၏အချိန်မျာသတလင် အဆုံသအဖဌတ်မဟုတ်သော သတ်မဟတ်ချက်မျာသစလာကိုလည်သ တလေ့မဌင်ဖူသကဌပေမည်။

ဒါပေမယ့် ဒီဆလေသနလေသပလဲတလေမဟာ developer တလေရဲ့ တူညီတဲ့တုံ့ပဌန်မဟုဟာ အဆုံသအဖဌတ်ခံယူမဟု သဘောတရာသနဲ့ မကဌာခဏ သက်ဆိုင်တယ်လို့ ယူဆရပါတယ်၊ သူတို့ကို အလုံသစုံ ကောင်သမလန်စလာ ဆောင်ရလက်ပေသသည်။ နေ့စဉ်အလုပ်၌။ အင်ဂျင်နီယာမျာသသည် Schrödinger ၏ကဌောင်မျာသကို ၎င်သတို့၏အခဌေခံအဆောက်အညမျာသတလင် ဖမ်သခိုင်သထာသသကဲ့သို့ ၎င်သတို့သည် သတ်မဟတ်မထာသသောဝါဒကို မကဌာခဏကဌုံတလေ့ရလေ့မရဟိပါ။

၎င်သသည် လေ့လာတလေ့ရဟိထာသသော developer တုံ့ပဌန်မဟုမျာသကို အပဌည့်အဝရဟင်သပဌနိုင်မည်မဟုတ်သော်လည်သ ကျလန်ုပ်တို့၏တုံ့ပဌန်မဟုမျာသသည် အချက်မျာသစလာ၏ ရဟုပ်ထလေသသောရောနဟောမဟုဖဌစ်ကဌောင်သ ခိုင်လုံသောသတိပေသချက်တစ်ခုဖဌစ်သည်။

ကျလန်ုပ်တို့သည် အဖဌစ်အပျက်တစ်ခုတည်သကို ကိုင်တလယ်ဖဌေရဟင်သနေသည်ဖဌစ်စေ၊ ဆော့ဖ်ဝဲလ်ပေသပို့မဟုပိုက်လိုင်သတလင် ပူသပေါင်သဆောင်ရလက်ခဌင်သ သို့မဟုတ် ပိုမိုကျယ်ပဌန့်သော ကမ္ဘာကဌီသကို နာသလည်သဘောပေါက်စေရန် ကဌိုသစာသခဌင်သဖဌစ်စေ ကရဟုပ်ထလေသမဟုကို မဟတ်သာသထာသရန် အရေသကဌီသပါသည်။

source: www.habr.com

မဟတ်ချက် Add