နားလည်ထားရမယ့် အချက်
ဤ project သည် Advanced chapter တစ်ခုလုံးက တည်ဆောက်ခဲ့သော platform decision guide, major-cloud comparison, modern-platform comparison, နှင့် BaaS comparison အားလုံးအတွက် ပထမဆုံး checkpoint ဖြစ်သည်။ provider တစ်ခုတည်းအကြောင်း အချက်အလက်အသစ် ထပ်ထည့်မည့်အစား၊ သင်နှိုင်းယှဉ်ပြီးသား အချက်များကို လက်တွေ့ကျသော ကန့်သတ်ချက်များအောက်တွင် ပေါင်းစပ်အသုံးချရန် တောင်းဆိုထားသည်။
- Platform decision guide - category ရွေးချယ်ရေးအတွက် need-flag framework
- Major-cloud comparison - AWS vs Google Cloud vs Azure ၏ tradeoff
- Modern-platform comparison - Vercel/Netlify/Railway/Render/Cloudflare tier
- BaaS comparison - Supabase vs Firebase ပုံစံ tradeoff
- Multi-cloud and vendor lock-in - vendor တစ်ခုတည်းပေါ် မှီခိုမှု၏ ရလဒ်
| Workload | သက်ဆိုင်ရာ Framework |
|---|---|
| Marketing site | modern-platform comparison ၏ static-hosting/CDN tier |
| SaaS product | BaaS comparison + major-cloud comparison |
| Background-worker backend | platform decision guide ၏ long-running-process filter |
| AI app (spiky usage) | decision guide ၏ cost-shape ဆင်ခြင်မှု + vendor lock-in lesson |
ပန်းတိုင်မှာ workload တစ်ခုစီအတွက် platform CATEGORY တစ်ခုသာ ဖြစ်ပြီး၊ specific vendor mandate မဟုတ်ပါ။ product name တစ်ခုကို အလွတ်ကျက်နေခြင်းမဟုတ်ဘဲ decision guide က သင်ကြားပေးသော ဆင်ခြင်တုံတရားကို လေ့ကျင့်နေခြင်းသာ ဖြစ်သည်။ မှန်ကန်သော အဖြေတစ်ခုသည် category ကို အမည်တပ်ပြီး၊ မည်သည့် need-flag များက ထိုရွေးချယ်မှုကို ဖြစ်ပေါ်စေသည်ကို ဖော်ပြရမည်။
အမည်တင်ရုံမက ဆင်ခြင်တုံတရားပါ ဖော်ပြပါ
မှန်ကန်သော category ကို အမည်တပ်ရုံနှင့် မည်သည့် need-flag က ဖြစ်ပေါ်စေသည်ကို မဖော်ပြပါက skill ကို မပြသနိုင်ပါ — တစ်ကြောင်းတည်းသော justification ကသာ တကယ့် deliverable ဖြစ်သည်။
WORKLOAD TO PLATFORM CATEGORY MAP
---------------------------------
1. Marketing / portfolio site
-> Static hosting / CDN platform (Jamstack)
2. Full-stack SaaS (accounts + database)
-> BaaS-backed or full-stack PaaS platform
3. Long-running Node.js backend + background workers
-> Container/VM-based PaaS (persistent compute)
4. AI app calling external API (spiky, unpredictable usage)
-> Serverless functions / scale-to-zero platformလက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်
Marketing site
server-side logic နှင့် user data လုံးဝမရှိကြောင်း အတည်ပြုပါ — ဒါက static hosting နှင့် CDN ကို တိုက်ရိုက်ညွှန်ပြသည်။
SaaS product
account နှင့် database ပေါင်းစပ်ပါဝင်ကြောင်း သတိပြုပါ — ဒါက BaaS comparison lesson ထဲက BaaS-or-full-stack-PaaS ပုံစံပင်။
Background-worker backend
long-running-process အဖြေက 'ဟုတ်သည်' ဖြစ်ပြီး ကျန်အားလုံးကို override လုပ်ကာ static hosting နှင့် serverless function ကို ချက်ချင်း ပယ်ချသည်။
AI app
traffic သည် external API ခေါ်ဆိုမှုပတ်ဝန်းကျင်တွင် ခန့်မှန်းမရဘဲ ဖြစ်နေပြီး serverless သို့မဟုတ် scale-to-zero compute ကို ညွှန်ပြသည်။
Run လုပ်ပြီး နှိုင်းယှဉ်ပါ
selectPlatformCategory ကို workload လေးခုလုံးအပေါ် run လုပ်ပြီး ရလဒ်ကို သင့်ဆင်ခြင်တုံတရားနှင့် နှိုင်းယှဉ်ကာ AI app ၏ ရွေးချယ်မှုကို vendor-lock-in lesson နှင့် စစ်ဆေးပါ။
အတူတူ စမ်းရေးကြည့်မယ်
function selectPlatformCategory(workload) {
if (workload.needsLongRunningProcess) {
return {
workload: workload.name,
category: "Container/VM-based PaaS (persistent compute)",
justification:
"Background workers and long-lived connections need a process that keeps running, which rules out request/response serverless functions and static hosting alike."
};
}
if (workload.isStatic && !workload.needsDatabase && !workload.needsAuth) {
return {
workload: workload.name,
category: "Static hosting / CDN platform (Jamstack)",
justification:
"No server-side logic or user data to store, so pre-built assets served from the edge are the cheapest and fastest fit."
};
}
if (workload.trafficPattern === "unpredictable") {
return {
workload: workload.name,
category: "Serverless functions / scale-to-zero platform",
justification:
"Usage spikes unpredictably around calls to an external API, so paying only for active invocations beats reserving capacity for a steady load that never arrives."
};
}
return {
workload: workload.name,
category: "BaaS-backed or full-stack PaaS platform",
justification:
"Steady traffic plus accounts and a database is the core full-stack shape a BaaS or a managed PaaS handles well without hand-rolled infrastructure."
};
}
const workloads = [
{
name: "Marketing / portfolio site",
isStatic: true,
needsDatabase: false,
needsAuth: false,
needsLongRunningProcess: false,
trafficPattern: "steady"
},
{
name: "Full-stack SaaS product (accounts + database)",
isStatic: false,
needsDatabase: true,
needsAuth: true,
needsLongRunningProcess: false,
trafficPattern: "steady"
},
{
name: "Long-running Node.js backend with background workers",
isStatic: false,
needsDatabase: true,
needsAuth: false,
needsLongRunningProcess: true,
trafficPattern: "steady"
},
{
name: "AI-powered app calling an external AI API (spiky usage)",
isStatic: false,
needsDatabase: false,
needsAuth: true,
needsLongRunningProcess: false,
trafficPattern: "unpredictable"
}
];
workloads.map(selectPlatformCategory).forEach((result) => {
console.log(`${result.workload}\n -> ${result.category}\n (${result.justification})\n`);
});selectPlatformCategory ကို workload လေးခုအပေါ် run လုပ်လျှင်- marketing site သည် 'Static hosting / CDN platform (Jamstack)' သို့၊ SaaS product သည် 'BaaS-backed or full-stack PaaS platform' သို့၊ background-worker backend သည် 'Container/VM-based PaaS (persistent compute)' သို့၊ AI app သည် 'Serverless functions / scale-to-zero platform' သို့ သက်ဆိုင်ကြောင်း justification တစ်ကြောင်းစီနှင့်အတူ print ထုတ်ပါလိမ့်မည်။၅ မိနစ် စမ်းကြည့်
workload ပဉ္စမတစ်ခုကို ကိုယ်တိုင်ထပ်ထည့်ပါ — ဥပမာ ညတိုင်း schedule အတိုင်း run လုပ်သော data-pipeline job တစ်ခု — ရှိပြီးသား လေးခုက မလုံလောက်ပါက selectPlatformCategory ၏ need-flag များကို တိုးချဲ့ပါ။ function ကလုပ်သကဲ့သို့ပင် သင့်ရဲ့ category ရွေးချယ်မှုကို တစ်ကြောင်းတည်းဖြင့် justify ပါ။
သတိလေးတစ်ချက်
workload ၏ need-flag များကို အမှန်တကယ် စာရင်းမပြုစုမီ vendor အတိအကျကို ရွေးချယ်ခြင်း — ဒါက ဤ project က လေ့ကျင့်ပေးလိုသော ဆင်ခြင်တုံတရားအဆင့်ကို ကျော်သွားစေသည်။
traffic pattern ကိုသာ တစ်ခုတည်းသော အချက်အဖြစ် သဘောထားပြီး long-running process လိုအပ်ခြင်းလို hard filter ကို လျစ်လျူရှုခြင်း — ဒါက ကျန်အားလုံးထက် ပိုအရေးကြီးနိုင်သည်။
Google Cloud - IaaS vs PaaS vs SaaS — Cloud Providers & Platforms