Thuta Learning
Cloud Providers & Platforms
BasicDevOps & Toolsintermediate

IaaS, PaaS, and SaaS

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • IaaS, PaaS, and SaaS concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • Diagram/table ကို ဖတ်ပြီး platform/provider category တွေ ဘယ်လို ကွာခြားသလဲ ခြေရာခံနိုင်ရန်
  • ကိုယ့် project အတွက် ဘယ် platform category ကို ဘယ်လို ရွေးချယ်သင့်သလဲ ရှင်းပြနိုင်ရန်

နားလည်ထားရမယ့် အချက်

Cloud service အားလုံးဟာ abstraction spectrum တစ်ခုပေါ်မှာ ရှိနေကြပါတယ်။

တစ်ဖက်စွန်းမှာ IaaS ရှိပြီး raw compute, storage, network ကို ပေးပါတယ်။ Server virtual machine ကို ကိုယ်တိုင် configure လုပ်ရသလိုမျိုးပါ — Control အများဆုံးရပေမယ့် responsibility လည်း အများဆုံးပါ။

အလယ်ကတော့ PaaS ပါ။ Provider က OS, runtime, patching, scaling ကို စီမံပေးပြီး code ကို push လိုက်ရုံနဲ့ app run နေတဲ့ platform လိုမျိုးပါ။

နောက်ဆုံး SaaS ပါ — ပြီးပြည့်စုံပြီးသား product တစ်ခုကို login ဝင်ပြီး အသုံးပြုရုံပါ။ Configure ဒါမှမဟုတ် code ရေးစရာ မလိုတော့ပါ။

ModelControl & Responsibility
IaaSအများဆုံး — OS/runtime/scaling ကိုယ်တိုင်စီမံ
PaaSအလယ်အလတ် — app logic ကိုသာ ရေးရန်
SaaSအနည်းဆုံး — product ကို အသုံးပြုရုံသာ

အဆင့်ခွဲခြားမှု မဟုတ်ပါ

IaaS/PaaS/SaaS ဟာ ‘ဘယ်ဟာက ပိုကောင်းတယ်’ ဆိုတဲ့ အဆင့်ခွဲခြားမှု မဟုတ်ပါ — control နဲ့ convenience ကြား ရွေးချယ်ရမယ့် dial တစ်ခုသာ ဖြစ်ပါတယ်။

IaaS
Infrastructure as a Service — raw compute, storage, network resource ကို ပေးပြီး OS, runtime, application အားလုံးကို သင့်ဘက်က စီမံရသည့် model။
PaaS
Platform as a Service — provider က OS နှင့် runtime ကို စီမံပေးပြီး code ကို run ပေးသည့် managed application platform။
SaaS
Software as a Service — infrastructure/platform/application logic အားလုံးကို provider က ပိုင်ဆိုင်သည့် ပြီးပြည့်စုံသော ready-made product။
text
THE ABSTRACTION SPECTRUM
------------------------
THE ABSTRACTION SPECTRUM
--------------------------

MORE CONTROL                              MORE ABSTRACTION
     |                                              |
     v                                              v
  [ IaaS ]  ------->  [ PaaS ]  ------->  [ SaaS ]

  raw compute        managed platform     finished
  storage, network    push code, it runs   product
  you manage OS       provider manages     login and
  + runtime           OS + runtime         use it

  MORE RESPONSIBILITY                 LESS RESPONSIBILITY

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

IaaS/PaaS/SaaS ကို theory အနေနဲ့ မှတ်မိရုံထက် service တစ်ခုစီရဲ့ characteristic ကနေ classify လုပ်နိုင်ရင် ပိုနားလည်ပါတယ်။

အောက်က function ဟာ OS/runtime/application logic managed ပေးလား၊ ready-to-use product လား ဆိုတဲ့ boolean လေးလုံးကို ကြည့်ပြီး အမျိုးအစား ပြန်ဖြေပေးပါလိမ့်မယ်။

Raw virtual machine

ဘာမှ managed မလုပ်ဘူး → IaaS

