Cloud Computing (အင်တာနက်ကနေ ငှားသုံးတဲ့ ကွန်ပျူတာ resource)

A1.1.9: Cloud computing service models, A1.3.2: Virtualization
မြန်မာလို: A1.1.9: cloud computing ရဲ့ service model (ဝန်ဆောင်မှု ပုံစံ) များ၊ A1.3.2: virtualization (ကွန်ပျူတာ တစ်လုံးပေါ်မှာ virtual machine အများ run ခြင်း)


အဓိက အယူအဆများ

Cloud Computing ဆိုတာ ဘာလဲ (A1.1.9)

Cloud computing ဆိုတာ server (တခြား ကွန်ပျူတာတွေကို ဝန်ဆောင်မှု ပေးတဲ့ ကွန်ပျူတာ)၊ storage (ဒေတာ သိမ်းဆည်းရာ)၊ database (ဒေတာ သိမ်းဆည်းတဲ့ စနစ်)၊ networking (ကွန်ပျူတာတွေကို ချိတ်ဆက်ပေးခြင်း) နဲ့ software လို ကွန်ပျူတာ resource (သုံးလို့ရတဲ့ ကွန်ပျူတာ အရင်းအမြစ်) တွေကို အင်တာနက် (“the cloud”) ကနေ ပေးတာပါ။ အဖွဲ့အစည်းတွေက ရုပ်ပိုင်းဆိုင်ရာ hardware ကို ဝယ်ပြီး ကိုယ်တိုင် ထိန်းသိမ်းမယ့်အစား cloud provider (cloud ဝန်ဆောင်မှု ပေးတဲ့ ကုမ္ပဏီ) ဆီကနေ resource တွေကို ငှားသုံးပြီး သုံးသလောက်ပဲ ငွေပေးရပါတယ်။

Cloud computing ရဲ့ အဓိက လက္ခဏာများ:

  • Resource တွေကို cloud provider တွေ စီမံတဲ့ data centre (server အများကြီး ထားတဲ့ အဆောက်အအုံ) ကြီးတွေမှာ ထားရှိပါတယ် (ဥပမာ AWS၊ Microsoft Azure၊ Google Cloud Platform)
  • Pay-as-you-go (သုံးသလောက် ပေးရတဲ့) ဈေးနှုန်း ပုံစံ ဖြစ်လို့ hardware အတွက် ကြိုတင် ငွေအများကြီး ရင်းနှီးစရာ မလိုပါဘူး
  • လိုအပ်သလို resource တွေကို scale up or down (တိုး ဒါမှမဟုတ် လျှော့) လုပ်နိုင်ပါတယ် (ဥပမာ အလုပ်များတဲ့ အချိန်တွေမှာ server တွေ ထပ်ထည့်တာ)
  • အင်တာနက် ချိတ်ထားရင် ဘယ်နေရာကမဆို သုံးလို့ရပါတယ်

Cloud Service Model (cloud ဝန်ဆောင်မှု ပုံစံ) များ (A1.1.9)

Provider က ဘယ်လောက် စီမံပေးလဲ၊ user က ဘယ်လောက် ထိန်းချုပ်ရလဲ ဆိုတာပေါ် မူတည်ပြီး cloud ဝန်ဆောင်မှုတွေကို model သုံးမျိုး ခွဲထားပါတယ်။

SaaS (Software as a Service၊ အင်တာနက်ကနေ အသင့်သုံး software)

  • ပြည့်စုံပြီးသား application (သုံးစွဲသူအတွက် ရေးထားတဲ့ software) တွေကို web browser (ဝဘ်စာမျက်နှာ ဖွင့်တဲ့ software) ကနေ ပေးပါတယ်
  • Provider က အားလုံးကို စီမံပါတယ်: infrastructure (hardware၊ network စတဲ့ အခြေခံ အဆောက်အအုံ)၊ platform (app run ဖို့ operating system နဲ့ runtime ပတ်ဝန်းကျင်) နဲ့ application
  • User က software ကို သုံးရုံပါပဲ၊ install လုပ်တာ၊ update လုပ်တာ၊ server စီမံတာ မလိုပါဘူး
  • ဥပမာ: Google Docs, Microsoft 365, Canva, Gmail, Zoom
  • ထိန်းချုပ်ခွင့် အနည်းဆုံး၊ အဆင်ပြေမှု အများဆုံး

PaaS (Platform as a Service၊ app တင်ဖို့ အသင့်ပြင်ထားတဲ့ platform)

  • Application တွေကို တည်ဆောက်ပြီး deploy (သုံးစွဲသူတွေ သုံးလို့ရအောင် server ပေါ် တင်ခြင်း) လုပ်ဖို့ platform ပါ
  • Provider က infrastructure နဲ့ runtime environment (program run ဖို့ လိုတဲ့ software ပတ်ဝန်းကျင်) ကို စီမံပါတယ်
  • Developer (software ရေးသူ) က server ဒါမှမဟုတ် operating system (ကွန်ပျူတာကို စီမံတဲ့ အဓိက software) တွေကို စီမံစရာ မလိုဘဲ code ကို ရေးပြီး deploy လုပ်ပါတယ်
  • ဥပမာ: Heroku, GitHub Pages, Azure App Service, Google App Engine
  • ထိန်းချုပ်ခွင့် အလယ်အလတ်

