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

Cloud Functions มีผลิตภัณฑ์ 2 เวอร์ชัน ได้แก่ Cloud Functions (รุ่นที่ 1), เวอร์ชันเดิม และ Cloud Functions (รุ่นที่ 2) ซึ่งเป็นเวอร์ชันใหม่ที่สร้างขึ้นจาก Cloud Run และ Eventarc เพื่อมอบชุดฟีเจอร์ขั้นสูง หน้านี้จะอธิบายฟีเจอร์ใหม่ที่นำมาใช้ใน Cloud Functions (รุ่นที่ 2) และแสดงข้อมูลเปรียบเทียบระหว่างผลิตภัณฑ์ทั้ง 2 เวอร์ชัน

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

ใหม่ใน Cloud Functions (รุ่นที่ 2)

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

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

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

เนื่องจาก Cloud Functions (รุ่นที่ 2) สร้างขึ้นบน Cloud Run ดังนั้น Cloud Functions (รุ่นที่ 2) จะแชร์โควต้าทรัพยากรและขีดจำกัดกับ Cloud Run ดูโควต้า

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

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

ราคา

ดูข้อมูลราคาที่ แผนการตั้งราคา Firebase

หากใช้ Cloud Functions (รุ่นที่ 2) คุณจะดูค่าใช้จ่ายที่เกี่ยวข้องกับ Cloud Functions (รุ่นที่ 2) เท่านั้นได้ดังนี้

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

ข้อจำกัด

Cloud Functions for Firebase (รุ่นที่ 2) ไม่รองรับเหตุการณ์ Analytics

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

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