סקירה כללית של תהליכי עבודה

‫Workflows היא פלטפורמה מנוהלת במלואה לתזמור שירותים בסדר שאתם מגדירים: תהליך עבודה. בתהליכי העבודה האלה אפשר לשלב שירותים, כולל שירותים בהתאמה אישית שמתארחים ב-Cloud Run או פונקציות של Cloud Run, Google Cloud שירותים כמו Cloud Vision AI ו-BigQuery, וכל API מבוסס-HTTP.

כשמשלבים את Workflows בפתרונות, אפשר להפוך את התלות בשירותים לגלויים ולניתנים לצפייה מקצה לקצה. תהליך עבודה שמציין תהליך של אפליקציה, תפעול או עסק מספק מקור אמת או תיאור קנוני של התהליך.

‫Workflows הוא שירות ללא שרת, שמתרחב לפי הצורך, ולא חלים חיובים בזמן שהוא לא פעיל. מכיוון שתהליך העבודה לא מכיל קוד או תלות בספרייה, לא נדרשים תיקוני אבטחה. אחרי שמפעילים תהליך עבודה, אפשר לצפות שהוא יפעל בצורה מהימנה בלי צורך בתחזוקה. תהליך עבודה יכול להשהות את המצב, לנסות שוב, לבצע סקר או להמתין עד שנה.

‫Workflows עומד בדרישות של האישורים והתקנים האלה.

התרשים הבא מציג דוגמה לשימוש ב-Workflows כדי לתזמר שירותים:

תזמור שירותים באמצעות Workflows

תרחישי שימוש עיקריים

התכונה 'תהליכי עבודה' תומכת בתרחישי שימוש רבים. דוגמאות:

תזמור שירותים יצירת פתרונות על ידי שילוב שירותים – ביצוע רצף של פעולות בכמה מערכות, והמתנה עד שכל הפעולות יסתיימו. יכול להיות מבוסס-אירועים. לדוגמה:
  • שליחת קבצים חדשים שהועלו ל-Cloud Vision AI, ואז כתיבת תגים ל-Firestore
  • הפעלה של פונקציית Cloud Run ושליחת התוצאות לשירות Cloud Run
משימות באצווה ביצוע פעולות על כמה פריטים – ביצוע פעולות על קבוצת פריטים או על נתונים באצווה. לרוב מתוזמנים. לדוגמה:
  • שליחת אימיילים יומיים ללקוחות
  • הכנה והרצה של משימות BigQuery או למידת מכונה
  • יצירת דוחות
תהליכים עסקיים אוטומציה של תהליכי עבודה עסקיים – קידוד השלבים בתהליך עסקי, כולל תנאים, פעולות ואירועים שדורשים התערבות אנושית. לדוגמה:
  • מעקב אחרי הזמנה משלב הבקשה ועד האספקה
  • אוטומציה של בקשות למשאבים באמצעות אישורים
אוטומציה של תהליכי IT ביצוע מנוהל של פעולות שירות – אפשר ליצור בקלות סקריפטים של רצפים של Google Cloud פעולות שירות. לדוגמה:
  • הקצאת פרויקטים או תשתית חדשים לדייר
  • הפחתת משאבים לפי לוח זמנים או באמצעות טריגרים של אירועים

מושגי ליבה

תהליך עבודה מורכב מסדרה של שלבים שמתוארים באמצעות התחביר של Workflows, והוא יכול להיכתב ב-YAML או ב-JSON. זו ההגדרה של תהליך העבודה. הסבר מפורט על התחביר של Workflows זמין במאמר בנושא הפניה לתחביר.

אחרי שיוצרים תהליך עבודה, הוא נפרס, כך שהוא מוכן לביצוע. איך יוצרים ומעדכנים תהליך עבודה במסוף Google Cloud או באמצעות Google Cloud CLI אפשר גם ליצור את תהליך העבודה באמצעות סביבת פיתוח משולבת (IDE) או עורך קוד מקור מועדף, ולהגדיר השלמה אוטומטית ואימות תחביר.