IaaS (Infrastructure as a Service၊ virtual machine နဲ့ storage ကို ငှားသုံးခြင်း)

  • ဘာမှ မပြင်ဆင်ရသေးတဲ့ အခြေခံ computing resource တွေ: virtual machine (software နဲ့ ဖန်တီးထားတဲ့ ကွန်ပျူတာ အတု)၊ storage၊ networking
  • Provider က ရုပ်ပိုင်းဆိုင်ရာ hardware ကိုပဲ စီမံပါတယ်
  • User က operating system၊ runtime နဲ့ application တွေကို စီမံပါတယ်
  • ဥပမာ: AWS EC2, Azure Virtual Machines, Google Compute Engine, DigitalOcean
  • ထိန်းချုပ်ခွင့် အများဆုံး၊ တာဝန် အများဆုံး

ထိန်းချုပ်ခွင့်နဲ့ တာဝန် အတိုင်းအတာ

        Least Control                        Most Control
        Most Managed                         Least Managed
        ┌──────────┬──────────┬──────────┐
        │   SaaS   │   PaaS   │   IaaS   │
        └──────────┴──────────┴──────────┘
You manage: Nothing   App code   OS + Apps
Provider:   Everything Platform   Hardware

ပုံထဲက စာတွေရဲ့ အဓိပ္ပာယ်: Least Control / Most Managed (ထိန်းချုပ်ခွင့် အနည်းဆုံး / provider က အများဆုံး စီမံ)၊ Most Control / Least Managed (ထိန်းချုပ်ခွင့် အများဆုံး / provider က အနည်းဆုံး စီမံ)။ You manage (ကိုယ်တိုင် စီမံရတာ) က SaaS မှာ Nothing (ဘာမှ မရှိ)၊ PaaS မှာ App code (app ရဲ့ code)၊ IaaS မှာ OS + Apps (operating system နဲ့ app တွေ) ပါ။ Provider (provider က စီမံတာ) က SaaS မှာ Everything (အားလုံး)၊ PaaS မှာ Platform၊ IaaS မှာ Hardware ပါ။

အများ မှားတတ်တာက model သုံးမျိုးကို ရောထွေးတာပါ။ မှတ်ထားပါ: SaaS = ကိုယ်က သုံးရုံပဲ၊ PaaS = အဲဒီပေါ်မှာ ကိုယ်က code ရေးတယ်၊ IaaS = အဲဒီပေါ်မှာ ကိုယ်က အရာအားလုံးကို တည်ဆောက်တယ်။ SaaS ကနေ PaaS၊ ပြီးတော့ IaaS ဆီ သွားတိုင်း ကိုယ်တိုင် စီမံရတာ ပိုများလာပါတယ်။

Virtualization (ကွန်ပျူတာ တစ်လုံးပေါ်မှာ virtual machine အများ run ခြင်း) (A1.3.2)

Virtualization ဆိုတာ software ကို သုံးပြီး ရုပ်ပိုင်းဆိုင်ရာ resource တွေ (server၊ storage ဒါမှမဟုတ် network (ကွန်ရက်)) ရဲ့ virtual (software နဲ့ ဖန်တီးထားတဲ့ အတု) ပုံစံတွေကို ဖန်တီးတဲ့ လုပ်ငန်းစဉ်ပါ။ Cloud computing ကို ဖြစ်နိုင်အောင် လုပ်ပေးတဲ့ အခြေခံ နည်းပညာ ဖြစ်ပါတယ်။

Hypervisor

  • Virtual machine တွေကို ဖန်တီးပြီး စီမံတဲ့ software ပါ
  • ရုပ်ပိုင်းဆိုင်ရာ hardware နဲ့ virtual machine တွေကြားမှာ ရှိပါတယ်
  • ဥပမာ: VMware ESXi, Microsoft Hyper-V, KVM
  • Type 1 (bare-metal၊ hardware ပေါ် တိုက်ရိုက်): hardware ပေါ်မှာ တိုက်ရိုက် run ပါတယ်။ Data centre တွေမှာ သုံးပါတယ်
  • Type 2 (hosted၊ ရှိပြီးသား OS ပေါ်မှာ တင်ပြီး): ရှိပြီးသား OS (operating system) ပေါ်မှာ run ပါတယ်: desktop ကွန်ပျူတာတွေမှာ သုံးပါတယ် (ဥပမာ VirtualBox)

