การเปรียบเทียบเวอร์ชันของ 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,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 ได้