Thuta Learning
ရှာဖွေရန်
AdvancedDevOpsbeginner

Lambda & Serverless

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

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

  • Lambda & Serverless ကို ကြောက်စရာမလိုအောင် နားလည်မယ်
  • ကိုယ်တိုင် AWS CLI/Console ကို run ကြည့်တတ်မယ်
  • Real project ထဲမှာ ဒီ concept ကို ချက်ချင်း အသုံးချတတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

EC2 instance က 24/7 run နေရင် (traffic ရှိသည်ဖြစ်စေ မရှိသည်ဖြစ်စေ) hourly cost ပေးရပါတယ်။ Lambda function ကတော့ event (HTTP request, file upload, schedule) trigger ဖြစ်မှသာ run ပါတယ် — run ချိန် (millisecond အလိုက်) ငွေပေးရပြီး, idle ချိန် cost လုံးဝ မရှိပါ (server management ကိုယ်တိုင် လုံးဝ မလိုတော့ပါ, ဒါကြောင့် 'serverless' လို့ ခေါ်ပါတယ်)။ Lambda function တစ်ခုစီက timeout limit (max 15 min), memory limit (128MB-10GB) ရှိပြီး, long-running task (batch processing ကြီးကြီးမားမား) အတွက် သင့်တော်ချေ နည်းပါတယ် — short, event-driven task (image resize, API endpoint, notification) အတွက် အသင့်တော်ဆုံးပါ.

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

S3 bucket ထဲ image upload ဖြစ်တိုင်း Lambda function ကို auto-trigger ဖြစ်အောင် setup လုပ်ထားရင် — image resize/thumbnail-create script ကို Lambda ထဲ ရေးထားရင်, upload ဖြစ်တာနဲ့ automatic run ပြီး thumbnail ကို ချက်ချင်း ဖန်တီးပေးပါလိမ့်မယ် — server run ထားစရာ လုံးဝ မလိုပါဘူး, image upload မဖြစ်တဲ့ ရက်တွေမှာ cost လုံးဝ မကုန်ပါဘူး.

အတူတူ ကြည့်မယ်

python
# lambda_function.py — triggered by an S3 upload event
import json

def lambda_handler(event, context):
    bucket = event['Records'][0]['s3']['bucket']['name']
    key = event['Records'][0]['s3']['object']['key']
    print(f"New file uploaded: {key} in {bucket}")
    # ... resize image, create thumbnail, etc.
    return {
        'statusCode': 200,
        'body': json.dumps(f'Processed {key}')
    }
You should see
$ aws logs tail /aws/lambda/resize-image-function
New file uploaded: photo.jpg in my-tutorial-bucket-2026
Processed photo.jpg

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

'Hello World' Lambda function တစ်ခု (Python ဒါမှမဟုတ် Node.js) create လုပ်ကြည့်ပြီး, AWS Console ရဲ့ Test button ကနေ manual invoke လုပ်ကြည့်ပါ — CloudWatch Logs ထဲမှာ output ကို ကြည့်ကြည့်ပါ။

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

Lambda function ကို trigger source (S3, API Gateway, EventBridge) နဲ့ ချိတ်ဆက်ထားရင် unexpected trigger frequency ကြောင့် cost ရုတ်တရက် တက်နိုင်ပါတယ် — trigger volume ကို monitor လုပ်ထားပါ။

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

  • Long-running batch job (analytics processing 30+ minute) ကို Lambda ထဲ ရေးထားခြင်း — 15 minute timeout limit ကျော်သွားနိုင်ပါတယ် (EC2/Batch service ကို သုံးသင့်ပါတယ်)
  • Lambda function ရဲ့ memory allocation ကို minimum ချထားပြီး, actual workload နဲ့ မကိုက်ညီအောင် ချထားခြင်း — timeout/slow execution ဖြစ်နိုင်ပါတယ်

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

'Hello World' Lambda function တစ်ခု (Python ဒါမှမဟုတ် Node.js) create လုပ်ကြည့်ပြီး, AWS Console ရဲ့ Test button ကနေ manual invoke လုပ်ကြည့်ပါ — CloudWatch Logs ထဲမှာ output ကို ကြည့်ကြည့်ပါ။

You'll know it worked when: $ aws logs tail /aws/lambda/resize-image-function New file uploaded: photo.jpg in my-tutorial-bucket-2026 Processed photo.jpg