လွယ်လွယ်ပြောရရင် VM (Virtual Machine) ဆိုတာ ကွန်ပျူတာတစ်လုံးထဲမှာ software နဲ့ ဖန်တီးထားတဲ့ “ကွန်ပျူတာအတု” ပါ။ အပြင်မှာ ကွန်ပျူတာတစ်လုံးတည်း ရှိပေမယ့် အထဲမှာ နှစ်လုံး (ဒါမှမဟုတ် ပို) run နေသလိုမျိုး။ တစ်ခုချင်းစီမှာ သူ့ OS သူ့ဟာသူ ရှိတယ် — တစ်ခုက Windows, နောက်တစ်ခုက Ubuntu ဖြစ်နိုင်တယ်။

အိမ်ငှားဥပမာနဲ့ ပြောမယ်။

တိုက်တစ်လုံးထဲမှာ အခန်း နှစ်ခန်း ခွဲငှားထားသလိုမျိုး။ အခန်းတစ်ခန်းထဲက လူက ဆူညံအောင် သီချင်းဖွင့်နေရင်တောင် နောက်တစ်ခန်းက လူကို မထိခိုက်ဘူး — နံရံကြားမှာ ခြားထားတယ်။ VM လည်း ဒီအတိုင်းပဲ။ ကွန်ပျူတာ hardware တစ်စုံကို ခွဲသုံးတာ၊ VM တစ်ခုက crash ဖြစ်သွားရင်တောင် ကျန်တဲ့ VM တွေ၊ အဓိက OS ကို မထိခိုက်ဘူး။

ဘယ်လို အလုပ်လုပ်လဲ?

အလယ်မှာ hypervisor ဆိုတဲ့ software တစ်ခု ရှိတယ် — VirtualBox, VMware လိုမျိုး။ သူက hardware (CPU, RAM, disk) ကို အပိုင်းပိုင်း ခွဲပြီး VM တစ်ခုချင်းစီကို ဝေပေးတဲ့ “အိမ်ရှင်” ပါ။

ဥပမာ RAM 16GB ရှိတဲ့ laptop မှာ —

အဓိက Windows ကို 8GB ပေး
VM ထဲက Ubuntu ကို 4GB ပေး
ကျန် 4GB ကို နောက် VM တစ်လုံးအတွက် ချန်

VM ထဲက Ubuntu က သူ့ကို “ကွန်ပျူတာအစစ်” လို့ ထင်နေတယ်။ သူ့မှာ သူ့ desktop, သူ့ file, သူ့ program တွေ ရှိတယ်။ အပြင်က Windows နဲ့ လုံးဝ သီးခြား။

ဘာအတွက် သုံးလဲ?

စမ်းသပ်တာ — virus ရှိမရှိ မသေချာတဲ့ file ကို VM ထဲမှာ ဖွင့်ကြည့်တာ။ တစ်ခုခု မှားသွားရင် VM ကို ဖျက်ပစ်လိုက်ရုံပဲ၊ အဓိက ကွန်ပျူတာ လုံခြုံတယ်။ Snapshot ဆိုတဲ့ feature နဲ့ “အရင်အခြေအနေ ပြန်သွားတာ” လည်း လုပ်လို့ရတယ်။
OS နှစ်ခု သုံးတာ — Windows laptop ထဲမှာ Linux စမ်းချင်ရင် restart လုပ်စရာမလိုဘူး၊ VM ထဲ ဖွင့်ရုံပဲ။
Server ငှားတာ — DigitalOcean, AWS က ရောင်းတဲ့ VPS ဆိုတာ တကယ်တော့ VM ပဲ။ Server ကြီးတစ်လုံးကို အပိုင်းပိုင်း ခွဲရောင်းတာ။ ကိုယ့် blog ကို run ထားတဲ့ server ဆိုတာ ဒီလို VM တစ်လုံးပဲ ဖြစ်နိုင်တယ်။
အလုပ် ခွဲတာ — development, testing ကို သီးခြား VM တွေမှာ လုပ်တာ။ တစ်ခုပျက်ရင် ကျန်တာ မထိခိုက်ဘူး။

ကိုယ်တိုင် စမ်းကြည့်ချင်ရင်

VirtualBox (အခမဲ့) ကို download လုပ်
Ubuntu ISO file ကို download လုပ်
VirtualBox ထဲမှာ “New” နှိပ် → RAM 4GB, disk 25GB ပေး → ISO ကို ရွေးပြီး install

မိနစ် 30 လောက်ဆို Windows ထဲမှာ Ubuntu တစ်လုံး run နေပြီ။

VM နဲ့ Docker (အရင်က ရေးဖူးတယ်) ကို ရောတတ်တယ်။ အလွယ်မှတ်ထား — VM က “အိမ်အခန်းခွဲငှားတာ” (OS အပြည့်ပါ), Docker က “အခန်းထဲမှာ ဗီရိုထပ်ခွဲတာ” (ပေါ့ပေါ့ပါးပါး)။

အားနည်းချက်လည်း ရှိတယ် — VM က OS အပြည့်ပါတော့ RAM, disk စားတယ်၊ ဖွင့်တာ နှေးတယ်။ ဒါပေမဲ့ လုံခြုံမှု၊ သီးခြားဖြစ်မှုမှာတော့ သူ့ကို ဘယ်သူမှ မမီဘူး။ နောက် တစ်စုံတစ်ယောက်က “VPS ငှားထားတယ်” လို့ ပြောရင် “အော်၊ cloud ပေါ်က VM တစ်လုံးပဲ” လို့ သိလိုက်တော့။ 🙂