Git-push app platform

OS/runtime managed ပေမယ့် logic ကိုယ်တိုင်ရေးရ → PaaS

Ready-made office tool

အားလုံး managed၊ login ဝင်ရုံသာ → SaaS

နောက်တစ်ဆင့်အနေနဲ့ သင်ကိုယ်တိုင်သုံးနေတဲ့ tool သုံးခုကို ရွေးပြီး characteristic ကိုယ်တိုင်ဖြည့်ကြည့်ပါ။

အတူတူ စမ်းရေးကြည့်မယ်

javascript
function classifyService(svc) {
  if (svc.isReadyToUseProduct) return "SaaS";
  if (svc.managesOS && svc.managesRuntime && !svc.managesApplicationLogic) return "PaaS";
  if (!svc.managesOS && !svc.managesRuntime && !svc.managesApplicationLogic) return "IaaS";
  return "Mixed / Unclear";
}

const rawVirtualMachine = {
  managesOS: false,
  managesRuntime: false,
  managesApplicationLogic: false,
  isReadyToUseProduct: false
};

const gitPushAppPlatform = {
  managesOS: true,
  managesRuntime: true,
  managesApplicationLogic: false,
  isReadyToUseProduct: false
};

const hostedOfficeSuite = {
  managesOS: true,
  managesRuntime: true,
  managesApplicationLogic: true,
  isReadyToUseProduct: true
};

console.log("Raw virtual machine:", classifyService(rawVirtualMachine));
console.log("Git-push app platform:", classifyService(gitPushAppPlatform));
console.log("Hosted office suite:", classifyService(hostedOfficeSuite));
You should see
Raw virtual machine: IaaS
Git-push app platform: PaaS
Hosted office suite: SaaS

၅ မိနစ် စမ်းကြည့်

သင်ကိုယ်တိုင်သုံးနေတဲ့ tool သုံးခုကို ရွေးပြီး boolean လေးလုံးကို ဖြည့်ကြည့်ပါ။ classify function ရဲ့ output ကို ခန့်မှန်းချက်နဲ့ နှိုင်းယှဉ်ကြည့်ပါ။

သတိလေးတစ်ချက်

PaaS ကို 'IaaS ထက် နိမ့်တယ်' လို့ အဆင့်ခွဲခြင်း — trade-off တစ်ခုသာ ဖြစ်ခြင်း

Service တစ်ခုကို static category တစ်ခုတည်းအဖြစ် ထင်ခြင်း — modern product အများစုက layer ရော ဖြစ်တတ်သည်

NIST Definition of Cloud Computing (service models)Cloud Providers & Platforms

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • PaaS ကို 'IaaS ထက် နိမ့်တယ်' လို့ အဆင့်ခွဲခြင်း — trade-off တစ်ခုသာ ဖြစ်ခြင်း
  • Service တစ်ခုကို static category တစ်ခုတည်းအဖြစ် ထင်ခြင်း — modern product အများစုက layer ရော ဖြစ်တတ်သည်
  • ဒီ course က provider/platform landscape ကို comparison-level မှာသာ သင်ပေးပါတယ် — AWS, Docker, CI/CD, Firebase, deployment fundamentals ကို နက်နက်ရှိုင်းရှိုင်း လေ့လာချင်ရင် AWS Fundamentals, Docker, CI/CD, Firebase, Cloud & Deployment tutorial တွေဆီ ဆက်သွားပါ။

လေ့ကျင့်ခန်း

သင်ကိုယ်တိုင်သုံးနေတဲ့ tool သုံးခုကို ရွေးပြီး boolean လေးလုံးကို ဖြည့်ကြည့်ပါ။ classify function ရဲ့ output ကို ခန့်မှန်းချက်နဲ့ နှိုင်းယှဉ်ကြည့်ပါ။

You'll know it worked when: Raw virtual machine: IaaS Git-push app platform: PaaS Hosted office suite: SaaS

IaaS, PaaS, and SaaS | Thuta Learning