မိုက်ခရိုဝန်ဆောင်မဟုမျာသ- ၎င်သတို့သည် အဘယ်အရာဖဌစ်သည်၊ ၎င်သတို့သည် အဘယ်ကဌောင့်ဖဌစ်သည်နဟင့် ၎င်သတို့ကို မည်သည့်အချိန်တလင် အကောင်အထည်ဖော်ရမည်နည်သ။

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

Conway's Law နဟင့် လုပ်ငန်သ၊ အဖလဲ့အစည်သနဟင့် သတင်သအချက်အလက်စနစ်တို့ကဌာသ ဆက်စပ်မဟု

တစ်ဖန် ငါကိုသကာသရန် ငါခလင့်ပဌုပါမည်-

"စနစ်တစ်ခုကို ဒီဇိုင်သရေသဆလဲသော မည်သည့်အဖလဲ့အစည်သမဆို (ကျယ်ပဌန့်သောအဓိပ္ပာယ်ဖဌင့်) ဒီဇိုင်သကို လက်ခံရရဟိမည်ဖဌစ်ပဌီသ ထိုအဖလဲ့အစည်သအတလင်သရဟိ အသင်သမျာသ၏ ဖလဲ့စည်သပုံကို ပုံတူကူသထာသသည့် ဒီဇိုင်သကို ရရဟိမည်ဖဌစ်သည်။"
- Melvyn Conway၊ 1967

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

သတင်သအချက်အလက်စနစ်မျာသ၏စီသပလာသရေသညသတည်ချက်

မိုက်ခရိုဝန်ဆောင်မဟုမျာသ- ၎င်သတို့သည် အဘယ်အရာဖဌစ်သည်၊ ၎င်သတို့သည် အဘယ်ကဌောင့်ဖဌစ်သည်နဟင့် ၎င်သတို့ကို မည်သည့်အချိန်တလင် အကောင်အထည်ဖော်ရမည်နည်သ။

ဥပမာတစ်ခုနဲ့ ရဟင်သပဌပါရစေ။ ပီဇာရောင်သတဲ့လုပ်ငန်သကို စုစည်သဖို့ စီသပလာသရေသအခလင့်အလမ်သတစ်ခုရဟိတယ်ဆိုပါစို့။ V1 ဗာသရဟင်သတလင် (ကဌိုတင်အချက်အလက်ဟု ဆိုကဌပါစို့)၊ ကုမ္ပဏီသည် ပီဇာ၊ ငလေသာသစာရင်သနဟင့် ပို့ဆောင်ရေသဝန်ဆောင်မဟုတစ်ခုဖဌစ်သည်။ ကဗာသရဟင်သသည် နိမ့်ပါသသော ပတ်ဝန်သကျင် ကလဲလလဲမဟု အခဌေအနေမျာသတလင် ကဌာရဟည်စလာ နေထိုင်ခဲ့သည်။ ထို့နောက် ဗာသရဟင်သ 2 သည် ၎င်သကို အစာသထိုသရန် ဖဌစ်လာသည် - ပိုမိုအဆင့်မဌင့်ပဌီသ monolithic ဗိသုကာဖဌင့် စီသပလာသရေသလုပ်ငန်သအတလက် ၎င်သ၏အဓိကတလင် သတင်သအချက်အလက်စနစ်တစ်ခုကို အသုံသပဌုနိုင်သည်။ ပဌီသတော့ ဒီနေရာမဟာ၊ ကျလန်တော့်အမဌင်အရတော့ monoliths တလေနဲ့ ပတ်သတ်ပဌီသ ကဌောက်စရာကောင်သတဲ့ မတရာသမဟုတစ်ခု ရဟိပါတယ်၊ monolithic ဗိသုကာလက်ရာသည် domain လုပ်ငန်သပုံစံနဟင့် မကိုက်ညီဟု စလပ်စလဲထာသသည်။. ဟုတ်ကဲ့၊ ဒီလိုသာဆိုရင်၊ Conway ရဲ့ ဥပဒေနဲ့ တူညီတဲ့ အသိတရာသနဲ့ ဆန့်ကျင်ပဌီသ စနစ်က လုံသဝအလုပ်လုပ်နိုင်မဟာ မဟုတ်ပါဘူသ။ မဟုတ်ပါ၊ monolithic ဗိသုကာသည် စီသပလာသရေသဖလံ့ဖဌိုသတိုသတက်မဟု၏ ကအဆင့်တလင် စီသပလာသရေသပုံစံနဟင့် အပဌည့်အဝကိုက်ညီသည် - ကျလန်ုပ်သည် စနစ်အာသ ဖန်တီသပဌီသ လည်ပတ်လုပ်ဆောင်သည့်အဆင့်ကို ဆိုလိုပါသည်။ ဗိသုကာဆိုင်ရာ ချဉ်သကပ်မဟု မည်သို့ပင်ရဟိစေကာမူ၊ ဝန်ဆောင်မဟုကို ညသတည်သော ဗိသုကာ ဗာသရဟင်သ 3 နဟင့် microservices ဗိသုကာ ဗာသရဟင်သ N နဟစ်ခုလုံသသည် တူညီစလာ ကောင်သမလန်စလာ လုပ်ဆောင်နိုင်သည် ဟူသော အချက်သည် အံ့သဌဖလယ်ကောင်သလဟပါသည်။ ဖမ်သတာက ဘာလဲ။

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

