Cloud Run และ Cloud Functions คืออะไร?
เป็นบริการ Serverless Computing ของ Google Cloud ที่ช่วยให้คุณสามารถรันโค้ดได้โดยไม่ต้องจัดการโครงสร้างพื้นฐานเอง แต่มีวัตถุประสงค์และการใช้งานที่แตกต่างกัน
8 ต.ค. 2568, 03:12 คลิก ติดต่อรับคำปรึกษา (ฟรี)Cloud Run และ Cloud Functions เป็นบริการ Serverless Computing ของ Google Cloud
สไลด์ประกอบการบรรยาย แนะนำผลิตภัณฑ์ที่ผู้นำเท่านั้นจะเข้าใจ เทคโนโลยีที่ช่วยให้คุณสามารถรันโค้ดได้โดยไม่ต้องจัดการโครงสร้างพื้นฐานเอง แต่มีวัตถุประสงค์และการใช้งานที่แตกต่างกัน
Cloud Run
-
ความหมาย: เป็นแพลตฟอร์มประมวลผลแบบจัดการเต็มรูปแบบที่ใช้รันคอนเทนเนอร์แบบ Stateless คุณสามารถนำแอปพลิเคชันใดก็ได้ที่บรรจุในคอนเทนเนอร์ (เช่น Node.js, Go, Python) มารันได้ เหมาะสำหรับ Microservices, API และ Backend Services
- ข้อดี:
- ยืดหยุ่นสูง: รองรับภาษาและ Framework ใดก็ได้ที่สามารถบรรจุเป็นคอนเทนเนอร์ได้
- ปรับขนาดอัตโนมัติ: สามารถปรับขนาดขึ้นและลงได้อัตโนมัติตามปริมาณคำขอ รวมถึงการปรับขนาดเป็นศูนย์เมื่อไม่มีการใช้งาน
- ควบคุม Runtime ได้ดี: ให้การควบคุมสภาพแวดล้อม Runtime ได้มากกว่า เช่น สามารถกำหนดค่า Direct VPC, GPU หรือ Volume Mounts ได้
- รองรับกระบวนการที่ใช้เวลานาน: สามารถรันกระบวนการที่ใช้เวลานานได้ถึง 60 นาทีต่อคำขอ
- คิดค่าใช้จ่ายตามการใช้งานจริง: จ่ายเฉพาะทรัพยากรที่ใช้งานจริงเท่านั้น
- ข้อเสีย:
- ไม่เหมาะสำหรับ Background Tasks บางประเภท: อาจไม่เหมาะกับแอปพลิเคชันที่มี Background Tasks บางอย่าง
- อาจทำให้สถาปัตยกรรมซับซ้อนขึ้น: บางครั้งอาจทำให้สถาปัตยกรรมของแอปพลิเคชันเข้าใจยากขึ้น
- ต้องจัดการคอนเทนเนอร์ด้วยตัวเอง: ต้องสร้างและจัดการคอนเทนเนอร์ของคุณเอง
- ประโยชน์/กรณีการใช้งาน:
- การรัน REST API หรือ GraphQL Service
- การโฮสต์เว็บแอปพลิเคชันที่บรรจุในคอนเทนเนอร์
- การประมวลผลเบื้องหลังสำหรับงานที่ต้องใช้ข้อมูลมาก
- การรัน AI/ML Inference Models แบบ On-demand
Cloud Functions
-
ความหมาย: เป็นบริการ Serverless Computing ที่ขับเคลื่อนด้วยเหตุการณ์ (Event-driven) ซึ่งจะรันโค้ดขนาดเล็กเพื่อตอบสนองต่อ Trigger ต่างๆ เหมาะสำหรับ Workload ที่มีน้ำหนักเบาและขับเคลื่อนด้วยเหตุการณ์
- ข้อดี:
- ขับเคลื่อนด้วยเหตุการณ์: รองรับ Trigger ได้หลายประเภท เช่น คำขอ HTTP, ข้อความ Pub/Sub, การเปลี่ยนแปลงใน Cloud Storage
- ปรับขนาดและรันได้ทันที: ปรับขนาดได้ทันทีและทำงานเฉพาะเมื่อถูก Trigger
- ประสบการณ์ Serverless อย่างแท้จริง: ไม่ต้องจัดการโครงสร้างพื้นฐานใดๆ
- เหมาะสำหรับฟังก์ชันที่น้ำหนักเบา: เหมาะสำหรับฟังก์ชันที่ทำงานไม่นานและไม่ต้องการคอนเทนเนอร์ทั้งชุด
- การพัฒนาที่ง่ายขึ้น: นักพัฒนาสามารถมุ่งเน้นไปที่การเขียนโค้ดฟังก์ชันได้โดยไม่ต้องจัดการคอนเทนเนอร์
- ข้อเสีย:
- รองรับภาษาที่จำกัด: รองรับเฉพาะภาษาโปรแกรมบางภาษา (Node.js, Python, Go, Java เป็นต้น)
- ระยะเวลาการรันจำกัด: รองรับการทำงานที่ใช้เวลาสั้นๆ (สูงสุด 9 นาทีต่อการเรียกใช้)
- การควบคุม Runtime น้อยกว่า: มีระดับการจัดการที่สูงกว่า ทำให้ควบคุมสภาพแวดล้อม Runtime ได้น้อยกว่า
- ประโยชน์/กรณีการใช้งาน:
- การประมวลผลไฟล์ที่อัปโหลดไปยัง Cloud Storage
- การทำงานอัตโนมัติที่ตอบสนองต่อเหตุการณ์ (เช่น การส่งอีเมลเมื่อผู้ใช้สมัครสมาชิก)
- การ Trigger Workflows จากข้อความ Pub/Sub
- API Endpoint ที่มีน้ำหนักเบาและไม่ต้องการ Backend เต็มรูปแบบ

Cloud Run Functions (Cloud Functions รุ่นที่ 2)
ปัจจุบัน Google ได้รวมโครงสร้างพื้นฐานของ Cloud Functions เข้ากับ Cloud Run โดยเรียกว่า Cloud Run Functions ซึ่งเป็น Cloud Functions รุ่นที่ 2 ทำให้ฟังก์ชันที่ถูก Deploy เป็นบริการบน Cloud Run โดยอัตโนมัติ และได้รับประโยชน์จากความสามารถหลายอย่างของ Cloud Run เช่น การเข้าถึง GPU (ในสถานะพรีวิว)
สรุป
- Cloud Run เหมาะสำหรับแอปพลิเคชันที่บรรจุในคอนเทนเนอร์ที่ต้องการความยืดหยุ่นและการควบคุมสภาพแวดล้อม Runtime มากขึ้น รวมถึงกระบวนการที่ใช้เวลานาน
- Cloud Functions (ปัจจุบันคือ Cloud Run Functions) เหมาะสำหรับ Workload ที่ขับเคลื่อนด้วยเหตุการณ์ ฟังก์ชันที่ทำงานสั้นๆ และต้องการประสบการณ์ Serverless ที่เรียบง่ายโดยไม่ต้องจัดการคอนเทนเนอร์