การเปรียบเทียบเวอร์ชัน Cloud Functions

Cloud Functions for Firebase มี 2 เวอร์ชัน ได้แก่

  • Cloud Functions (รุ่นที่ 2) ซึ่ง จะใช้ฟังก์ชันของคุณเป็นบริการใน Cloud Run เพื่อให้คุณดำเนินการต่อไปนี้ได้ ทริกเกอร์โดยใช้ Eventarc และ Pub/Sub
  • Cloud Functions (รุ่นที่ 1) ซึ่งเป็นฟังก์ชันเวอร์ชันต้นฉบับ โดยมีทริกเกอร์และการกำหนดค่าเหตุการณ์ที่จำกัด

เราขอแนะนำให้เลือก Cloud Functions (รุ่นที่ 2) สำหรับฟังก์ชันใหม่ หากเป็นไปได้ อย่างไรก็ตาม เราวางแผนที่จะรองรับ Cloud Functions (รุ่นที่ 1) ต่อไป

หน้านี้จะอธิบายถึงฟีเจอร์ที่แนะนำใน Cloud Functions และ จะให้การเปรียบเทียบผลิตภัณฑ์ทั้งสองเวอร์ชัน

Cloud Functions (รุ่นที่ 2)

Cloud Functions คือรุ่นถัดไปของ Firebase ข้อเสนอ Functions-as-a-Service สร้างเมื่อ Cloud Run และ Eventarc, Cloud Functions (รุ่นที่ 2) ช่วยเพิ่มประสิทธิภาพ โครงสร้างพื้นฐานและการครอบคลุมเหตุการณ์ที่กว้างขึ้นไปยัง Cloud Functions ซึ่งรวมถึง

  • สร้างเมื่อ Cloud Run: ฟังก์ชันสร้างขึ้นด้วย Cloud Build และทำให้ใช้งานได้เป็นบริการ Cloud Run ซึ่งจะช่วยให้คุณปรับแต่งฟังก์ชันการทำงานได้เช่นเดียวกับบริการ Cloud Run โปรดอ่านเอกสารประกอบเกี่ยวกับ Cloud Run เพื่อ สำรวจตัวเลือกในการกำหนดค่าบริการ เช่น หน่วยความจำ ขีดจำกัด, สภาพแวดล้อม ตัวแปร และอื่นๆ นี้
  • เวลาประมวลผลคำขอนานขึ้น: เรียกใช้ภาระงานที่ขอนานขึ้น เช่น การประมวลผลสตรีมข้อมูลขนาดใหญ่จาก Cloud Storage หรือ BigQuery
  • อินสแตนซ์ขนาดใหญ่ขึ้น: เรียกใช้ในหน่วยความจำที่ใหญ่ขึ้น การประมวลผลแบบหนัก และ ภาระงานพร้อมกัน
  • การเกิดขึ้นพร้อมกันที่ดีขึ้น: จัดการคำขอหลายรายการพร้อมกันด้วยอินสแตนซ์ฟังก์ชันเดียวเพื่อลดจำนวนครั้งที่ต้องเริ่มต้นระบบใหม่และปรับปรุงเวลาในการตอบสนอง
  • การจัดการการรับส่งข้อมูล: แยกการรับส่งข้อมูลออกเป็นการแก้ไขฟังก์ชันต่างๆ หรือย้อนกลับฟังก์ชันเป็นเวอร์ชันก่อนหน้า
  • การผสานรวม Eventarc: การสนับสนุนในตัวสำหรับ Eventarc ซึ่งทำให้แหล่งที่มาของเหตุการณ์ทั้งหมดกว่า 90 รายการที่ Eventarc รองรับ Cloud Functions
  • การรองรับ CloudEvents ที่ครอบคลุมมากขึ้น: การรองรับ CloudEvents มาตรฐานอุตสาหกรรมในรันไทม์ทุกภาษา ซึ่งมอบประสบการณ์การใช้งานที่สอดคล้องกันสำหรับนักพัฒนาซอฟต์แวร์

ดูรายละเอียดได้ในตารางเปรียบเทียบ

เนื่องจาก Cloud Functions จะใช้ฟังก์ชันเป็นบริการใน Cloud Run Cloud Functions แชร์โควต้าและขีดจำกัดของทรัพยากรกับ Cloud Run ดูโควต้า

ตารางเปรียบเทียบ

ฟีเจอร์ Cloud Functions (รุ่นที่ 1) Cloud Functions
รีจิสทรีอิมเมจ Container Registry หรือ Artifact Registry Artifact Registry เท่านั้น
ระยะหมดเวลาของคำขอ ไม่เกิน 9 นาที
  • สูงสุด 60 นาทีสำหรับฟังก์ชันที่ทริกเกอร์ด้วย HTTP
  • สูงสุด 9 นาทีสำหรับฟังก์ชันที่ทริกเกอร์เหตุการณ์
ขนาดอินสแตนซ์ RAM สูงสุด 8 GB พร้อม vCPU 2 รายการ RAM สูงสุด 16 GB พร้อม vCPU สูงสุด 4 ตัว
การเกิดขึ้นพร้อมกัน คำขอหลายรายการพร้อมกันต่ออินสแตนซ์ของฟังก์ชัน คำขอพร้อมกันสูงสุด 1,000 คำขอต่ออินสแตนซ์ของฟังก์ชัน

ราคา

หากต้องการทราบข้อมูลเกี่ยวกับราคา โปรดดู แพ็กเกจราคา Firebase

หากใช้ Cloud Functions คุณจะสามารถดูค่าใช้จ่ายที่เชื่อมโยงกับ Cloud Functions เท่านั้น ดังนี้

  1. ไปที่หน้ารายงาน Cloud Billing ในคอนโซล Google Cloud
  2. หากได้รับข้อความแจ้ง ให้เลือกบัญชีสำหรับการเรียกเก็บเงินที่เชื่อมโยงกับ โปรเจ็กต์ Google Cloud
  3. ในแผงตัวกรองในส่วนป้ายกำกับ เพิ่มตัวกรองป้ายกำกับด้วยคีย์ goog-managed-by และค่า cloudfunctions

ข้อจำกัด

Cloud Functions for Firebase (รุ่นที่ 2) ไม่รองรับ Analytics กิจกรรม

แม้ว่า Cloud Functions for Firebase (รุ่นที่ 2) จะรองรับการบล็อกการตรวจสอบสิทธิ์ กิจกรรม ก็ไม่รองรับชุดเหตุการณ์ Authentication พื้นฐานแบบเดียวกับ รุ่นที่ 1

แต่เนื่องจากรุ่นที่ 1 และรุ่นที่ 2 สามารถอยู่ควบคู่กัน ในไฟล์ต้นฉบับเดียวกันได้ พัฒนาและปรับใช้ Analytics และทริกเกอร์ Authentication พื้นฐานในรุ่นที่ 1 พร้อมกับฟังก์ชันรุ่นที่ 2