AWS Lambda
คืออะไร
AWS Lambda คือบริการ Serverless Computing ที่ให้คุณรันโค้ดได้โดยไม่ต้องจัดการ Server เลย คุณเพียงอัปโหลดโค้ด กำหนด Trigger และ Lambda จะรันโค้ดโดยอัตโนมัติเมื่อมีเหตุการณ์เกิดขึ้น รองรับภาษาโปรแกรมหลายตัว เช่น Python, Node.js, Java, Go และ .NET ระบบจะ Scale อัตโนมัติตามจำนวน Request
ราคา
- Request: $0.20 ต่อ 1 ล้าน Request ($0.0000002 ต่อ Request)
- Duration: $0.0000166667 ต่อ GB-second (คิดตาม RAM x เวลารัน)
- Free Tier: 1 ล้าน Request และ 400,000 GB-second ต่อเดือน ตลอดไป
- Provisioned Concurrency: $0.000004646 ต่อ GB-second (สำหรับ Cold Start ที่ต้องการความเร็ว)
- ARM/Graviton2: ประหยัดได้ 20% เมื่อเทียบกับ x86
เหมาะสำหรับ
- API Backend ที่รับ Request ไม่สม่ำเสมอ
- Event-driven Processing เช่น ประมวลผลไฟล์เมื่ออัปโหลดลง S3
- Scheduled Tasks แทนการใช้ Cron Job บน Server
- Microservices ที่ต้องการ Scale แบบ Independent
Use Case ตัวอย่าง
แอปพลิเคชันแชร์รูปภาพใช้ Lambda เพื่อ Resize และ Compress รูปภาพโดยอัตโนมัติทุกครั้งที่ผู้ใช้อัปโหลดรูปลง S3 Lambda จะถูก Trigger ทันที ทำการ Resize เป็นหลายขนาด แล้วบันทึกกลับใน S3 โดยไม่ต้องมี Server รันตลอดเวลา ประหยัดค่าใช้จ่ายได้มากเมื่อปริมาณการอัปโหลดไม่แน่นอน