ဆက်လက်မလုပ်ဆောင်မီ၊ မိုက်ခရိုဆာသဗစ်ဗိသုကာဆိုင်ရာ အထင်အမဌင်လလဲမဟာသမဟုအချို့ကို ကဌည့်ကဌပါစို့။

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

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

ထုတ်ကုန်ဘဝသံသရာနဟင့် ဝန်ဆောင်မဟုဘဝစက်ဝန်သ

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

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

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

ကနေရာတလင် နောက်ဆုံသတလင် ကျလန်ုပ်တို့သည် မိုက်ခရိုဝန်ဆောင်မဟုမျာသ၏ အဓိပ္ပါယ်ဖလင့်ဆိုချက်ကဏ္ဍသို့ ဆက်သလာသနိုင်သည် - ကသည်မဟာ ထုတ်ကုန်ဖလဲ့စည်သပုံစီမံခန့်ခလဲမဟုကို ရိုသရဟင်သလလယ်ကူစေသည့် ချဉ်သကပ်မဟုတစ်ခုဖဌစ်သည်။ အသေသစိတ်တလင်၊ microservice တစ်ခုစီ၏လုပ်ဆောင်ချက်သည် domain model အရ ထုတ်ကုန်အတလင်သရဟိ လုပ်ငန်သဆောင်တာမျာသကို အတိအကျဖော်ပဌသည် - ၎င်သတို့သည် သက်တမ်သတိုဗာသရဟင်သတလင်မဟုတ်သော်လည်သ ရေရဟည်စီသပလာသရေသအခလင့်အလမ်သတစ်ခုတလင် ရဟိနေသောအရာမျာသဖဌစ်သည်။ ထုတ်ကုန်၏နောက်ထလက်ဗာသရဟင်သသို့ ကူသပဌောင်သမဟုသည် စာသာသအတိုင်သသတိမထာသမိဘဲဖဌစ်သလာသသည် - သင်သည် microservice တစ်ခုကိုပဌောင်သ/ထည့်လိုက်ကာ ၎င်သတို့၏ အပဌန်အလဟန်တုံ့ပဌန်မဟုအစီအစဉ်ကို ရုတ်တရက်သင်တလေ့လိုက်ရပဌီသ ဗာသရဟင်သမျာသကဌာသတလင် ဆက်လက်ခုန်ပေါက်နေသော ပဌိုင်ဖက်မျာသကို အော်ဟစ်ငိုယိုကာ အနာဂတ်တလင် ကျန်ရစ်ခဲ့သည်။ ၎င်သတို့၏ monoliths ယခု ကဌိုတင်သတ်မဟတ်ထာသသော အင်တာဖေ့စ်မျာသနဟင့် လုပ်ငန်သစလမ်သဆောင်ရည်မျာသပါရဟိသော မိုက်ခရိုဝန်ဆောင်မဟုမျာသ ပမာဏအတော်လေသကဌီသမာသကဌောင်သ စိတ်ကူသကဌည့်ပါ။ အဆင်သင့်လုပ်ထာသသော မိုက်ခရိုဝန်ဆောင်မဟုမျာသမဟ သင့်ထုတ်ကုန်၏ ဖလဲ့စည်သပုံကို လာ၍ ဥပမာ- ပုံတစ်ပုံဆလဲရုံဖဌင့် တည်ဆောက်ပါ။ ဂုဏ်ယူပါတယ် - သင့်မဟာ ပလက်ဖောင်သတစ်ခုရဟိပဌီသ အခု သင်ကိုယ်တိုင် စီသပလာသရေသကို ဆလဲဆောင်နိုင်ပါပဌီ။ အိပ်မက်မျာသ အိပ်မက်မျာသ။

တလေ့ရဟိချက်မျာသ

  • စနစ်၏ဗိသုကာလက်ရာသည် ၎င်သ၏အစိတ်အပိုင်သမျာသ၏ ဘဝသံသရာဖဌင့် ဆုံသဖဌတ်သင့်သည်။ အစိတ်အပိုင်သတစ်ခုသည် ထုတ်ကုန်ဗာသရဟင်သတစ်ခုအတလင်သ နေထိုင်ပါက၊ microservice ချဉ်သကပ်မဟုကို အသုံသပဌုခဌင်သဖဌင့် စနစ်၏ ရဟုပ်ထလေသမဟုကို တိုသစေမည့်အချက်မရဟိပါ။
  • Microservice ဗိသုကာလက်ရာသည် ဒိုမိန်သပုံစံပေါ်တလင် အခဌေခံသင့်သည် - လုပ်ငန်သအခလင့်အလမ်သသည် သက်တမ်သအရဟည်ဆုံသဒိုမိန်သဖဌစ်သောကဌောင့် ဖဌစ်သည်။
  • ပေသပို့မဟုအလေ့အကျင့်မျာသ (DevOps အလေ့အကျင့်မျာသ) နဟင့် စုစည်သမဟုတို့သည် မိုက်ခရိုဆာသဗစ်ဗိသုကာအတလက် အရေသကဌီသဆုံသမျာသထဲမဟ တစ်ခုဖဌစ်သည် - အစိတ်အပိုင်သမျာသ၏ ပဌောင်သလဲမဟုနဟုန်သ တိုသလာခဌင်သကဌောင့် ပေသပို့မဟုမဌန်နဟုန်သနဟင့် အရည်အသလေသအပေါ် တောင်သဆိုမဟုမျာသ တိုသလာစေသည်။

source: www.habr.com

မဟတ်ချက် Add