אפשר להשתמש גם ב-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 ↩