הרצה היא הפעלה יחידה של הלוגיקה שמופיעה בהגדרה של זרימת עבודה. תהליך עבודה שלא בוצע לא יוצר חיובים. כל ההרצות של תהליכי העבודה הן עצמאיות, וההתאמה המהירה של המוצר מאפשרת מספר גבוה של הרצות בו-זמניות. אפשר להריץ תהליך עבודה באמצעות ספריות הלקוח, במסוף Google Cloud , באמצעות Google Cloud CLI או על ידי שליחת בקשת HTTP POST לכתובת ההפעלה של תהליך העבודה באמצעות Workflows API בארכיטקטורת REST. פרטים נוספים זמינים במאמר בנושא הפעלת תהליך עבודה.

מיקוד לפי אזורים

‫Workflows הוא שירות אזורי, ותהליכי העבודה הם משאבים אזוריים שחלים עליהם המגבלות על מיקומי משאבים. אפשר להשתמש במדיניות מיקום משאבים כדי לשלוט במיקום האחסון של הנתונים.

הערה: כשפורסים תהליך עבודה באזור מסוים, הוא מופעל רק באותו אזור. עם זאת, אם תהליך העבודה שולח בקשות HTTP או משתמש במחברים, יכול להיות שהקריאה ל-HTTP לא תצא מאותו אזור.

יכולות עיקריות

אלה כמה מהיכולות העיקריות של Workflows.

בקרה על ביצוע בקשות

שלבים
כדי ליצור תהליך עבודה, מגדירים את השלבים הנדרשים ואת סדר הביצוע באמצעות התחביר של Workflows. כל תהליך עבודה חייב לכלול לפחות שלב אחד. כברירת מחדל, כלי זרימות העבודה מתייחס לשלבים כאילו הם נמצאים ברשימה מסודרת, ומבצע אותם אחד אחרי השני עד שכל השלבים מסתיימים. מידע נוסף זמין בקטע שלבים.
תנאים
אפשר להשתמש בבלוק switch כמנגנון בחירה שמאפשר לערך של ביטוי לשלוט בזרימת הביצוע של תהליך עבודה. למידע נוסף, קראו את המאמר תנאים.
איטרציה
אפשר להשתמש בלולאת for כדי לחזור על רצף של מספרים או על אוסף של נתונים, כמו רשימה או מפה. פרטים נוספים זמינים במאמר בנושא איטרציה.
שלבים מקבילים
אפשר להשתמש בשלב parallel כדי להגדיר חלק מתהליך העבודה (ענף או לולאה) שיכול לפעול במקביל. פרטים נוספים זמינים במאמר בנושא שלבים מקבילים.
תהליכי עבודה משניים
תהליך עבודה משני פועל באופן דומה לשגרה או לפונקציה בשפת תכנות, ומאפשר לכם להגדיר שלב או קבוצת שלבים שתהליך העבודה יחזור עליהם כמה פעמים. לפרטים נוספים, אפשר לעיין במאמר בנושא תת-תהליכי עבודה.

הפעלת ביצועים

גלילה ידנית
אפשר לנהל את תהליכי העבודה דרך Google Cloud המסוף או דרך שורת הפקודה באמצעות Google Cloud CLI. אפשר גם לקבל תמיכה בהמחשה ויזואלית בזמן עריכת התחביר של תהליכי העבודה דרך מסוף Google Cloud .
פרוגרמטי
אפשר להשתמש בספריות הלקוח ב-Cloud עבור Workflows API או ב-API בארכיטקטורת REST כדי לנהל את תהליכי העבודה. פרטים נוספים זמינים במאמר Workflows APIs and reference.
מתוזמנת
אפשר להשתמש ב-Cloud Scheduler כדי להריץ תהליך עבודה בתזמון מסוים, למשל כל יום שני בשעה 9:00 או כל 15 דקות. פרטים נוספים מופיעים במאמר בנושא תזמון של תהליך עבודה באמצעות Cloud Scheduler.
ארגומנטים של זמן ריצה
אפשר לגשת לנתונים שמועברים בזמן הריצה על ידי הוספת שדה params לזרימת העבודה הראשית (שמוצב בבלוק main). הבלוק main מקבל ארגומנט יחיד שהוא כל סוג נתונים תקין של JSON. בשדה params מציינים את שם המשתנה שבו זרימת העבודה משתמשת כדי לאחסן את הנתונים שמועברים אליה. פרטים נוספים זמינים במאמר בנושא ארגומנטים של זמן ריצה.

