မနေ့က အကြောင်းကိုဆက်ပြောကြစို့။ လုပ်ချင်တာလုပ် တိုးချင်တာတိုးရင် ၂ ပိုင်းအကြမ်းဖျဉ်းပေါ့။ Vertical Scaling နဲ့ Horizontal Scaling။ ဒေါင်လိုက်နဲ့ အလျားလိုက်လို့ မြန်မာမှုပြုကြစို့။
ဒေါင်လိုက်ဆိုတာက စက်တွေကို ပိုပြီး မြင့်တဲ့ spec တွေကို တိုးတာ။ Ram 1GB ကနေ 2GB။ 1 core to 2 core ပေါ့။ အဲဒီလိုမျိုးကို vertical Scaling လို့ခေါ်တယ်။
အလျားလိုက်ဆိုတာက စက်တွေပိုများများထည့်ပြီးတော့အလုပ်လုပ်ခိုင်းတာ။ Ram 1GB တစ်လုံးကနေ 1GB ၂ လုံးဖြစ်သွားတာမျိုး။
များသောအားဖြင့်က အလျားလိုက်လုပ်ကြတယ်။ ဘာဖြစ်လို့လည်းဆိုတော့ cloud တွေကြောင့်လို့ဆိုရင် မှန်မယ်။ ဟိုးအရင်တုန်းက စက်တွေက တိုးရလွယ်တာဘာညာ သိပ်မရှိဘူး။ တတ်နိုင်ရင် dedicated။ မတတ်နိုင်ရင် shared hosing ပဲ။
ဒါပေမယ့် ၂၀၀၀ ခုနှစ်နောက်ပိုင်းမှာ VPS တွေပေါ်လာတော့ နည်းပညာတွေလည်း တိုးတက်လာတယ်။ တိုးချင်တိုး လျော့ချင်လျော့ပေါ့။ အဲဒီမှာ OpenVZ က ဆရာကြီး။
ဒါပေမယ့် OpenVZ ရဲ့ အားနည်းချက်က Containerization။ သူက os ကို virtualization မလုပ်နိုင်ဘူး။ kernel ကို share ပေးပြီးသုံးရတာ။
အဲဒီတော့ဘာဖြစ်လည်းဆိုတော့ ဘာကောင်ဖြစ်ဖြစ် openvz kernel ပဲ။ အဲဒီတော့ ဘာလုပ်လို့ရသလဲဆို ပုံမှန်လောက်ပဲအဆင်ပြေပြီး Hardware level ဆင်းဆို ငိုစမ်းပဲ။ Tun/Tap တွေ ဘာတွေ ဘာမှ လုပ်လို့မရ။ ရလည်း မလွယ်။
အဲဒီမှာ အဆိုးဆုံးက system upgrade လုပ်လိုက်ရင် kernel crash ဖြစ်သွားတာ။ ပြန်ကို တက်မလာတော့ဘူး။ လာလည်းမနောက်နဲ့ နောက်လည်း မလာနဲ့ဆိုတဲ့ Kernel အမျိုးအစား။
ဒါပေမယ့် ပုံမှန်အတိုင်းကျတော့ အတော်အဆင်ပြေသား။ တိုးချင်တိုး ချချင်ချ အဆင်ပြေတယ်။
နောက်ပိုင်း cloud provider တွေက XEN, KVM သုံးလာတယ်။ အဲဒီကောင်တွေက လုံးဝ fully virtualized ဖြစ်တယ်။ ဒါပေမယ့် တကယ့်ပြဿနာက HDD မှာ။
သူတို့က resource ကို အတိအပ ပိုင်းလိုက်တဲ့အတွက်ကြောင့် တိုးလို့ရပေမယ့် လျော့လို့မရဘူး။ Storage က Kernel ထဲမှာ တိုက်ရိုက်ကြီးတစ်နေတာ။ အဲဒီတော့တိုးချင်ရတယ်။ လျော့ချင်ရင်မရဘူး။
အဲဒီပြဿနာကို လူတွေအနေနဲ့ တိုးရအောင် ဘယ်လိုလုပ်တုန်းဆိုတော့ horizontal scaling လုပ်ကြတာပေါ့။ တစ်လုံးက ၂ လုံးပွား။ လကုန်လို့ မလိုရင် ပြန်ဖြုတ်ပေါ့။ (နောက်ပိုင်း cloud provider တချို့ကလည်း အဲဒါကို ဝန်ဆောင်မှုပေးလာတယ်ဆိုပါတော့)
အဲဒါက peak အတွက်ကောင်းတယ်။ ဒါပေမယ့် ထူးထူးဆန်းဆန်း traffic ငြိမ်လာတဲ့အခါကျတော့ စက်ကလေးတွေ ပေါက်စနလေး အများကြီးမသုံးတော့ပဲ အင်တိုက်အားတိုက် စက်အကြီးတွေကိုပဲ သုံးပြီး အားကောင်းမောင်းသန် ထိန်းထားလိုက်တာမျိုးရှိတယ်။ အသေးလေး အလုံး ၃၀ လောက်လုပ်မယ့်အစား ၁၀ ဆကောင်းတဲ့ spec ကို ယူပြီးတော့ ၃ လုံးပဲထားလိုက်တာမျိုး။
အဲဒါက ဘာအားသာလည်းဆိုတော့ အမြန်လိုချင်တဲ့သူအတွက်ကျတော့ သူက အားကောင်းတယ်။ စက်လည်းကောင်းတယ်။ လိုင်းလည်း ပိုကောင်းတယ်။ အဲဒီတော့ သူက ပိုသာတယ်။
အဲဒါမျိုးက Hybrid Scaling ခေါ်မလားပဲ. အသေးစိတ်တော့မသိ။
အဲဒီ scaling တွေကြောင့် အကြမ်းဆိုရင်တော့ မငြိမ်သေးရင် horizontal လုပ်ယူလိုက်ပြီး ငြိမ်သွားရင်တော့ vertical လုပ်ပေါ့။ အဓိကက ကိုယ့်စက်က ကိုယ့်ကို လည်ပင်းပြန်မညှစ်ဖို့ပဲလိုတာ။ ကိုယ်စက်နဲ့ကိုယ် အဆင်ပြေနေဖို့က အဓိကပဲမဟုတ်လား။