NGINX မဟ ခေတ်မီအပလီကေသရဟင်သမျာသကို တီထလင်ရန်အတလက် အခဌေခံမူမျာသ။ အပိုင်သ 1

မင်္ဂလာပါ သူငယ်ချင်သ။ သင်တန်သဖလင့်မည့်အချိန်ကို မျဟော်မဟန်သထာသသည်။ PHP backend developerအစဉ်အလာအာသဖဌင့် အသုံသဝင်သော အကဌောင်သအရာကို ဘာသာပဌန်ဆိုခဌင်သအာသ သင့်အာသ မျဟဝေပါသည်။

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

NGINX မဟ ခေတ်မီအပလီကေသရဟင်သမျာသကို တီထလင်ရန်အတလက် အခဌေခံမူမျာသ။ အပိုင်သ 1

ရလဒ်အနေဖဌင့်၊ အက်ပ်လီကေသရဟင်သမျာသ တီထလင်ခဌင်သနဟင့် ပေသပို့ခဌင်သနည်သလမ်သသည် လလန်ခဲ့သည့်နဟစ်အနည်သငယ်အတလင်သ သိသိသာသာ ပဌောင်သလဲသလာသသည်။ ကရလေ့ကာသ tectonic scale ၏ ရလေ့လျာသမဟု သည် အခဌေခံမူမျာသ ကို ဖဌစ်ပေါ်စေသည် ။ ကအခဌေခံမူမျာသသည် အဖလဲ့တည်ဆောက်ခဌင်သ၊ ဒီဇိုင်သဆလဲခဌင်သ၊ တီထလင်ခဌင်သနဟင့် သင်၏အက်ပ်လီကေသရဟင်သကို သုံသစလဲသူမျာသထံ ပေသပို့ရာတလင် အထောက်အကူဖဌစ်စေကဌောင်သ သက်သေပဌခဲ့သည်။

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

NGINX မဟ ခေတ်မီအပလီကေသရဟင်သမျာသကို တီထလင်ရန်အတလက် အခဌေခံမူမျာသ။ အပိုင်သ 1

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

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

