Cloud Run และ Cloud Functions คืออะไร?

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 ที่เรียบง่ายโดยไม่ต้องจัดการคอนเทนเนอร์

 

 

    คลิก ติดต่อรับคำปรึกษา (ฟรี)  

#เพิ่มประสิทธิภาพด้วย Serverless Computing ที่ขับเคลื่อนด้วยเหตุการณ์  


เนื้อหาที่เกี่ยวข้อง