Virtual Machines (VMs)

  • ကွန်ပျူတာ စနစ် အပြည့်အစုံကို software နဲ့ အတုလုပ်ပေးပါတယ် (emulate)၊ VM တစ်ခုစီမှာ ကိုယ်ပိုင် operating system ရှိပါတယ်
  • ရုပ်ပိုင်းဆိုင်ရာ server တစ်လုံးပေါ်မှာ VM အများကြီး run နိုင်ပြီး VM တစ်ခုနဲ့ တစ်ခု သီးခြားစီ ခွဲထားပါတယ် (isolated)
  • ရုပ်ပိုင်းဆိုင်ရာ server တစ်လုံးက VM 10 ခုကို run နိုင်ပြီး VM တစ်ခုစီက သီးခြား ကွန်ပျူတာ တစ်လုံးလို ထင်ရပါတယ်

Containers (app ကို သူလိုတဲ့ အရာတွေနဲ့ အတူ ထုပ်ပိုးပြီး သီးခြား run တဲ့ ပုံစံ)

  • VM အစား သုံးနိုင်တဲ့ ပေါ့ပါးတဲ့ နည်းလမ်း တစ်ခုပါ (ဥပမာ Docker)
  • Instance (run နေတဲ့ container တစ်ခုချင်း) တစ်ခုစီအတွက် OS အပြည့်အစုံ run မယ့်အစား host (container တွေကို run ပေးတဲ့ ကွန်ပျူတာ) ရဲ့ operating system kernel (OS ရဲ့ အဓိက အူတိုင် အပိုင်း) ကို မျှသုံးပါတယ်
  • ပိုမြန်မြန် စနိုင်ပြီး memory (မှတ်ဉာဏ်) ပိုနည်းနည်း သုံးပါတယ်၊ ဒါပေမယ့် VM တွေထက် isolation (တစ်ခုနဲ့ တစ်ခု သီးခြား ခွဲထားမှု) နည်းပါတယ်

ရုပ်ပိုင်းဆိုင်ရာ server တစ်လုံးက မတူတဲ့ customer တွေအတွက် virtual server အများကြီးကို run နိုင်လို့ hardware ကို အပြည့်ဆုံး အသုံးချနိုင်ပါတယ်။ Virtualization က cloud computing ကို ဖြစ်နိုင်စေတာ ဒါကြောင့်ပါ။

Virtualization ရဲ့ အကျိုးကျေးဇူးများ:

  • Resource ကို ပိုကောင်းကောင်း အသုံးချနိုင်ခြင်း: အလကား ထိုင်နေတဲ့ hardware မရှိပါဘူး၊ စက်တစ်လုံးက user အများကြီးကို ဝန်ဆောင်မှု ပေးပါတယ်
  • Isolation: VM တစ်ခု crash (ရုတ်တရက် ပျက်ပြီး ရပ်သွား) ဖြစ်ရင် ကျန်တဲ့ VM တွေကို မထိခိုက်ပါဘူး
  • Scaling လုပ်ရ လွယ်ခြင်း: hardware အသစ် ဝယ်မယ့်အစား VM အသစ်တွေကို မိနစ်ပိုင်းအတွင်း ဖန်တီး run နိုင်ပါတယ်
  • Snapshot (တစ်ချိန်ချိန်က အခြေအနေကို အတိအကျ မှတ်တမ်းတင်ထားခြင်း) နဲ့ backup (အရန် copy): VM ရဲ့ အခြေအနေ အတိအကျကို သိမ်းထားပြီး နောက်မှ ပြန်ယူသုံးနိုင်ပါတယ်

Cloud နဲ့ On-Premise (ကိုယ့်နေရာမှာ ကိုယ်ပိုင် hardware ထားခြင်း) နှိုင်းယှဉ်ချက်

အချက် Cloud On-Premise
ကုန်ကျစရိတ် လည်ပတ်စရိတ် (လစဉ် ကြေး) အရင်းအနှီး စရိတ် (ကြိုတင် ဝယ်ယူမှု)
Scaling လွယ်ပါတယ်: လိုတဲ့အခါ resource တွေ ထပ်ထည့်ရုံပါပဲ ခက်ပါတယ်: hardware အသစ် ဝယ်ရပါတယ်
ထိန်းသိမ်းမှု Update နဲ့ ပြင်ဆင်မှုတွေကို provider က လုပ်ပေးပါတယ် ကိုယ်ပိုင် IT (သတင်းအချက်အလက် နည်းပညာ) အဖွဲ့ လိုပါတယ်
ထိန်းချုပ်ခွင့် နည်းပါတယ်: provider ရဲ့ စည်းမျဉ်းတွေနဲ့ configuration (setting သတ်မှတ်ပုံ) တွေအတိုင်း အရာအားလုံးကို အပြည့်အဝ ထိန်းချုပ်နိုင်ပါတယ်
ဝင်သုံးနိုင်မှု အင်တာနက် ရှိတဲ့ ဘယ်နေရာကမဆို Local network (ကိုယ့်နေရာထဲက network) ကပဲ (VPN (public network ပေါ်က လုံခြုံတဲ့ ကိုယ်ပိုင် လမ်းကြောင်း) မသုံးရင်)
လုံခြုံရေး Provider နဲ့ တာဝန် ခွဲယူ ကိုယ့်တာဝန် လုံးလုံးပါ

