Skip to content
GitHub

လက်ရှိနှင့် အနာဂတ် Trends များ

နောက်ဆုံးအခန်းကို ရောက်ရှိလာတဲ့အတွက် ဂုဏ်ယူပါတယ်။ သင်ဟာ Software Architecture ရဲ့ Pattern တွေ၊ နိယာမတွေ၊ နဲ့ လက်တွေ့ကျွမ်းကျင်မှုတွေကို သင်ယူပြီးသွားပါပြီ။ ဒီနောက်ဆုံးအခန်းကတော့ အနာဂတ်ကို မျှော်ကြည့်တဲ့ အခန်းဖြစ်ပါတယ်။ ကျွန်တော်တို့က နောက်မျိုးဆက် Software System တွေကို ပုံဖော်ပေးမယ့် စိတ်လှုပ်ရှားစရာကောင်းတဲ့ Trend တွေကို စူးစမ်းလေ့လာပြီး၊ Software Architect တစ်ယောက်ဖြစ်ရခြင်းရဲ့ တကယ့်အဓိပ္ပာယ်ကို ပြန်လည်သုံးသပ်ကြပါမယ်။

Architecture ဆိုတာ အမြဲတမ်းပြောင်းလဲနေတယ်

Section titled “Architecture ဆိုတာ အမြဲတမ်းပြောင်းလဲနေတယ်”

နည်းပညာလောကက ဘယ်တော့မှ ရပ်တန့်မနေပါဘူး။ ဒီနေ့ခေတ်စားနေတဲ့ Pattern တွေက မနေ့က စိန်ခေါ်မှုတွေကနေ ပေါက်ဖွားလာတာဖြစ်ပြီး၊ ဒီနေ့ရဲ့ စိန်ခေါ်မှုတွေက မနက်ဖြန်ရဲ့ Pattern အသစ်တွေကို ဖြစ်ပေါ်စေမှာပါ။ ဒီသင်ခန်းစာကတော့ ရှေ့ဆက်ဖြစ်လာမယ့်အရာတွေအကြောင်း ခရီးတိုလေးတစ်ခုပါပဲ။

Serverless & FaaS (Functions as a Service)

