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