ထပ်ဆောင်း လေ့လာစရာ: မရှိမဖြစ် လက္ခဏာ 5 ခု (NIST)

ဒီအပိုင်းက IB syllabus (IB သင်ရိုး) ထက် ကျော်လွန်တဲ့ အပိုင်းပါ။ ဒါကြောင့် IB Computer Science (နိုင်ငံတကာ ကျောင်းတွေမှာ သင်တဲ့ ကွန်ပျူတာသိပ္ပံ သင်ရိုး) စာမေးပွဲမှာ အကဲဖြတ် စစ်ဆေးတာ မရှိပါဘူး။

အမေရိကန် နိုင်ငံရဲ့ National Institute of Standards and Technology (NIST၊ စံနှုန်းနဲ့ နည်းပညာဆိုင်ရာ အမျိုးသား အဖွဲ့) က cloud computing ရဲ့ မရှိမဖြစ် လက္ခဏာ 5 ခုကို သတ်မှတ်ထားပါတယ်:

  1. On-demand self-service (လိုတဲ့အချိန် ကိုယ်တိုင် ယူသုံးနိုင်ခြင်း): provider ဘက်က လူနဲ့ ဆက်သွယ်စရာ မလိုဘဲ resource တွေ (ဥပမာ server အသစ်၊ storage) ကို ကိုယ်တိုင် ရယူ ပြင်ဆင်နိုင်ပါတယ်
  2. Broad network access (network ကနေ ကျယ်ကျယ်ပြန့်ပြန့် ဝင်သုံးနိုင်ခြင်း): network ပေါ်ကနေ ဘယ်စက်ကမဆို (laptop၊ ဖုန်း၊ tablet) သုံးလို့ရပါတယ်
  3. Resource pooling (resource တွေကို စုပေါင်းပြီး မျှသုံးခြင်း): provider ရဲ့ computing resource တွေက customer အများကို တစ်ပြိုင်နက် ဝန်ဆောင်မှု ပေးပြီး လိုအပ်ချက်ပေါ် မူတည်ပြီး resource တွေကို အလိုက်သင့် ပြောင်းလဲ ခွဲဝေပေးပါတယ်
  4. Rapid elasticity (လိုသလို အမြန် ချဲ့၊ ချုံ့နိုင်ခြင်း): လိုအပ်ချက်ပေါ် မူတည်ပြီး အမြန် scale up or down လုပ်နိုင်ပါတယ်၊ user အတွက်တော့ resource တွေက အကန့်အသတ် မရှိသလို ထင်ရပါတယ်
  5. Measured service (သုံးတာကို တိုင်းတာတဲ့ ဝန်ဆောင်မှု): သုံးစွဲမှုကို စောင့်ကြည့်၊ ထိန်းချုပ်ပြီး သုံးသလောက် ငွေတောင်းပါတယ် (လျှပ်စစ်မီးလို အခြေခံ ဝန်ဆောင်မှု တစ်ခုလိုပါပဲ)

အဆင့်ဆင့် ရှင်းပြထားတဲ့ ဥပမာများ

ဥပမာ 1: Cloud ဝန်ဆောင်မှုတွေကို အမျိုးအစား ခွဲခြင်း

ဝန်ဆောင်မှု တစ်ခုစီက SaaS၊ PaaS ဒါမှမဟုတ် IaaS ထဲက ဘယ်ဟာလဲ ခွဲခြားပြီး ဘာကြောင့်လဲ ရှင်းပြပါ။

ဝန်ဆောင်မှု Model အကြောင်းပြချက်
Google Docs SaaS Browser ကနေ သုံးတဲ့ ပြည့်စုံပြီးသား application တစ်ခုပါ၊ Google က အားလုံးကို စီမံပါတယ်
AWS EC2 IaaS Virtual machine တွေကို ပေးပါတယ်၊ OS နဲ့ application တွေကို user က install လုပ်ပြီး စီမံပါတယ်
Heroku PaaS Developer တွေက server တွေကို မစီမံဘဲ code ကို deploy လုပ်ပါတယ်၊ infrastructure ကို Heroku က ကိုင်တွယ်ပါတယ်
Microsoft 365 SaaS Browser ကနေ ပေးတဲ့ ပြည့်စုံတဲ့ ရုံးသုံး software အစုံ (productivity suite) ပါ၊ Microsoft က အားလုံးကို စီမံပါတယ်
Azure Virtual Machines IaaS ဘာမှ မပြင်ဆင်ရသေးတဲ့ VM တွေကို ပေးပါတယ်၊ OS၊ runtime နဲ့ application တွေကို user က စီမံပါတယ်
GitHub Pages PaaS Developer တွေက code ကို push (ကိုယ့် commit တွေကို GitHub ဆီ ပို့ခြင်း) လုပ်ရုံနဲ့ platform က website ကို အလိုအလျောက် တည်ဆောက်ပြီး host (အင်တာနက်ပေါ်မှာ တင်ထားပေး) လုပ်ပါတယ်

