ประมวลผล· ~12 นาที· อัปเดตล่าสุด
เมื่อไหร่ควรเลือกอะไร?
สรุปการตัดสินใจ EC2 vs Lambda vs Container
ในโลกคลาวด์มีบริการรันโค้ด (Compute) หลากหลายแบบมากๆ เพื่อให้สอบผ่านและนำไปใช้จริงได้ คุณต้องมีกรอบความคิด (Mental Framework) ในการตัดสินใจเลือกเครื่องมือที่ใช่ที่สุด
แนวทางเลือกแบบเร็ว (Cheat Sheet)
- ต้องการคุม OS และซอฟต์แวร์แบบเบ็ดเสร็จ (Full Control) หรือโหลดคงที่มาก → ใช้ EC2
- เป็นงานขนาดสั้น, พฤติกรรม Event-driven, และปริมาณคนใช้ผันผวนเดาไม่ได้ → ใช้ AWS Lambda
- แอปถูกแพ็กเป็น Container อยู่แล้ว แต่อยากตัดความน่าเบื่อไม่อยากดูแลเซิร์ฟเวอร์ → ใช้ AWS Fargate
- เป็นนักพัฒนา เขียนโค้ดเสร็จอยาก Deploy ขึ้นเว็บรันเลยเร็วๆ ไม่อยากตั้ง Infra เอง → ใช้ Elastic Beanstalk
สรุป Key Takeaways
- EC2 = คุมเต็มที่/โหลดคงที่ · Lambda = event-driven/โหลดผันผวน
- Fargate = container แบบไม่ดูแลเซิร์ฟเวอร์ · Beanstalk = deploy เว็บเร็ว
คำถามที่พบบ่อย
มีตัวเลือก compute เยอะมาก มีสูตรเลือกไหม
ไล่จากคำถามในโจทย์: งานสั้น event-driven <15 นาที = Lambda · container + ไม่อยากดูแลเครื่อง = Fargate · container + ทีมใช้ K8s = EKS · เว็บทั่วไปอยาก deploy ง่าย = Beanstalk · ต้องคุม OS/สเปกเต็มที่ = EC2 · งาน batch ใหญ่ๆ = AWS Batch + Spot — ข้อสอบวัดการจับคู่นี้ตรงๆ
โจทย์บอก "ลด operational overhead" ควรเอียงไปทางไหน
เลือกตัวที่ managed มากที่สุดที่ยังตอบโจทย์ได้ — serverless (Lambda, Fargate, DynamoDB, Aurora Serverless) มาก่อน EC2 เสมอเมื่อโจทย์เน้นคำนี้ เพราะตัดงานดูแลเครื่อง/แพตช์/scale ออกหมด
ลองทำ Quiz ท้ายบท
คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที
อ่านจบแล้วอย่าลืมทำเครื่องหมาย