Section titled “Serverless & FaaS (Functions as a Service)”
  • ဘာလဲ - ဒါက သင် Server တွေအကြောင်း လုံးဝစဉ်းစားနေစရာမလိုတော့တဲ့ ချဉ်းကပ်မှုတစ်ခုပါ။ သင်က ကိုယ့် Code ကို သေးငယ်ပြီး လွတ်လပ်တဲ့ Function လေးတွေအဖြစ်ရေးပြီး Cloud Provider ဆီကို Upload လုပ်လိုက်ရုံပါပဲ။ Provider က Event တစ်ခုခု (API Call သို့မဟုတ် File Upload လိုမျိုး) ကို တုံ့ပြန်တဲ့အနေနဲ့ သင့် Function ကို အလိုအလျောက် Run ပေးပြီး၊ Scaling လုပ်တာနဲ့ Server Management အားလုံးကို သင့်အစား တာဝန်ယူပေးပါတယ်။

  • ဥပမာနှိုင်းယှဉ်ချက် - ကိုယ်ပိုင်ကားတစ်စီးပိုင်ဆိုင်တာ နဲ့ တက္ကစီငှားစီးတာ - သမားရိုးကျ Server Management က ကိုယ်ပိုင်ကားတစ်စီးပိုင်ဆိုင်သလိုပါပဲ။ သင်က ကားဝယ်ရမယ်၊ အာမခံထားရမယ်၊ ပြုပြင်ထိန်းသိမ်းရမယ်၊ ကားပါကင်ရှာရမယ်။ Serverless/FaaS ကတော့ တက္ကစီငှားစီးသလိုပါပဲ။ သင်က ကားသမားကို ဘယ်သွားချင်လဲပြော၊ ခရီးစဉ်အတွက် ပိုက်ဆံရှင်းလိုက်ရုံနဲ့ ကားအကြောင်း လုံးဝစိတ်ပူစရာမလိုတော့ပါဘူး။

  • အဓိကအကျိုးကျေးဇူး - သင့် Code Run နေတဲ့ အချိန်အတိအကျအတွက်ပဲ ပိုက်ဆံပေးရပြီး၊ Operational အလုပ်လုံးဝမလိုဘဲ အကန့်အသတ်မရှိနီးပါး Scale လုပ်နိုင်ပါတယ်။

  • ဘာလဲ - ရှုပ်ထွေးတဲ့ Microservices Architecture တစ်ခုမှာ Service အချင်းချင်း ဆက်သွယ်ပြောဆိုမှုအားလုံးကို စီမံခန့်ခွဲဖို့အတွက် သီးသန့် သီးခြား Infrastructure Layer တစ်ခုပါ။

  • သူဖြေရှင်းပေးတဲ့ ပြဿနာ - သင့်မှာ Microservice ရာပေါင်းများစွာရှိလာတဲ့အခါ၊ လုံခြုံတဲ့ဆက်သွယ်မှု (Encryption)၊ ယုံကြည်စိတ်ချရမှု (Retries, Timeouts)၊ နှင့် Monitoring လိုမျိုး Logic တွေကို Service တစ်ခုချင်းစီတိုင်းမှာ ထပ်ခါထပ်ခါထည့်နေရတာက ပင်ပန်းပြီး အမှားများစေပါတယ်။

  • ဘယ်လိုအလုပ်လုပ်လဲ - Service တစ်ခုချင်းစီရဲ့ဘေးမှာ “Sidecar” Proxy တစ်ခုကို တွဲပေးထားပါတယ်။ Service ထဲကိုဝင်၊ ထွက်တဲ့ Network Traffic အားလုံးက ဒီ Sidecar ကနေတစ်ဆင့် ဖြတ်သွားပါတယ်။ Sidecar က ရှုပ်ထွေးတဲ့ Network Logic အားလုံးကို ကိုင်တွယ်ပေးတဲ့အတွက်၊ Service ကိုယ်တိုင်က သူ့ရဲ့ Business Logic ကိုပဲ အာရုံစိုက်နိုင်ပါတယ်။

  • ဥပမာနှိုင်းယှဉ်ချက် - ကိုယ်ရေးလက်ထောက် - Service Mesh က Service တိုင်းကို စမတ်ကျတဲ့ ကိုယ်ရေးလက်ထောက် (Sidecar) တစ်ယောက်စီ ပေးထားသလိုပါပဲ။ အဲဒီလက်ထောက်က ဆက်သွယ်ပြောဆိုရတဲ့ ခက်ခဲတဲ့ကိစ္စအားလုံးကို ကိုင်တွယ်ပေးတဲ့အတွက်၊ Service က သူ့ရဲ့အဓိကအလုပ်ကိုပဲ အာရုံစိုက်နိုင်ပါတယ်။

  • ဘာလဲ - အဖွဲ့အစည်းအကြီးကြီးတစ်ခုမှာ Data တွေကို စီမံခန့်ခွဲဖို့အတွက် ဗဟိုချုပ်ကိုင်မှုမရှိတဲ့ (Decentralized) ပုံစံတစ်ခုပါ။ ကုမ္ပဏီတစ်ခုလုံးအတွက် ကြီးမားတဲ့ “Data Warehouse” တစ်ခုတည်းကို စီမံခန့်ခွဲရမယ့်အစား၊ Data Mesh က Data ကို ထုတ်လုပ်တဲ့ သက်ဆိုင်ရာ Team အသီးသီးကိုပဲ Data ပိုင်ဆိုင်ခွင့်ပေးလိုက်တာပါ။

  • ဘယ်လိုအလုပ်လုပ်လဲ - Domain Team တစ်ခုချင်းစီ (ဥပမာ - Marketing Team) က သူတို့ရဲ့ Data ကို သူဘာသူ စီမံပြီး တခြား Team တွေ အလွယ်တကူသုံးနိုင်အောင် ဝန်ဆောင်မှုပေးပါတယ်။