သတိထားရမယ့် ပုံစံက: “operating system ကို ဘယ်သူ စီမံလဲ” လို့ မေးကြည့်ပါ။ Application အပါအဝင် အားလုံးကို provider က စီမံရင် SaaS ပါ။ Provider က infrastructure ကို စီမံပြီး ကိုယ်က code ကို deploy လုပ်ရင် PaaS ပါ။ OS နဲ့ အဲဒီအပေါ်က အရာအားလုံးကို ကိုယ်က စီမံရင် IaaS ပါ။


ဥပမာ 2: Cloud Model တစ်ခုကို အကြံပြုခြင်း

အဖွဲ့အစည်း တစ်ခုစီအတွက် အသင့်တော်ဆုံး cloud service model ကို အကြံပြုပြီး ဘာကြောင့် ရွေးတာလဲ အကြောင်းပြချက် ပေးပါ။

အခြေအနေ A: ကျောင်း တစ်ကျောင်းက ဝန်ထမ်းတွေနဲ့ ကျောင်းသားတွေအတွက် email နဲ့ document (စာရွက်စာတမ်း) တွေ လိုချင်ပါတယ်။

  • အကြံပြုချက်: SaaS (ဥပမာ Google Workspace၊ Microsoft 365)
  • ကျောင်းက server တွေ စီမံဖို့ ဒါမှမဟုတ် ကိုယ်ပိုင် software ရေးဖို့ မလိုပါဘူး။ ချက်ချင်း သုံးလို့ရတဲ့ အသင့်လုပ်ပြီးသား tool တွေပဲ လိုပါတယ်။ SaaS က IT ဘက်က အလုပ်ပို အနည်းဆုံးနဲ့ ဒါကို ပေးပါတယ်။

အခြေအနေ B: Startup (စတင်ခါစ ကုမ္ပဏီငယ်) တစ်ခုက web application တစ်ခု တည်ဆောက်နေပြီး code ရေးတာကိုပဲ အာရုံစိုက်ချင်ပါတယ်။

  • အကြံပြုချက်: PaaS (ဥပမာ Heroku၊ Google App Engine)
  • Developer တွေက server တွေ စီမံတာ၊ operating system တွေကို configure လုပ်တာ၊ scaling ကို ကိုင်တွယ်တာ မလုပ်ဘဲ ကိုယ့် application ကို deploy လုပ်ချင်ပါတယ်။ PaaS က infrastructure ကို ဖုံးကွယ်ပေးထားလို့ (abstract away) အဖွဲ့က product တည်ဆောက်တာကိုပဲ အာရုံစိုက်နိုင်ပါတယ်။

အခြေအနေ C: ဥပဒေ စည်းမျဉ်းတွေကို တင်းတင်းကျပ်ကျပ် လိုက်နာရတဲ့ (regulatory compliance) လုပ်ငန်းကြီး တစ်ခုက လုံခြုံရေး configuration တွေကို အပြည့်အဝ ထိန်းချုပ်ဖို့ လိုပါတယ်။

  • အကြံပြုချက်: IaaS (ဥပမာ AWS EC2၊ Azure VMs)
  • လုပ်ငန်းက firewall (network အဝင်အထွက်ကို စစ်ထုတ်တဲ့ အကာအကွယ်)၊ encryption (ဒေတာကို ဖတ်မရအောင် ပြောင်းခြင်း) နဲ့ access control (ဘယ်သူ ဘာကို သုံးခွင့်ရလဲ ထိန်းချုပ်ခြင်း) တွေကို တိတိကျကျ configure လုပ်ဖို့ လိုပါတယ်။ IaaS က virtual machine တွေနဲ့ networking ကို အပြည့်အဝ ထိန်းချုပ်ခွင့် ပေးပြီး ရုပ်ပိုင်းဆိုင်ရာ hardware ဝယ်ရတဲ့ ကုန်ကျစရိတ်ကိုလည်း ရှောင်နိုင်ပါတယ်။

Quick Check (အမြန် စစ်ဆေးမေးခွန်း)

Q1. ဘယ် cloud service model က user ကို computing environment (ကွန်ပျူတာ ပတ်ဝန်းကျင်) အပေါ် ထိန်းချုပ်ခွင့် အများဆုံး ပေးသလဲ။

Q2. Google Docs က ဘယ် cloud service model ရဲ့ ဥပမာလဲ။

Q3. ရုပ်ပိုင်းဆိုင်ရာ server တစ်လုံးကို virtual server အများကြီး တစ်ပြိုင်နက် run နိုင်အောင် ဘယ်နည်းပညာက လုပ်ပေးသလဲ။

