Thuta Learning
Cloud Providers & Platforms
AdvancedDevOps & Toolsintermediate

AI-Generated ("Vibe Coded") App များကို Deploy လုပ်ခြင်း

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

  • AI-Generated ("Vibe Coded") App များကို Deploy လုပ်ခြင်း concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • Diagram/table ကို ဖတ်ပြီး platform/provider category တွေ ဘယ်လို ကွာခြားသလဲ ခြေရာခံနိုင်ရန်
  • ကိုယ့် project အတွက် ဘယ် platform category ကို ဘယ်လို ရွေးချယ်သင့်သလဲ ရှင်းပြနိုင်ရန်

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

AI-assisted ("vibe coded") development — AI က prompt (သို့) conversation တစ်ခုမှ code အများစုကို generate လုပ်ပေးခြင်း — သည် အလုပ်လုပ်သည့်အရာတစ်ခုကို လျင်မြန်စွာ ထုတ်လုပ်နိုင်စေသည်။ ထုတ်လုပ်မှု မြန်ဆန်ခြင်းသည် production readiness နှင့် တူညီသည်မဟုတ်ပါ၊ ၎င်းနှစ်ခုကို တူညီသည်ဟု သဘောထားခြင်းသည် ဒီ workflow ၏ အဓိက risk ဖြစ်သည်။

Responsible workflow တစ်ခုသည် ပုံမှန် engineering pipeline တစ်ခုနှင့်တူပြီး scrutiny ပိုများ ထပ်ထည့်ထားသည် — မဖယ်ရှားထားပါ: AI က code generate လုပ်သည်၊ developer တစ်ဦးက diff ကို လိုင်းချင်းစီ တကယ် review လုပ်သည်၊ test များ run သည်၊ change ကို commit လုပ်သည်၊ preview environment သို့ deploy သည်၊ တစ်စုံတစ်ဦးက preview ကို user အစစ်တစ်ဦးလို စမ်းသပ်သည်၊ code ၏ provenance ကွဲပြားသောကြောင့် security review ပြုလုပ်ပြီးမှသာ production သို့ ရောက်ရှိသည်။

Local မှာအလုပ်လုပ်ခြင်း = Production အသင့်ဖြစ်ခြင်းမဟုတ်

Local run တစ်ခုတွင် traffic အစစ်၊ adversarial input၊ cost pressure၊ production လိုအပ်မည့် credential အစစ် တစ်ခုမှမရှိတတ်ပါ။ Local မှာအလုပ်လုပ်ခြင်း (သို့) demo မြန်မြန်ထွက်ခြင်းသည် production readiness အကြောင်း နီးပါးဘာမှ မသက်သေပြနိုင်ပါ။

  • Authentication နှင့် authorization ကို သီးခြားစိတ်ကူးများအဖြစ် review လုပ်ပါ
  • Hardcoded/exposed secret များကို အထူးရှာဖွေပါ
  • Database permission နှင့် API key scoping ကို စစ်ဆေးပါ
  • CORS ကို ရည်ရွယ်ချက်ရှိစွာ configure လုပ်ထားခြင်း သေချာစေပါ
  • Error handling က internal detail များ leak မဖြစ်ကြောင်း အတည်ပြုပါ
  • Rate limit, logging hygiene, monitoring, backup, cost ကို ထည့်သွင်းစဉ်းစားပါ

AI-generated code သည် functionally မှန်ကန်နေချိန်တွင်ပင် real traffic နှင့် တွေ့ဆုံမှသာ real bill အဖြစ် ပေါ်လာမည့် နည်းလမ်းများဖြင့် အလွန်အမင်း inefficient ဖြစ်နိုင်သည်။

text
RESPONSIBLE VIBE-CODING DEPLOY WORKFLOW
---------------------------------------
AI generates code
   |
   v
Developer reviews the diff (line by line, not a skim)
   |
   v
Tests run
   |
   v
Commit
   |
   v
Preview deploy
   |
   v
Test the preview like a real user would
   |
   v
Security review (auth, secrets, CORS, permissions, cost)
   |
   v
Production deploy

"Works on my machine" only covers the first box.
Every box after it is where real problems get caught.

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

App ကို ဖော်ပြပါ

User များ file upload, storage, database query လုပ်နိုင်သော app တစ်ခု — conversational coding tool ဖြင့် နေ့လယ်ခင်းတစ်ခုအတွင်း တည်ဆောက်ထားသည်။ Local တွင် error မရှိဘဲ run သည်။

Diff ကို ဖတ်ပါ

Upload endpoint တွင် file-size/file-type limit မရှိကြောင်း၊ database query building က input ကို parameterize မလုပ်ကြောင်း၊ API key တစ်ခုသည် environment variable အစား source ထဲတွင် တိုက်ရိုက်ရှိနေကြောင်း တွေ့ရသည်။

Test များ run ပါ

Test များ pass သော်လည်း ထို case များကို လုံးဝ cover မထားခြင်းကြောင့်သာဖြစ်သည်။

Preview deploy ကို စမ်းပါ

File-size ပြဿနာက ချက်ချင်း သိသာလာသည် — upload ကြီးတစ်ခုက terminal ပိတ်လိုက်ချိန် ပျောက်သွားမည့်အစား process ကို visibly hang ဖြစ်စေသည်။

Security review ပြုလုပ်ပါ

Hardcoded key နှင့် injection-shaped query ကို ဒီအဆင့်တွင် ဖမ်းမိပြီး ပြင်ဆင်သည်၊ ဒီအဆင့်မတိုင်မီ မဟုတ်ပါ။