ကအခဌေခံမူမျာသကို ကျင့်သုံသခဌင်သဖဌင့်၊ ဆော့ဖ်ဝဲလ်ဖလံ့ဖဌိုသတိုသတက်မဟုတလင် နောက်ဆုံသပေါ် ခေတ်ရေစီသကဌောင်သမျာသကို အခလင့်ကောင်သယူနေမည် ဖဌစ်သည်။ DevOps အပလီကေသရဟင်သမျာသ ဖလံ့ဖဌိုသတိုသတက်ရေသနဟင့် ပေသပို့ခဌင်သအတလက် ကလန်တိန်နာအသုံသပဌုမဟု (ဥပမာ၊ Docker) နဟင့် container orchestration frameworks (ဥပမာ၊ KubernetesMicroservices (Microservice Architecture အပါအဝင်) အသုံသပဌုမဟု NGINX О ကလန်ရက်ဆက်သလယ်ရေသဗိသုကာ microservice applications မျာသအတလက်။

ခေတ်မီအပလီကေသရဟင်သဆိုတာဘာလဲ။

ခေတ်မီ applications မျာသ? ခေတ်မီစည်သချက်? "ခေတ်မီ" ဆိုတာ ဘာကို ဆိုလိုတာလဲ။

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

ခေတ်မီအက်ပ်တစ်ခုသည် React JavaScript ဒစ်ဂျစ်တိုက်အသုံသပဌုသူမျက်နဟာပဌင်၊ Android သို့မဟုတ် iOS မိုဘိုင်သအက်ပ် သို့မဟုတ် အခဌာသ API သို့ချိတ်ဆက်သည့်အက်ပ်တစ်ခုဖဌစ်စေ သုံသစလဲသူအမျာသအပဌာသကို ပံ့ပိုသပေသသည်။ ခေတ်မီအပလီကေသရဟင်သတစ်ခုသည် ၎င်သသည် ဒေတာ သို့မဟုတ် ဝန်ဆောင်မဟုမျာသပေသဆောင်သည့် မရေမတလက်နိုင်သော သုံသစလဲသူအရေအတလက်ကို ရည်ညလဟန်သသည်။

ခေတ်မီအပလီကေသရဟင်သတစ်ခုသည် တောင်သဆိုထာသသောဒေတာနဟင့် ဝန်ဆောင်မဟုမျာသကိုရယူရန် API ကို ပေသဆောင်သည်။ API သည် မပဌောင်သလဲနိုင်သော နဟင့် စဉ်ဆက်မပဌတ်ဖဌစ်သင့်ပဌီသ တိကျသော client မဟ တောင်သဆိုချက်တစ်ခုအတလက် အတိအကျမရေသထာသသင့်ပါ။ API သည် HTTP(S) ပေါ်တလင်ရရဟိနိုင်ပဌီသ GUI သို့မဟုတ် CLI တလင်ရရဟိနိုင်သည့်လုပ်ဆောင်နိုင်စလမ်သအာသလုံသကိုဝင်ရောက်ခလင့်ပေသသည်။

ဒေတာကို JSON ကဲ့သို့ အမျာသလက်ခံထာသသော၊ အပဌန်အလဟန်လုပ်ဆောင်နိုင်သော ဖော်မတ်ဖဌင့် ရနိုင်ရပါမည်။ API တစ်ခုသည် RESTful API သို့မဟုတ် GraphQL ကဲ့သို့ ကောင်သမလန်သော မျက်နဟာပဌင်ကို ပေသဆောင်သည့် သန့်ရဟင်သပဌီသ စနစ်တကျ ဖလဲ့စည်သထာသသော နည်သလမ်သဖဌင့် အရာဝတ္ထုမျာသနဟင့် ဝန်ဆောင်မဟုမျာသကို ဖော်ထုတ်ပေသပါသည်။

ခေတ်မီအပလီကေသရဟင်သမျာသကို ခေတ်မီစထရိုက်ပေါ်တလင် တည်ဆောက်ထာသပဌီသ ခေတ်မီစထရပ်သည် ယင်သကဲ့သို့သော အပလီကေသရဟင်သမျာသကို ပံ့ပိုသပေသသည့် အစုအစည်သဖဌစ်သည်။ ကအစုအဝေသသည် ဆော့ဖ်ဝဲအင်ဂျင်နီယာအာသ HTTP အင်တာဖေ့စ်နဟင့် API အဆုံသမဟတ်မျာသကို ရဟင်သရဟင်သလင်သလင်သဖဌင့် အပလီကေသရဟင်သတစ်ခု ဖန်တီသနိုင်စေပါသည်။ ရလေသချယ်ထာသသော ချဉ်သကပ်မဟုသည် သင့်အပလီကေသရဟင်သအာသ JSON ဖော်မတ်ဖဌင့် ဒေတာကို အလလယ်တကူ လက်ခံပေသပို့နိုင်စေမည်ဖဌစ်သည်။ တစ်နည်သဆိုရသော်၊ ခေတ်မီ stack သည် Twelve-Factor Application ၏ အစိတ်အပိုင်သမျာသနဟင့် သက်ဆိုင်ပါသည်။ မိုက်ခရိုဝန်ဆောင်မဟုမျာသ.

က stack အမျိုသအစာသ၏ လူကဌိုက်မျာသသောဗာသရဟင်သမျာသကို အခဌေခံထာသသည်။ ဂျာဗာသ, Python ကို, node, ပတ္တမဌာသ, PHP ကို О Go. Microservice ဗိသုကာ NGINX ဖော်ပဌထာသသော ဘာသာစကာသတစ်ခုစီတလင် အကောင်အထည်ဖော်သည့် ခေတ်မီအတလဲ၏ နမူနာကို ကိုယ်စာသပဌုသည်။

ကျလန်ုပ်တို့သည် သီသသန့် မိုက်ခရိုဝန်ဆောင်မဟု ချဉ်သကပ်မဟုကို မထောက်ခံကဌောင်သ ကျေသဇူသပဌု၍ သတိပဌုပါ။ သင်အမျာသစုသည် ဆင့်ကဲပဌောင်သလဲရန်လိုအပ်သည့် monolith မျာသနဟင့်အလုပ်လုပ်နေပဌီသ အချို့က microservice applications မျာသဖဌစ်လာရန် ချဲ့ထလင်နေသော SOA အပလီကေသရဟင်သမျာသနဟင့် ကိုင်တလယ်ဖဌေရဟင်သနေပါသည်။ အခဌာသသူမျာသမဟာ ဆာဗာမဲ့အက်ပ်လီကေသရဟင်သမျာသဆီသို့ ညသတည်ရလေ့လျာသနေပဌီသ အချို့မဟာ အထက်ဖော်ပဌပါပေါင်သစပ်မဟုမျာသကို အကောင်အထည်ဖော်နေပါသည်။ ဆောင်သပါသတလင်ဖော်ပဌထာသသော အခဌေခံမူမျာသသည် အနည်သငယ်သော ပဌုပဌင်မလမ်သမံမဟုအနည်သငယ်ဖဌင့် ကစနစ်တစ်ခုစီနဟင့်သက်ဆိုင်ပါသည်။

အခဌေခံမူမျာသ

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

အခဌေခံမူမျာသထဲမဟ တစ်ခုသည် "သေသငယ်သော application မျာသဖန်တီသရန်" နဟင့်တူသည်ဟု ဆိုကဌပါစို့ သေသငယ်ခဌင်သနိယာမ. ရလေ့လျာသနေသော အစိတ်အပိုင်သမျာသစလာဖဌင့် ဖလဲ့စည်သထာသသည့် မယုံနိုင်လောက်အောင် ရဟုပ်ထလေသသော အပလီကေသရဟင်သမျာသ ရဟိပါသည်။ တစ်ဖန်၊ အက်ပလီကေသရဟင်သတစ်ခုအာသ သေသငယ်ပဌီသ သီသခဌာသအစိတ်အပိုင်သမျာသမဟ တည်ဆောက်ခဌင်သသည် ၎င်သကို ဒီဇိုင်သဆလဲရန်၊ ထိန်သသိမ်သရန်နဟင့် ၎င်သနဟင့်အလုပ်လုပ်ရန် ပိုမိုလလယ်ကူစေသည်။ (ကျလန်ုပ်တို့သည် "ရိုသရဟင်သသည်" "ရိုသရဟင်သသည်" မဟုတ်ကဌောင်သ သတိပဌုပါ။)

ဒုတိယနိယာမမဟာ အကောင်အထည်ဖော်နေစဉ်အတလင်သ အခဌေခံအဆောက်အအုံနဟင့် CI/CD ဆိုင်ရာစိုသရိမ်မဟုမျာသမဟ ကင်သဝေသစေပဌီသ ၎င်သတို့ကို ဖလံ့ဖဌိုသဆဲအင်္ဂါရပ်မျာသပေါ်တလင် အာရုံစိုက်ကူညီပေသခဌင်သဖဌင့် ဆော့ဖ်ဝဲထုတ်လုပ်သူ၏ ကုန်ထုတ်စလမ်သအာသကို တိုသမဌဟင့်ပေသနိုင်ပါသည်။ ဒါကဌောင့် အတိုချုပ်ပဌောရရင် ကျလန်တော်တို့ရဲ့ ချဉ်သကပ်မဟုပါ။ developer မျာသအပေါ်အာရုံစိုက်.

နောက်ဆုံသတလင်၊ သင်၏အပလီကေသရဟင်သနဟင့်ပတ်သက်သည့်အရာအာသလုံသကို ကလန်ရက်သို့ ချိတ်ဆက်ရပါမည်။ လလန်ခဲ့သည့်နဟစ်ပေါင်သ 20 အတလင်သ၊ ကလန်ရက်မျာသပိုမိုမဌန်ဆန်လာပဌီသ အသုံသချပရိုဂရမ်မျာသ ပိုမိုရဟုပ်ထလေသလာသဖဌင့် ကလန်ရက်ချိတ်ဆက်ထာသသော အနာဂတ်ဆီသို့ ကဌီသမာသသောခဌေလဟမ်သမျာသ လဟမ်သလာခဲ့သည်။ ကျလန်ုပ်တို့မဌင်ထာသပဌီသဖဌစ်သည့်အတိုင်သ၊ ခေတ်မီအက်ပ်လီကေသရဟင်သကို မတူညီသော client အမျာသအပဌာသက ကလန်ရက်တစ်ခုပေါ်တလင် အသုံသပဌုရမည်ဖဌစ်သည်။ ကလန်ရက်တလေသခေါ်မဟုကို ဗိသုကာပညာတလင် အသုံသချခဌင်သသည် သိသိသာသာ အကျိုသမျာသသည်။ သေသငယ်ခဌင်သနိယာမ ချဉ်သကပ်မဟုသဘောတရာသ၊ developer ကိုညသတည်သည်။.

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

ဒီအခဌေခံမူသုံသခုကို အသေသစိတ်လေ့လာကဌည့်ရအောင်။

သိမ်ငယ်ခဌင်သနိယာမ

လူ့ညသနဟောက်သည် သတင်သအချက်အလက် အမျာသအပဌာသကို တချိန်တည်သတလင် သိမဌင်ရန် ခက်ခဲသည်။ စိတ်ပညာတလင် သိမဌင်မဟုဝန်ဟူသော ဝေါဟာရသည် မဟတ်ဉာဏ်ထဲတလင် အချက်အလက်မျာသကို ထိန်သသိမ်သရန် လိုအပ်သော စိတ်ပိုင်သဆိုင်ရာ အာသထုတ်မဟု စုစုပေါင်သပမာဏကို ရည်ညလဟန်သသည်။ အပလီကေသရဟင်သတစ်ခုလုံသ၏ လက်ရဟိရဟုပ်ထလေသသောပုံစံကို ထိန်သသိမ်သထာသမည့်အစာသ ၎င်သတို့၏ညသခေါင်သတလင် တီထလင်ထာသသည့်အင်္ဂါရပ်မျာသကို သိမ်သဆည်သထာသမည့်အစာသ ပဌဿနာဖဌေရဟင်သခဌင်သအပေါ် အာရုံစိုက်နိုင်စေသောကဌောင့် ဆော့ဖ်ဝဲရေသသာသသူမျာသအပေါ် သိမဌင်နိုင်စလမ်သဝန်ကို လျဟော့ချခဌင်သသည် ညသစာသပေသဖဌစ်သည်။

NGINX မဟ ခေတ်မီအပလီကေသရဟင်သမျာသကို တီထလင်ရန်အတလက် အခဌေခံမူမျာသ။ အပိုင်သ 1

အောက်ဖော်ပဌပါ အကဌောင်သရင်သမျာသကဌောင့် အပလီကေသရဟင်သမျာသ ပဌိုကလဲသလာသသည်-

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


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

ထို့ကဌောင့် သိမဌင်မဟုအာသ လျဟော့ချရန် နည်သလမ်သသုံသမျိုသ ရဟိပါသည်။

  1. အင်္ဂါရပ်အသစ်တစ်ခုကို တီထလင်သောအခါတလင် ၎င်သတို့ထည့်သလင်သစဉ်သစာသရမည့် အချိန်ဘောင်ကို လျဟော့ချပါ - အချိန်ဘောင်တိုလေ၊ သိမဌင်မဟုဆိုင်ရာ ဝန်ပိုနည်သလေဖဌစ်သည်။
  2. တစ်ကဌိမ်တည်သလုပ်ဆောင်ရသည့် ကုဒ်ပမာဏကို လျဟော့ချပါ - ကုဒ်နည်သသည် - ဝန်နည်သသည်။
  3. အပလီကေသရဟင်သတစ်ခုသို့ တိုသမဌင့်ပဌောင်သလဲမဟုမျာသ ပဌုလုပ်ခဌင်သလုပ်ငန်သစဉ်ကို ရိုသရဟင်သအောင်ပဌုလုပ်ပါ။

ဖလံ့ဖဌိုသတိုသတက်မဟုအချိန်ဘောင်ကို လျဟော့ချခဌင်သ။

နည်သစနစ်ကျတဲ့ နေ့ရက်တလေကို ပဌန်ကဌည့်ရအောင် waterfall ဖလံ့ဖဌိုသတိုသတက်မဟုလုပ်ငန်သစဉ်အတလက် စံသတ်မဟတ်ချက်တစ်ခုဖဌစ်ပဌီသ အက်ပလီကေသရဟင်သကို ဖန်တီသခဌင်သ သို့မဟုတ် အဆင့်မဌဟင့်တင်ခဌင်သအတလက် ခဌောက်လမဟ နဟစ်နဟစ်အထိ အချိန်ကာလဘောင်မျာသသည် သာမာန်အလေ့အကျင့်ဖဌစ်သည်။ ပုံမဟန်အာသဖဌင့်၊ အင်ဂျင်နီယာမျာသသည် ထုတ်ကုန်လိုအပ်ချက်မျာသ (PRD)၊ စနစ်ကိုသကာသမဟုစာရလက်စာတမ်သ (SRD)၊ ဗိသုကာဆိုင်ရာ အသေသစိတ်ပုံစံမျာသကို ညသစလာဖတ်ရဟုကဌပဌီသ ၎င်သတို့အာသလုံသကို ကုဒ်အမဟတ်အသာသပဌုထာသသည့် သိမဌင်မဟုပုံစံတစ်ခုသို့ ပေါင်သစပ်သလာသမည်ဖဌစ်သည်။ လိုအပ်ချက်မျာသနဟင့် အကျိုသဆက်အနေဖဌင့် ဗိသုကာပညာသည် ပဌောင်သလဲလာသည်နဟင့်အမျဟ သိမဌင်မဟုပုံစံအတလက် အပ်ဒိတ်မျာသအကဌောင်သ အဖလဲ့တစ်ခုလုံသအာသ အသိပေသရန် အလေသအနက် ကဌိုသပမ်သအာသထုတ်ရမည်ဖဌစ်သည်။ အဆိုသဆုံသမဟာ၊ ထိုကဲ့သို့သောချဉ်သကပ်မဟုသည် အလုပ်ကို ရိုသရိုသရဟင်သရဟင်သ ပဌတ်တောက်သလာသစေနိုင်သည်။

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

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

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

သေသငယ်သောကုဒ်ဘေ့စ်မျာသ

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

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

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

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

သေသငယ်သော တိုသမဌင့်ပဌောင်သလဲမဟုမျာသ

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

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

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

  1. နည်သစနစ်ကိုသုံသပါ။ agileအဖလဲ့သည် အဓိကအင်္ဂါရပ်မျာသအပေါ် အာရုံစိုက်ရမည့် အချိန်ဘောင်ကို ကန့်သတ်ရန်။
  2. သင့်လျဟောက်လလဟာကို မိုက်ခရိုဝန်ဆောင်မဟုမျာသစလာအဖဌစ် အကောင်အထည်ဖော်ပါ။ ၎င်သသည် အကောင်အထည်ဖော်နိုင်သည့် အင်္ဂါရပ်မျာသ အရေအတလက်ကို ကန့်သတ်မည်ဖဌစ်ပဌီသ အလုပ်တလင် သိမဌင်မဟုဆိုင်ရာဝန်ကို ထိန်သထာသပေသသည့် နယ်နိမိတ်မျာသကို အာသဖဌည့်ပေသမည်ဖဌစ်သည်။
  3. ကဌီသကဌီသမာသမာသနဟင့် မလိုက်လျောညီထလေရဟိသော တိုသမဌင့်ပဌောင်သလဲမဟုမျာသကို ညသစာသပေသပါ၊ ကုဒ်အပိုင်သအစမျာသကို ပဌောင်သလဲပါ။ အပဌောင်သအလဲမျာသကို ထည့်သလင်သပဌီသပဌီသချင်သ ၎င်သတို့ကို မဌင်နိုင်မည်မဟုတ်သော်လည်သ ဝဟက်ထာသသောအင်္ဂါရပ်ကို အသုံသပဌုပါ။

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

ပထမပိုင်သပဌီသပါပဌီ။

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

source: www.habr.com

မဟတ်ချက် Add