Q4. Developer တစ်ယောက်က server ဒါမှမဟုတ် operating system တစ်ခုမှ မစီမံဘဲ web application တစ်ခုကို deploy လုပ်ချင်ပါတယ်။ ဘယ် model က အသင့်တော်ဆုံးလဲ။


Spot the Error (အမှား ရှာခြင်း)

ကျောင်းသား တစ်ယောက်က စာမေးပွဲအတွက် ပြန်လေ့ကျင့်ရင်း cloud ဝန်ဆောင်မှု အများကြီးကို အမျိုးအစား ခွဲထားပါတယ်။ ဝန်ဆောင်မှု တစ်ခုကို မှားပြီး ခွဲထားပါတယ်။ အမှားပါတဲ့ line ကို ရွေးပါ၊ ပြီးရင် မှန်ကန်တဲ့ ပြင်နည်းကို ရွေးပါ။

1Google Docs → SaaS (complete application in a browser) 2AWS EC2 → PaaS (virtual machines in the cloud) 3GitHub Pages → PaaS (deploy code, platform builds the site) 4Canva → SaaS (design tool accessed via browser)

ကွင်းထဲက စာတွေရဲ့ အဓိပ္ပာယ်: (1) browser ထဲက ပြည့်စုံတဲ့ application၊ (2) cloud ထဲက virtual machine တွေ၊ (3) code ကို deploy လုပ်ရင် platform က site ကို တည်ဆောက်ပေး၊ (4) browser ကနေ သုံးတဲ့ ဒီဇိုင်း tool။

AWS EC2 အတွက် မှန်ကန်တဲ့ အမျိုးအစားကို ရွေးပါ:


Fill in the Blanks (ကွက်လပ် ဖြည့်ခြင်း)

ကွက်လပ် တစ်ခုစီကို ဖြည့်ပြီး cloud service model တွေနဲ့ virtualization အယူအဆတွေရဲ့ နှိုင်းယှဉ်ချက်ကို ပြည့်စုံအောင် လုပ်ပါ။

ကွက်လပ်ပါတဲ့ စာကြောင်းတွေက English နဲ့ ဖြစ်ပြီး ကွက်လပ်တွေကိုလည်း English လို ရိုက်ထည့်ရပါမယ်။ CLOUD SERVICE MODELS နဲ့ VIRTUALIZATION က ခေါင်းစဉ်တွေပါ။ စာကြောင်းတွေရဲ့ အဓိပ္ပာယ်က အောက်ပါအတိုင်းပါ:

  • …… က web browser ကနေ သုံးတဲ့ ပြည့်စုံတဲ့ application တွေကို ပေးပါတယ်။
  • …… က developer တွေ application တည်ဆောက်ပြီး deploy လုပ်ဖို့ platform ကို ပေးပါတယ်။
  • …… က virtual machine နဲ့ storage လို အခြေခံ computing resource တွေကို ပေးပါတယ်။
  • …… ဆိုတာ virtual machine တွေကို ဖန်တီးပြီး စီမံတဲ့ software ပါ။
  • …… တွေက host ရဲ့ operating system kernel ကို မျှသုံးတဲ့၊ VM အစား သုံးနိုင်တဲ့ ပေါ့ပါးတဲ့ နည်းလမ်းတွေပါ။

Cloud computing အနှစ်ချုပ်ကို ပြည့်စုံအောင် ကွက်လပ်တွေ ဖြည့်ပါ:

CLOUD SERVICE MODELS
====================
 provides complete applications accessed through a web browser.
 provides a platform for developers to build and deploy applications.
 provides raw computing resources like virtual machines and storage.

VIRTUALIZATION
==============
A  is software that creates and manages virtual machines.
 are lightweight alternatives to VMs that share the host
operating system kernel.

Predict the Output (output ကို ကြိုခန့်မှန်းခြင်း)

လုပ်ငန်း သေးသေး တစ်ခုက server တစ်ခုမှ မစီမံဘဲ၊ ကိုယ့်ကွန်ပျူတာတွေမှာ software မ install လုပ်ဘဲ spreadsheet (ဇယားကွက် စာရင်း software)၊ email နဲ့ document ပြင်ဆင်တာတွေကို သုံးချင်ပါတယ်။ ဘယ် cloud service model က အသင့်တော်ဆုံးလဲ။

Service model ရဲ့ အတိုကောက် နာမည်ကို English လို ရိုက်ထည့်ပါ:

ဆေးရုံ တစ်ခုက လူနာ မှတ်တမ်းတွေကို cloud ပေါ်မှာ ထားချင်ပေမယ့် ဒေတာ ကာကွယ်ရေး စည်းမျဉ်း အတင်းအကျပ်တွေကို လိုက်နာရပါမယ်။ Firewall စည်းမျဉ်းတွေ၊ encryption နဲ့ access policy (ဘယ်သူ ဘာကို သုံးခွင့်ရလဲ သတ်မှတ်တဲ့ စည်းမျဉ်း) တွေကို အပြည့်အဝ ထိန်းချုပ်ဖို့ လိုပါတယ်။ ဘယ် cloud service model ကို ရွေးသင့်သလဲ။

