אפשר להשתמש גם ב-Workflows וגם ב-Managed Service for Apache Airflow לתזמור שירותים כדי לשלב שירותים להטמעה של פונקציונליות של אפליקציות או לביצוע עיבוד נתונים. למרות שהן דומות מבחינה רעיונית, כל אחת מהן מיועדת לתרחישי שימוש שונים. בדף הזה תוכלו לבחור את המוצר המתאים לתרחיש השימוש שלכם.
ההבדלים העיקריים
ההבדל העיקרי בין Workflows לבין Managed Airflow הוא סוג הארכיטקטורה שכל מוצר נועד לתמוך בה.
Workflows מתזמר כמה שירותים מבוססי-HTTP לתהליך עבודה עמיד עם שמירת מצב. יש לו זמן אחזור נמוך והוא יכול לטפל במספר רב של ביצועים. הוא גם לגמרי ללא שרת.
Workflows מצוין לשרשור מיקרו-שירותים, לאוטומציה של משימות שקשורות לתשתית כמו הפעלה או עצירה של מכונה וירטואלית, ולאינטגרציה עם מערכות חיצוניות. מחברי Workflows תומכים גם ברצפים פשוטים של פעולות ב Google Cloud שירותים כמו Cloud Storage ו-BigQuery.
Managed Airflow נועד לתזמר תהליכי עבודה מבוססי-נתונים (במיוחד ETL/ELT). הוא מבוסס על פרויקט Apache Airflow, אבל Managed Airflow הוא שירות מנוהל. Managed Airflow תומך בצינורות שלכם בכל מקום שהם נמצאים בו, כולל בסביבה מקומית או בפלטפורמות ענן מרובות. כל הלוגיקה ב-Managed Airflow, כולל משימות ותזמון, מבוטאת ב-Python כקובצי הגדרה של גרף אציקלי מכוון (DAG).
Managed Airflow מתאים במיוחד לעומסי עבודה של אצווה שיכולים להתמודד עם זמן טעינה של כמה שניות בין ביצועי המשימות. אתם יכולים להשתמש ב-Managed Airflow כדי לתזמן שירותים בצינורות עיבוד הנתונים, כמו הפעלת משימה ב-BigQuery או הפעלה של צינור עיבוד נתונים ב-Dataflow. אתם יכולים להשתמש באופרטורים קיימים כדי לתקשר עם שירותים שונים, ויש יותר מ-150 אופרטורים רק ל- Google Cloud .
השוואה מפורטת בין התכונות
| תכונה | Workflows | Managed Airflow |
|---|---|---|
| תחביר | תחביר של Workflows בפורמט YAML או JSON | Python |
| מודל מצב | בקרת זרימה אימפרטיבית | הצהרתי DAG עם פתרון תלות אוטומטי |
| שילובים | בקשות HTTP ומחברים | אופרטורים וחיישנים של Airflow |
| העברת נתונים בין שלבים | 512 KB למשתנים | 48 KB1 עבור XCom |
| טריגרים להפעלה ותזמון | ה-CLI של gcloud, Google Cloud מסוף, Workflows API, ספריות לקוח של Workflows, Cloud Scheduler | לוחות זמנים בסגנון Cron בקובץ ההגדרה של DAG, חיישני Airflow |
| דפוסים אסינכרוניים |
|
סקרים |
| ביצוע מקביל | הפעלה בו-זמנית של אותו תהליך עבודה או הפעלה בתוך תהליך עבודה באמצעות שלבים מקבילים | אוטומטי על סמך יחסי תלות |
| זמן האחזור של הביצוע | אלפיות שנייה | שניות |
| על סמך קוד פתוח | לא | כן (Apache Airflow) |
| מודל להרחבת היקף הפעילות | ללא שרת (serverless) (ההקצאה גדלה בהתאם לביקוש וקטנה עד לאפס) | הוקצה |
| מודל חיוב | מבוסס על שימוש (לכל שלב שמופעל) | על סמך הקיבולת שהוקצתה |
| תכונות לעיבוד נתונים | לא | מילוי חוסרים (backfill), אפשרות להפעלה מחדש של תרשימי DAG |
-
קוד המקור של airflow.models.xcom. מאמרי העזרה של Apache Airflow. 2 באוגוסט 2021 ↩