ဒီပြဿနာများထဲက ဘာမှ 'local မှာနှိပ်ကြည့်ရင် အလုပ်လုပ်တယ်' ဆိုတဲ့အဆင့်မှာ ပေါ်လာမည်မဟုတ်ပါ — တစ်စုံတစ်ဦးက ရည်ရွယ်ချက်ရှိစွာ ရှာဖွေမှသာ ပေါ်ပေါက်လာမည်ဖြစ်ပြီး developer တစ်ဦးရဲ့ code ကို review လုပ်သကဲ့သို့ discipline တူညီစွာ (ဒါပိုမက) အသုံးပြုရမည်ဖြစ်သည်၊ ဘာကြောင့်ဆိုတော့ ဒီ code ကို system တစ်ခုလုံးရဲ့ mental model မှ ရေးသားခဲ့သူ human author တစ်ဦးလို ဘယ်သူမှ ရေးသားထားခြင်းမဟုတ်သောကြောင့်ဖြစ်သည်။

Local မှာအလုပ်လုပ်ခြင်း = Production အသင့်ဖြစ်ခြင်းမဟုတ်

App တစ်ခုသည် laptop ပေါ်တွင် အပြီးသတ် အလုပ်လုပ်နေသော်လည်း production traffic, security threat, real cost ကို ရင်ဆိုင်ဖူးခြင်း လုံးဝမရှိသေးပါ။ Deploy မလုပ်ခင် checklist ကို အမြဲ လိုက်နာပါ။

AI-Generated Code ကို Production သို့ Deploy မလုပ်မီ

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

javascript
function isReadyForProduction(reviewStatus) {
  const required = [
    "authenticationReviewed",
    "authorizationReviewed",
    "noHardcodedSecrets",
    "databasePermissionsReviewed",
    "apiKeysScoped",
    "corsConfigured",
    "errorHandlingSafe",
    "rateLimitsConsidered",
    "logsClean",
    "monitoringInPlace",
    "backupsConfigured",
    "costSanityChecked",
  ];

  const missing = required.filter((key) => !reviewStatus[key]);

  return {
    readyForProduction: missing.length === 0,
    missing,
  };
}

const notReady = {
  authenticationReviewed: true,
  authorizationReviewed: false,
  noHardcodedSecrets: false,
  databasePermissionsReviewed: true,
  apiKeysScoped: false,
  corsConfigured: true,
  errorHandlingSafe: true,
  rateLimitsConsidered: false,
  logsClean: true,
  monitoringInPlace: false,
  backupsConfigured: false,
  costSanityChecked: false,
};

const ready = {
  authenticationReviewed: true,
  authorizationReviewed: true,
  noHardcodedSecrets: true,
  databasePermissionsReviewed: true,
  apiKeysScoped: true,
  corsConfigured: true,
  errorHandlingSafe: true,
  rateLimitsConsidered: true,
  logsClean: true,
  monitoringInPlace: true,
  backupsConfigured: true,
  costSanityChecked: true,
};

console.log("Not ready:", isReadyForProduction(notReady));
console.log("Ready:", isReadyForProduction(ready));
You should see
Not ready: readyForProduction false, missing ['authorizationReviewed','noHardcodedSecrets','apiKeysScoped','rateLimitsConsidered','monitoringInPlace','backupsConfigured','costSanityChecked']
Ready: readyForProduction true, missing []

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

notReady object ကနေ item တစ်ခုချင်းစီကို true ပြောင်းကြည့်ပြီး missing array ဘယ်လိုတိုးလျော့သွားသလဲ ကြည့်ပါ

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

'App က local မှာ smooth run တယ်' ဆိုတာကို production readiness proof အဖြစ် သဘောထားခြင်း

Authorization ကို authentication နှင့် တူတူတစ်ခုတည်းဟု ထင်ပြီး 'ဘယ်သူလဲ' ကိုသာ စစ်ပြီး 'ဘာလုပ်ခွင့်ရှိလဲ' ကို မစစ်ခြင်း

OWASP Top TenCloud Providers & Platforms

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

  • 'App က local မှာ smooth run တယ်' ဆိုတာကို production readiness proof အဖြစ် သဘောထားခြင်း
  • Authorization ကို authentication နှင့် တူတူတစ်ခုတည်းဟု ထင်ပြီး 'ဘယ်သူလဲ' ကိုသာ စစ်ပြီး 'ဘာလုပ်ခွင့်ရှိလဲ' ကို မစစ်ခြင်း
  • ဒီ course က provider/platform landscape ကို comparison-level မှာသာ သင်ပေးပါတယ် — AWS, Docker, CI/CD, Firebase, deployment fundamentals ကို နက်နက်ရှိုင်းရှိုင်း လေ့လာချင်ရင် AWS Fundamentals, Docker, CI/CD, Firebase, Cloud & Deployment tutorial တွေဆီ ဆက်သွားပါ။

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

notReady object ကနေ item တစ်ခုချင်းစီကို true ပြောင်းကြည့်ပြီး missing array ဘယ်လိုတိုးလျော့သွားသလဲ ကြည့်ပါ

You'll know it worked when: Not ready: readyForProduction false, missing ['authorizationReviewed','noHardcodedSecrets','apiKeysScoped','rateLimitsConsidered','monitoringInPlace','backupsConfigured','costSanityChecked'] Ready: readyForProduction true, missing []

AI-Generated ("Vibe Coded") App များကို Deploy လုပ်ခြင်း | Thuta Learning