Service model ရဲ့ အတိုကောက် နာမည်ကို English လို ရိုက်ထည့်ပါ:


Practice Exercises (လေ့ကျင့်ခန်းများ)

[5 marks] လို mark allocation (မေးခွန်း တစ်ခုစီအတွက် ပေးတဲ့ အမှတ်) တွေက IB Computer Science စာမေးပွဲ ပုံစံအတိုင်း ပေးထားတာပါ၊ ဥပမာ [5 marks] ဆိုတာ 5 မှတ်ပါ။ IB သင်တန်း မတက်တဲ့သူတွေကတော့ အဖြေ ဘယ်လောက် အသေးစိတ် ရေးရမလဲ ချိန်ကြည့်ဖို့ လမ်းညွှန်အဖြစ် သုံးနိုင်ပါတယ်။

Core (အခြေခံ အဆင့်)

  1. [Core] Cloud service models [5 marks] အောက်ပါ တစ်ခုစီကို SaaS၊ PaaS ဒါမှမဟုတ် IaaS အဖြစ် Classify (အမျိုးအစား ခွဲခြားပါ): Gmail, Azure Virtual Machines, Heroku, Zoom, Google Compute Engine။ တစ်ခုစီအတွက် သင့် အကြောင်းပြချက်ကို စာကြောင်း တစ်ကြောင်းနဲ့ ရှင်းပြပါ။

  2. [Core] Cloud evaluation [6 marks] On-premise ဖြေရှင်းနည်းတွေထက် cloud computing ရဲ့ အားသာချက် သုံးခုကို List (ရှင်းပြချက် မပါဘဲ အဖြေတိုတွေကို စာရင်းလိုက် ပေးပါ)။ အားသာချက် တစ်ခုစီအတွက် ကျောင်း တစ်ကျောင်းကို ဘယ်လို အကျိုးရှိမလဲ ဆိုတဲ့ တိကျတဲ့ ဥပမာ တစ်ခု ပေးပါ။

  3. [Core] Virtualisation [6 marks] Virtual machine နဲ့ container ကြားက ကွာခြားချက်ကို Explain (ရှင်းပြပါ)။ နည်းလမ်း တစ်ခုစီရဲ့ အားသာချက် တစ်ခုနဲ့ အားနည်းချက် တစ်ခုကို State (ဖော်ပြပါ)။

Extension (တိုးချဲ့ အဆင့်)

  1. [Extension] Cloud evaluation [8 marks] ကျောင်းသား 500 ယောက်နဲ့ ဆရာ 50 ယောက် ရှိတဲ့ ကျောင်း တစ်ကျောင်းက ကိုယ့် IT infrastructure အတွက် cloud နဲ့ on-premise ထဲက ဘယ်ဟာကို ရွေးမလဲ ဆုံးဖြတ်နေပါတယ်။ နည်းလမ်း နှစ်ခုကို (a) ကုန်ကျစရိတ်၊ (b) ထိန်းသိမ်းမှု၊ (c) အိမ်ကနေ အလုပ်လုပ်တဲ့ ကျောင်းသားတွေ ဝင်သုံးနိုင်မှုနဲ့ (d) ဒေတာ လုံခြုံရေး ဆိုတဲ့ အချက်တွေအရ Compare (နှစ်ခုလုံးကို ထည့်ပြီး တူတာနဲ့ ကွာတာကို ဖော်ပြပါ)။ အကြောင်းပြချက်နဲ့ အကြံပြုချက် တစ်ခု ပေးပါ။

  2. [Extension] Virtualisation [6 marks] Virtualization က cloud computing ကို ဘယ်လို ဖြစ်နိုင်စေလဲ Explain လုပ်ပါ။ Hypervisor ရဲ့ အခန်းကဏ္ဍကို Describe (ဖော်ပြရှင်းပြပါ)၊ ပြီးရင် customer တစ်ယောက်ကို ရုပ်ပိုင်းဆိုင်ရာ server တစ်လုံးစီ သီးသန့် ပေးတာထက် server တစ်လုံးပေါ်မှာ VM အများကြီး run တာက ဘာကြောင့် ပိုထိရောက်လဲ explain လုပ်ပါ။

