במדריך הזה מוצגת השוואה בין האפשרויות האחרונות והמקוריות Google Cloud לפריסת פונקציות. הדף הזה מיועד למי שיצרו בעבר פונקציות באמצעות Cloud Functions API ועוברים ל-Cloud Run Admin API. בדף הזה מתוארים הבדלים חשובים בכמה תחומים, כמו מושגים, הגדרה, פריסה, טריגרים וניסיונות חוזרים.
השוואה
יש שני סוגים של פונקציות Cloud Run:
פונקציות Cloud Run היא הגרסה העדכנית ביותר של פונקציות, שנפרסות כשירות ב-Cloud Run. אפשר ליצור אותם באחת מהדרכים הבאות:
- Cloud Run Admin API
(מומלץ): אפשר לנהל פונקציות שנוצרו באמצעות ה-API הזה (לדוגמה, באמצעותGoogle Cloud מסוף
gcloud run, API בארכיטקטורת REST או Terraform) רק באמצעות Cloud Run Admin API. - Cloud Functions v2 API: אפשר לנהל פונקציות שנוצרו באמצעות ה-API הזה (לדוגמה, באמצעות
gcloud functions, REST API או Terraform) באמצעות Cloud Run Admin API וגם באמצעות Cloud Functions v2 API. כשמשתמשים ב-API הזה, מציינים את הטריגר כשפורסים את הפונקציה. כאן מוסבר איך לנתק פונקציה של API מגרסה 2 כדי שאפשר יהיה לנהל אותה באופן בלעדי באמצעות Cloud Run Admin API.
- Cloud Run Admin API
(מומלץ): אפשר לנהל פונקציות שנוצרו באמצעות ה-API הזה (לדוגמה, באמצעותGoogle Cloud מסוף
פונקציות Cloud Run (דור ראשון), שנקראו בעבר Cloud Functions (דור ראשון), הן הגרסה המקורית של פונקציות עם טריגרים מוגבלים לאירועים, סביבות זמן ריצה ואפשרויות הגדרה. איך משדרגים פונקציות מהדור הראשון ל-Cloud Run
כשפורסים פונקציות ישירות ב-Cloud Run, הפונקציות נבנות אוטומטית כקונטיינרים ונפרסות כשירות Cloud Run.
מושגים
בטבלה הבאה מסוכמים ההבדלים המושגיים בפונקציות.
| פונקציות Cloud Run | פונקציות Cloud Run (דור ראשון) | |
|---|---|---|
| שם המוצר הקודם | Cloud Functions (דור שני) | Cloud Functions (דור ראשון) |
| מודל של משאבים | פונקציה היא שירות Cloud Run שנפרס מקוד מקור | פונקציה נפרסת מקוד מקור |
| מונחים שקשורים לסוגי פונקציות |
|
|
| כתובת URL מסוג HTTPS שהוקצתה | run.appלפונקציות שנוצרו באמצעות Cloud Functions v2 API יש גם נקודת קצה cloudfunctions.net. |
cloudfunctions.net |
| מאגר תמונות | Artifact Registry בלבד | Artifact Registry או Container Registry (הוצא משימוש) |
| תפקידי IAM לפריסה |
|
|
| תשתית פנימית | Cloud Run | פנימי ל-Google |
| מודל התמחור | תמחור ב-Cloud Run | המחירון של פונקציות Cloud Run (דור ראשון) |
הגדרות אישיות
Cloud Run בונה פונקציות בקונטיינרים ופורס אותן כשירותים. כשפורסים פונקציה ב-Cloud Run, יש גישה מלאה להתנהגות של הפונקציה ושליטה מלאה בה. לדוגמה, אתם יכולים להפעיל Direct VPC, להגדיר GPU, להשתמש ב-volume mounts ועוד.
בטבלה הבאה מסוכמים ההבדלים בהגדרות של פונקציות:
| פונקציות Cloud Run | פונקציות Cloud Run (דור ראשון) | |
|---|---|---|
| משך הבקשה הסתיים |
|
|
| גודל המכונה | עד 16 GiB RAM עם 4 vCPU | עד 8 GB RAM עם 2 vCPU |
| בו-זמניות | עד 1,000 בקשות מקבילות לכל מופע של פונקציה | בקשה מקבילה אחת לכל מופע של פונקציה |
| חלוקת התנועה | נתמך | לא נתמך |
פריסה
מאז אוגוסט 2024, אפשר להשתמש ב-Cloud Run כדי לפרוס ולנהל פונקציות שנוצרו באמצעות Cloud Functions v2 API. כתוצאה מהשינוי הזה:
- מטא-נתונים של פונקציות, כמו מזהה זמן ריצה והגדרות של בנייה, מאוחסנים בהגדרת השירות של Cloud Run.
- אתם יכולים לערוך את הפונקציה בבטחה באמצעות Cloud Run Admin API.
- אתם יכולים להסתמך על הגדרת השירות של Cloud Run כמקור האמת של הפונקציה.
עם זאת, חשוב לזכור שאי אפשר לשנות פונקציות שנוצרו באמצעות Cloud Run Admin API באמצעות Cloud Functions API.
בטבלה הבאה מפורטים ההבדלים באופן שבו יוצרים, פורסים, עורכים ומנהלים פונקציות:
| פונקציות Cloud Run | פונקציות Cloud Run (דור ראשון) | |
|---|---|---|
| מסוףGoogle Cloud | Cloud Run | פונקציות Cloud Run (דור ראשון) |
| Cloud SDK |
|
|
| API ל-REST |
|
|
| Terraform |
|
טריגרים וניסיונות חוזרים
בטבלה הבאה מוצגת השוואה בין טריגרים וניסיונות חוזרים לפונקציות:
| פונקציות Cloud Run | פונקציות Cloud Run (דור ראשון) | |
|---|---|---|
| הפעלת טריגר והפעלת פונקציה | אם הפונקציה נוצרה באמצעות Cloud Run Admin API, צריך לציין טריגרים כחלק מהפריסה של הפונקציה במסוף Google Cloud או אחרי פריסת הפונקציה כשמשתמשים ב-CLI של gcloud. בפונקציות שנוצרו באמצעות Cloud Functions v2 API, מציינים את הטריגרים כחלק מפריסת הפונקציה. |
מציינים טריגרים כחלק מפריסת הפונקציה. |
| סוגי אירועים | תמיכה בכל סוג אירוע שנתמך על ידי Eventarc, כולל יותר מ-90 מקורות אירועים דרך יומני ביקורת ב-Cloud. | תמיכה ישירה באירועים מ-7 מקורות. |
| ניסיונות חוזרים | לפונקציות שנוצרו באמצעות Cloud Run Admin API, צריך לעדכן את מדיניות הניסיון החוזר ב-Eventarc ולהגדיר נושא להודעות ללא מוצא ב-Pub/Sub. בפונקציות שנוצרו באמצעות Cloud Functions v2 API, מציינים את מספר הניסיונות החוזרים כחלק מפריסת הפונקציה באמצעות הדגל --retry.
|
מציינים ניסיונות חוזרים כחלק מפריסת הפונקציה באמצעות הדגל --retry. |
ניתוק הפונקציה
אפשר לנתק פונקציות שנוצרו באמצעות Cloud Functions v2 API (לדוגמה, באמצעות gcloud functions, API בארכיטקטורת REST או Terraform) מסביבת ה-API הקיימת שלהן. אחרי שמנתקים פונקציה, אפשר לנהל אותה רק באמצעות Cloud Run Admin API. כדאי לעשות את זה אם עומסי העבודה צריכים להישאר בתוך run.googleapis.comגבולות ה-API של Assured Workloads, או כדי לוודא שעומסי העבודה משתמשים במק"ט של Cloud Run.
מידע נוסף זמין במאמר בנושא ניהול פונקציות.
המאמרים הבאים
- מומלץ לנסות את המדריך לתחילת העבודה בנושא פריסת פונקציית Cloud Run.