การเปรียบเทียบเวอร์ชัน 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 และ เปรียบเทียบผลิตภัณฑ์ทั้ง 2 เวอร์ชัน

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

Cloud Functions คือข้อเสนอ Functions-as-a-Service รุ่นถัดไปของ Firebase Cloud Functions (รุ่นที่ 2) สร้างขึ้นบน Cloud Run และ Eventarc จึงมีโครงสร้างพื้นฐานที่ได้รับการปรับปรุงและครอบคลุมการแข่งขันที่กว้างขึ้นใน Cloud Functions ซึ่งรวมถึง

  • สร้างขึ้นบน Cloud Run: ฟังก์ชันสร้างขึ้นด้วย Cloud Build และทำให้ใช้งานได้เป็นบริการ Cloud Run โดยใช้Cloud Run สภาพแวดล้อมการดำเนินการเริ่มต้น ซึ่งช่วยให้คุณปรับแต่งฟังก์ชันได้เหมือนกับCloud Runบริการ โปรดดูCloud Runเอกสารประกอบเพื่อ สำรวจตัวเลือกในการกำหนดค่าบริการ เช่น ขีดจำกัด หน่วยความจำ ตัวแปรสภาพแวดล้อม และอื่นๆ
  • เวลาในการประมวลผลคำขอที่นานขึ้น: เรียกใช้เวิร์กโหลดคำขอที่นานขึ้น เช่น การประมวลผลสตรีมข้อมูลขนาดใหญ่จาก Cloud Storage หรือ BigQuery
  • ขนาดอินสแตนซ์ที่ใหญ่ขึ้น: เรียกใช้ภาระงานในหน่วยความจำ ภาระงานที่ประมวลผลอย่างหนัก และภาระงานแบบ ขนานที่ใหญ่ขึ้น
  • การทำงานพร้อมกันที่ดีขึ้น: จัดการคำขอหลายรายการพร้อมกันด้วยอินสแตนซ์ฟังก์ชันเดียวเพื่อลด Cold Start และปรับปรุงเวลาในการตอบสนอง
  • การจัดการการรับส่งข้อมูล: แยกการรับส่งข้อมูลระหว่างฟังก์ชันเวอร์ชันต่างๆ หรือย้อนฟังก์ชันกลับไปเป็นเวอร์ชันก่อนหน้า
  • การผสานรวม 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 GiB พร้อม vCPU 4 ตัว
การเกิดขึ้นพร้อมกัน คำขอพร้อมกัน 1 รายการต่ออินสแตนซ์ฟังก์ชัน คำขอพร้อมกันสูงสุด 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 ได้