Challenge (စိန်ခေါ်မှု အဆင့်)

  1. [Challenge] Cloud service models [9 marks] ကြီးထွားလာနေတဲ့ startup တစ်ခုမှာ အခု ဝန်ထမ်း 10 ယောက် ရှိပြီး 2 နှစ်အတွင်း 100 ယောက်အထိ တိုးလာမယ်လို့ မျှော်လင့်ထားပါတယ်။ အောက်ပါ လိုအပ်ချက် တစ်ခုစီအတွက် သင့်တော်တဲ့ service model ကို အကြံပြုတဲ့ cloud architecture (cloud စနစ် ဖွဲ့စည်းပုံ) တစ်ခုကို Design (အစီအစဉ် ဒါမှမဟုတ် model တစ်ခု ရေးဆွဲပါ):
    • Email နဲ့ document တွေကို အတူတကွ ပြင်ဆင်ခြင်း
    • သူတို့ရဲ့ ကိုယ်ပိုင် web application
    • ဒေတာ သိမ်းဆည်းခြင်းနဲ့ database စီမံခြင်း

    အစိတ်အပိုင်း တစ်ခုစီအတွက် SaaS၊ PaaS ဒါမှမဟုတ် IaaS ထဲက ဘယ်ဟာကို အကြံပြုလဲ ဖော်ပြပါ၊ provider / service တစ်ခုကို အမည် တပ်ပြီး ကိုယ့်ရွေးချယ်မှုကို justify (ဘာကြောင့် ရွေးတာလဲ အကြောင်းပြချက်နဲ့ ပြပါ) လုပ်ပါ။ ကုမ္ပဏီ ကြီးလာတာနဲ့အမျှ ဒီ architecture က ဘယ်လို scale လုပ်မလဲ Explain လုပ်ပါ။


ဆက်စပ် ခေါင်းစဉ်များ

  • အရင် လေ့လာထားရမယ့် ခေါင်းစဉ်: Secondary Storage (ပါဝါပိတ်ပြီးလည်း ဒေတာ ကျန်နေတဲ့ ရေရှည် storage): cloud storage က local secondary storage (ကိုယ့်စက်ထဲက secondary storage) ရဲ့ အစားထိုး နည်းလမ်း တစ်ခုပါ၊ storage တွေရဲ့ trade-off (တစ်ခု ရဖို့ တစ်ခု အလျှော့ပေးရတာ) တွေကို နားလည်ထားရင် cloud နဲ့ on-premise ကို အကဲဖြတ်ရ ပိုလွယ်ပါတယ်
  • ဆက်စပ် ခေါင်းစဉ်: Primary Memory (ပင်မ မှတ်ဉာဏ်၊ CPU က တိုက်ရိုက် ယူသုံးတဲ့ memory): virtual machine တွေမှာ ရုပ်ပိုင်းဆိုင်ရာ server ရဲ့ RAM (ပါဝါပိတ်ရင် ပျောက်တဲ့ အဓိက memory) ထဲကနေ ခွဲပေးထားတဲ့ virtual RAM ရှိပါတယ်၊ memory hierarchy (မြန်နှုန်းနဲ့ အရွယ်အစား အလိုက် memory အဆင့်ဆင့်) က VM တစ်ခုစီထဲမှာလည်း သက်ဆိုင်ပါတယ်
  • ဆက်စပ် ခေါင်းစဉ်: GPU (ဂရပ်ဖစ် processor): parallel processing (အလုပ် အများကြီးကို တစ်ပြိုင်နက် လုပ်ခြင်း) လိုတဲ့ AI/ML (AI: ဉာဏ်ရည်တု၊ ML: machine learning) workload (လုပ်ရမယ့် အလုပ်) တွေအတွက် cloud provider တွေက GPU instance (ငှားသုံးလို့ရတဲ့ GPU ပါ virtual server) တွေကို ပေးပါတယ် (ဥပမာ AWS၊ Google Cloud)
  • နောက်ထပ် လေ့လာမယ့် ခေါင်းစဉ်: Operating Systems Layer (operating system အလွှာ)။ Virtualization က OS ရဲ့ အဓိက လုပ်ဆောင်ချက် တစ်ခုပါ (A1.3.2)၊ VM တွေနဲ့ container တွေကို resource ခွဲဝေပေးတာကို OS က စီမံပါတယ်
  • နောက်ထပ် လေ့လာမယ့် ခေါင်းစဉ်: Communication Layer (ဆက်သွယ်ရေး အလွှာ)။ Cloud computing က network infrastructure၊ protocol (ဒေတာ ပို့ပုံအတွက် သဘောတူ စည်းမျဉ်း) တွေနဲ့ လုံခြုံရေးကို အားကိုးပါတယ် (A2)

© EduCS.me. ကွန်ပျူတာသိပ္ပံ ပညာရေးအတွက် အရင်းအမြစ်တွေ စုထားတဲ့ နေရာပါ။ EduCS is an independent educational resource. It is not affiliated with, or endorsed by, the International Baccalaureate Organization. (EduCS ဟာ သီးခြား ပညာရေး အရင်းအမြစ်တစ်ခုပါ။ International Baccalaureate Organization နဲ့ ဆက်စပ်မှု မရှိသလို သူတို့ရဲ့ ထောက်ခံချက်လည်း မရှိပါဘူး။) ဆက်သွယ်ရန်