קישור שירותים

ממשקי HTTP API
אפשר להגדיר שלב בתהליך העבודה שיוצר קריאת HTTP ולהקצות את התגובה מהקריאה למשתנה. לדוגמה, אפשר להפעיל שירות כמו פונקציות Cloud Run או Cloud Run באמצעות בקשת HTTP. Google Cloudהמערכת תומכת בבקשות HTTP וגם בבקשות HTTPS. פרטים נוספים זמינים במאמרים בנושא שליחת בקשת HTTP והפעלת פונקציות של Cloud Run או Cloud Run.
אפשר לטרגט נקודת קצה פרטית לקריאות HTTP מהרצת זרימת העבודה באמצעות מאגר שירותים של Service Directory עם Workflows. כך תוכלו לספק לזרימת העבודה שלכם שם שירות של Service Directory. הפעלת זרימת העבודה משתמשת במידע שאוחזר ממאגר השירותים כדי לשלוח את בקשת ה-HTTP המתאימה, בלי לצאת לרשת ציבורית. מידע נוסף זמין במאמר הפעלת נקודת קצה פרטית באמצעות מאגר השירותים של Service Directory.
לחלופין, אפשר להפעיל נקודת קצה שמאובטחת באמצעות שרת proxy לאימות זהויות (IAP). באמצעות IAP אתם יוצרים שכבת הרשאה מרכזית לאפליקציות שמתבצעת אליהן גישה באמצעות HTTPS, כך שתוכלו להשתמש במודל של בקרת גישה ברמת האפליקציה במקום להסתמך על חומות אש ברמת הרשת. מידע נוסף זמין במאמר הפעלת נקודת קצה (endpoint) שמאובטחת באמצעות IAP.
כשיוצרים נקודת קצה פרטית ברשת VPC, אפשר להגדיר גבולות גזרה לשירות ולהשתמש ב-VPC Service Controls עם Workflows כדי לצמצם את הסיכונים לזליגת נתונים.
מחברים
ב-Workflows מתפרסמים מחברים שאפשר להשתמש בהם כדי להתחבר לממשקי API אחרים בתהליך עבודה, וכדי לשלב את תהליכי העבודה עם מוצרים כאלה Google Cloud . Google Cloud הם מפשטים את הקריאה לשירותים כי הם מטפלים בפורמט של הבקשות בשבילכם, ומספקים שיטות וארגומנטים כך שלא תצטרכו לדעת את הפרטים שלGoogle Cloud API. לפרטים נוספים אפשר לעיין במאמר הסבר על מחברים.
ספרייה רגילה ומשתני סביבה
ספריית התקנים של Workflows, משתני סביבה מובנים ומשתני סביבה שהוגדרו על ידי המשתמש מאפשרים ליצור ביעילות ארגומנטים לשירותים ולעבד תשובות.
הספרייה הרגילה כוללת מודולים ופונקציות שנמצאות בשימוש תדיר, כמו פונקציות להמרת סוגי נתונים ופורמטים. אין צורך לייבא או לטעון ספריות בתהליך עבודה – פונקציות של ספריות פועלות באופן מיידי. פרטים נוספים מופיעים במאמר בנושא סקירה כללית של הספרייה הרגילה.
אתם יכולים לגשת למידע על הסביבה של תהליך עבודה (כמו המיקום או מזהה הפרויקט) באמצעות משתני סביבה מובנים. משתני סביבה מובנים לא דורשים הצהרה וזמינים בכל הרצה של תהליך עבודה. מידע נוסף זמין במאמר בנושא משתני סביבה מובנים.
כשפורסים תהליך עבודה, אפשר להגדיר זוגות שרירותיים של מחרוזות מפתח וערך כמשתני סביבה שהוגדרו על ידי המשתמש, שאפשר לגשת אליהם בתהליך העבודה בזמן הריצה. לדוגמה, אתם יכולים ליצור תהליך עבודה שמוגדר באופן דינמי בהתאם לסביבה שבה הוא נפרס. מידע נוסף זמין במאמר שימוש במשתני סביבה.

