Workflows היא פלטפורמה מנוהלת במלואה לתזמור שירותים בסדר שאתם מגדירים: תהליך עבודה. בתהליכי העבודה האלה אפשר לשלב שירותים, כולל שירותים מותאמים אישית שמתארחים ב-Cloud Run או בפונקציות של Cloud Run, Google Cloud שירותים כמו Vision AI ו-BigQuery, וכל API מבוסס-HTTP.
כשמשלבים את Workflows בפתרונות, אפשר להפוך את התלות בשירותים לברורה ולניתנת לצפייה מקצה לקצה. תהליך עבודה שמציין אפליקציה, תהליך תפעולי או תהליך עסקי מספק מקור אמת או תיאור קנוני של התהליך.
Workflows הוא שירות ללא שרת, שמתרחב לפי הצורך, ולא חלים חיובים בזמן שהוא לא פעיל. מכיוון שתהליך העבודה לא מכיל קוד או תלות בספרייה, לא נדרשים תיקוני אבטחה. אחרי שמפעילים תהליך עבודה, אפשר לצפות שהוא יפעל בצורה מהימנה בלי צורך בתחזוקה. תהליך עבודה יכול להשהות את המצב, לנסות שוב, לבצע סקר או להמתין עד שנה.
Workflows עומד בדרישות של האישורים והתקנים האלה.
התרשים הבא מציג דוגמה לשימוש ב-Workflows כדי לתזמר שירותים:
תרחישי שימוש עיקריים
Workflows תומך בתרחישי שימוש רבים. דוגמאות:
| תזמור שירותים | יצירת פתרונות על ידי שילוב שירותים – ביצוע רצף של פעולות בכמה מערכות, והמתנה עד שכל הפעולות יסתיימו.
יכול להיות מבוסס-אירועים. לדוגמה:
|
| משימות באצווה | ביצוע פעולות על כמה פריטים – ביצוע פעולות על קבוצת פריטים או על נתונים באצווה. לרוב מתוזמנים. לדוגמה:
|
| תהליכים עסקיים | אוטומציה של תהליכי עבודה עסקיים – קידוד השלבים בתהליך עסקי, כולל תנאים, פעולות ואירועים שדורשים התערבות אנושית. לדוגמה:
|
| אוטומציה של תהליכי 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. אפשר גם לקבל תמיכה בתצוגה חזותית בזמן עריכת התחביר של Workflows דרך מסוף 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 ולהקצות את התגובה מהקריאה למשתנה. לדוגמה, אפשר להפעיל Google Cloudשירות כמו פונקציות Cloud Run או Cloud Run באמצעות בקשת HTTP. המערכת תומכת בבקשות 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. פרטים נוספים זמינים במאמרים בנושא מידע על יומני ביקורת של תהליכי עבודה והרצות של תהליכי עבודה.
אפשר לאחזר את ההיסטוריה של הפעלת תהליך עבודה ספציפי כרשימה של רשומות שלבים. כל רשומה מייצגת שלב או בלוק הוראות בהרצת תהליך העבודה. רשומות של שלבים יכולות לעזור לכם לקבוע את המקור של שגיאה או לבצע אופטימיזציה של הביצועים של תהליך עבודה.
דוגמאות קוד
אפשר למצוא דוגמאות קוד שימושיות רבות של Workflows בדף הדוגמאות.
המאמרים הבאים
כדי להתחיל להשתמש ב-Workflows, אפשר להיכנס לGoogle Cloud מסוף או להשתמש ב-ה-CLI של gcloud.