טיפול בשגיאות

אתם יכולים להשתמש בטיפול בחריגים ב-Workflows כדי להפוך את תהליכי העבודה לעמידים ולהתאים אישית את ההתנהגות שלהם במקרה של כשל. בין היתר, תוכלו להשתמש בניסיונות חוזרים אוטומטיים של קריאות HTTP עם השהיות אקספוננציאליות, במטפלים מותאמים אישית בשגיאות ובתכונות מתקדמות אחרות. פרטים נוספים זמינים במאמר בנושא שגיאות בתהליך העבודה.

ממתין

התכונה 'התקשרות חוזרת' מאפשרת להריץ תהליכי עבודה בהמתנה עד ששירות אחר ישלח בקשה לנקודת הקצה של ההתקשרות החוזרת. הבקשה הזו מפעילה מחדש את תהליך העבודה. באמצעות קריאות חוזרות, אפשר לסמן לתהליך העבודה שאירוע מסוים התרחש, ולהמתין לאירוע הזה בלי לבצע סקר. פרטים נוספים זמינים במאמר בנושא המתנה באמצעות שיחות חוזרות.

אתם יכולים להשהות את ההפעלה של תהליך עבודה על ידי הוספת שלב שינה להגדרה של תהליך העבודה. אחרי כן אפשר להשתמש ב-sys.sleep כדי לשלוח בקשות לנתונים במרווח נתון. פרטים נוספים זמינים במאמר בנושא המתנה באמצעות בדיקת סטטוס.

אימות ובקרת גישה

מכיוון שכל הפעלה של תהליך עבודה דורשת קריאה מאומתת, אפשר להשתמש ב-Workflows כדי לצמצם את הסיכון לקריאות מקריות או זדוניות. אפשר גם לפשט את האינטראקציות עם ממשקי API אחרים של Google Cloud באמצעות חשבונות שירות מבוססי IAM, ואפשר לאחסן בצורה מאובטחת מפתחות וסיסמאות לאימות בממשקי API חיצוניים באמצעות מחבר Secret Manager. לפרטים נוספים, אפשר לקרוא על אימות ועל בקרת גישה.

ניראות (observability)

ב-Workflows, יומני ביצוע נוצרים באופן אוטומטי לביצועים של תהליכי עבודה ב-Cloud Logging. אפשר גם לשלוט במועד שבו היומנים נשלחים ל-Logging במהלך הפעלת תהליך עבודה באמצעות יומני שיחות או יומנים בהתאמה אישית. פרטים נוספים זמינים במאמר בנושא שליחת יומנים אל Cloud Logging.

מידע על יומני ביקורת זמין דרך Cloud Audit Logs. פרטים נוספים מופיעים במידע על יומני הביקורת של תהליכי עבודה והרצות של תהליכי עבודה.

אפשר לאחזר את ההיסטוריה של הפעלת תהליך עבודה ספציפי כרשימה של רשומות שלבים. כל רשומה מייצגת שלב או בלוק הוראות בהרצת תהליך העבודה. רשומות של שלבים יכולות לעזור לכם לקבוע את המקור של שגיאה או לבצע אופטימיזציה של הביצועים של תהליך עבודה.

דוגמאות קוד

אפשר למצוא דוגמאות קוד שימושיות רבות של Workflows בדף הדוגמאות.

המאמרים הבאים