בדף הזה מוסבר בקצרה על Airflow ו-DAG, ומתוארות התכונות והיכולות של Managed Airflow.
למידע נוסף על תכונות חדשות בגרסאות של Managed Airflow, קראו את נתוני הגרסה.
מידע על Managed Airflow
Managed Airflow הוא שירות מנוהל לתזמור תהליכי עבודה, שמאפשר ליצור, לתזמן, לנטר ולנהל צינורות עיבוד נתונים של תהליכי עבודה שפועלים בעננים ובמרכזי נתונים מקומיים.
הוא מבוסס על פרויקט הקוד הפתוח הפופולרי Apache Airflow ופועל באמצעות שפת התכנות Python.
כשמשתמשים ב-Managed Airflow במקום במכונה מקומית של Apache Airflow, אפשר ליהנות מהיתרונות של Airflow בלי הטרחה של ההתקנה או הניהול. בעזרת Managed Airflow אתם יכולים ליצור במהירות סביבות Airflow מנוהלות ולהשתמש בכלים מותאמים ל-Airflow, כמו ממשק האינטרנט העוצמתי של Airflow וכלי שורת הפקודה, כדי שתוכלו להתמקד בתהליכי העבודה ולא בתשתית.
ההבדלים בין הגרסאות של Managed Airflow
מידע נוסף על ההבדלים בין הגרסאות העיקריות של Managed Airflow זמין במאמר סקירה כללית על ניהול גרסאות של Managed Service for Apache Airflow.
Airflow ותרשימי DAG (תהליכי עבודה) של Airflow
בניתוח נתונים, תהליך עבודה מייצג סדרה של משימות להטמעה, לטרנספורמציה, לניתוח או לשימוש בנתונים. ב-Airflow, תהליכי עבודה נוצרים באמצעות DAG, או "גרפים אציקליים מכוונים".
DAG הוא אוסף של משימות שרוצים לתזמן ולהריץ, שמאורגנות באופן שמשקף את הקשרים ואת יחסי התלות ביניהן. DAGs נוצרים בקובצי Python, שמגדירים את מבנה ה-DAG באמצעות קוד. מטרת ה-DAG היא לוודא שכל משימה מבוצעת בזמן הנכון ובסדר הנכון.
כל משימה ב-DAG יכולה לייצג כמעט כל דבר. לדוגמה, משימה אחת יכולה לבצע כל אחת מהפונקציות הבאות:
- הכנת הנתונים להטמעה
- מעקב אחרי API
- שולח אימייל
- הפעלת צינור עיבוד נתונים
בנוסף להרצת DAG לפי לוח זמנים, אפשר להפעיל DAG באופן ידני או בתגובה לאירועים, כמו שינויים בקטגוריה של Cloud Storage. מידע נוסף זמין במאמר תזמון והפעלה של DAG.
למידע נוסף על DAGs ומשימות, קראו את המסמכים של Apache Airflow.
סביבות Managed Airflow
סביבות Managed Airflow הן פריסות Airflow עצמאיות שמבוססות על Google Kubernetes Engine. הם פועלים עם שירותי Cloud de Confianceאחרים באמצעות מחברים שמובנים ב-Airflow. אפשר ליצור סביבה אחת או יותר בפרויקט אחד ב- Cloud de Confiance, בכל אזור נתמך.
Managed Airflow מקצה שירותי Cloud de Confiance שמריצים את תהליכי העבודה ואת כל הרכיבים של Airflow. הרכיבים העיקריים של סביבה הם:
אשכול GKE: רכיבי Airflow כמו מתזמנים, טריגרים ו-workers של Airflow פועלים כעומסי עבודה של GKE באשכול יחיד שנוצר בשביל הסביבה שלכם, והם אחראים לעיבוד ולהפעלה של DAG.
האשכול גם מארח רכיבים אחרים של Managed Airflow, כמו Composer Agent ו-Airflow Monitoring, שעוזרים לנהל את סביבת Managed Airflow, לאסוף יומנים לאחסון ב-Cloud Logging ולאסוף מדדים להעלאה ל-Cloud Monitoring.
שרת אינטרנט של Airflow: שרת האינטרנט מריץ את ממשק המשתמש של Apache Airflow.
מסד הנתונים של Airflow: מסד הנתונים מכיל את המטא-נתונים של Apache Airflow.
קטגוריה של Cloud Storage: ב-Managed Airflow משויכת קטגוריה של Cloud Storage לסביבה שלכם. הקטגוריה הזו, שנקראת גם הקטגוריה של הסביבה, מאחסנת את ה-DAGs, היומנים, הפלאגינים בהתאמה אישית והנתונים של הסביבה. למידע נוסף על הקטגוריה של הסביבה, ראו נתונים שמאוחסנים ב-Cloud Storage.
לסקירה מעמיקה של רכיבי הסביבה, ראו ארכיטקטורת סביבה.
ממשקי Managed Airflow
ב-Managed Airflow יש ממשקים לניהול סביבות, מכונות Airflow שפועלות בתוך סביבות ו-DAG נפרדים.
לדוגמה, אתם יכולים ליצור ולהגדיר סביבות של Managed Airflow במסוף Cloud de Confiance , ב-Google Cloud CLI, ב-Cloud Composer API או ב-Terraform.
דוגמה נוספת: אתם יכולים לנהל DAG מCloud de Confiance מסוף, מממשק המשתמש המקורי של Airflow או על ידי הפעלת Google Cloud CLI ופקודות Airflow CLI.
תכונות של Airflow ב-Managed Airflow
כשמשתמשים ב-Managed Airflow, אפשר לנהל את התכונות של Airflow ולהשתמש בהן, למשל:
Airflow DAGs: אתם יכולים להוסיף, לעדכן, להסיר או להפעיל Airflow DAGs במסוף Cloud de Confiance או באמצעות ממשק המשתמש המקורי של Airflow.
אפשרויות הגדרה של Airflow: אתם יכולים לשנות את אפשרויות ההגדרה של Airflow מערכי ברירת המחדל שמשמשים את Managed Airflow לערכים בהתאמה אישית. ב-Managed Airflow, חלק מאפשרויות ההגדרה חסומות ואי אפשר לשנות את הערכים שלהן.
פלאגינים בהתאמה אישית: אתם יכולים להתקין פלאגינים בהתאמה אישית של Airflow, כמו אופרטורים, הוקים, חיישנים או ממשקים בהתאמה אישית של Apache Airflow, בסביבת Managed Airflow.
יחסי תלות של Python: אתם יכולים להתקין יחסי תלות של Python מאינדקס החבילות של Python בסביבה שלכם או ממאגר חבילות פרטי, כולל מאגרים של Artifact Registry. אם יחסי התלות לא נמצאים באינדקס החבילות, אפשר גם להשתמש בפלאגינים.
רישום ביומן ומעקב אחרי DAG, רכיבי Airflow וסביבות Managed Airflow:
אפשר לראות את יומני Airflow שמשויכים למשימות DAG בודדות בממשק האינטרנט של Airflow ובתיקייה
logsבקטגוריה של הסביבה.יומנים ומדדי סביבה של Cloud Monitoring לסביבות Managed Airflow.
בקרת גישה ב-Managed Airflow
אתם מנהלים את האבטחה ברמת הפרויקט ב- Cloud de Confiance , ויכולים להקצות תפקידי IAM שמאפשרים למשתמשים ספציפיים לשנות או ליצור סביבות. אם למישהו אין גישה לפרויקט או שאין לו תפקיד IAM מתאים ב-Managed Airflow, הוא לא יכול לגשת לאף אחת מהסביבות שלכם.
בנוסף ל-IAM, אתם יכולים להשתמש בבקרת גישה לממשק המשתמש של Airflow, שמבוססת על מודל בקרת הגישה של Apache Airflow.
מידע נוסף על תכונות האבטחה ב-Managed Airflow זמין במאמר סקירה כללית על האבטחה ב-Managed Airflow.
רשתות סביבתיות
ב-Managed Airflow יש תמיכה בכמה הגדרות רשת לסביבות, עם הרבה אפשרויות הגדרה. לדוגמה, בסביבת IP פרטית, רכיבי DAG ו-Airflow מבודדים לחלוטין מהאינטרנט הציבורי.
למידע נוסף על רשתות ב-Managed Airflow, קראו את הדפים של תכונות הרשת הספציפיות:
- סביבות של כתובות IP ציבוריות ופרטיות
- חיבור סביבה לרשת ה-VPC
- סביבות VPC משותפות
- הגדרת VPC Service Controls
תכונות אחרות של Managed Airflow
תכונות נוספות של Managed Airflow:
- סביבות עם התאמה אוטומטית לעומס (Autoscaling)
- פיתוח עם סביבות Airflow מקומיות
- סביבות עמידות מאוד
- תמונות מצב של הסביבה
- הצפנה באמצעות מפתחות הצפנה בניהול הלקוח (CMEK)
שאלות נפוצות
באיזו גרסה של Apache Airflow משתמשים ב-Managed Airflow?
סביבות Managed Airflow מבוססות על תמונות של Managed Airflow. כשיוצרים סביבה, אפשר לבחור קובץ אימג' עם גרסה ספציפית של Airflow:
- Managed Airflow (דור 3) תומך ב-Airflow 2 וב-Airflow 3.
אתם יכולים לבחור את גרסת Apache Airflow של הסביבה שלכם. אתם יכולים לשדרג את הסביבה לגרסה עדכנית יותר של קובץ האימג' של Managed Airflow. כל גרסה של Managed Airflow תומכת בכמה גרסאות של Apache Airflow.
האם אפשר להשתמש בממשק המשתמש וב-CLI המקוריים של Airflow?
אתם יכולים לגשת לממשק האינטרנט של Apache Airflow בסביבה שלכם. לכל אחת מהסביבות יש ממשק משתמש משלה ב-Airflow. למידע נוסף על הגישה לממשק המשתמש של Airflow, קראו את המאמר ממשק האינטרנט של Airflow.
כדי להריץ פקודות Airflow CLI בסביבות שלכם, השתמשו בפקודות gcloud.
מידע נוסף על הפעלת פקודות Airflow CLI בסביבות Managed Airflow זמין במאמר ממשק שורת הפקודה של Airflow.
אפשר להשתמש במסד נתונים משלי כמסד הנתונים של Airflow?
ב-Managed Airflow נעשה שימוש בשירות מסד נתונים מנוהל בשביל מסד הנתונים של Airflow. אי אפשר להשתמש במסד נתונים שסופק על ידי המשתמש כמסד הנתונים של Airflow.
אפשר להשתמש באשכול משלי כאשכול Managed Airflow?
ב-Managed Airflow נעשה שימוש בשירות Google Kubernetes Engine כדי ליצור, לנהל ולמחוק אשכולות של סביבות שבהן פועלים רכיבי Airflow. האשכולות האלה מנוהלים באופן מלא על ידי Managed Airflow.
אי אפשר לבנות סביבת Managed Airflow שמבוססת על אשכול Google Kubernetes Engine בניהול עצמי.
אפשר להשתמש ב-Container Registry משלי?
ב-Managed Airflow נעשה שימוש בשירות Artifact Registry כדי לנהל מאגרים של קובצי אימג' של קונטיינרים שמשמשים את סביבות Managed Airflow. אי אפשר להחליף אותו במרשם קונטיינרים שסופק על ידי המשתמש.
האם סביבות Managed Airflow הן אזוריות או מבוססות-אזור?
כשיוצרים סביבה, מציינים את האזור שלה:
- עמידות גבוהה (זמינות גבוהה) – סביבות Managed Airflow עם מסד נתונים של Airflow בכמה אזורים ושכבת הרצה של Airflow בכמה אזורים. סביבה עם עמידות גבוהה פועלת בשני אזורים לפחות באזור שנבחר. Managed Airflow מפיץ באופן אוטומטי את הרכיבים של הסביבה בין אזורים. לרכיב Cloud SQL שבו מאוחסן מסד הנתונים של Airflow יש מכונה ראשית ומכונה במצב המתנה, שמפוזרות בין אזורים באזור שנבחר.
המאמרים הבאים
- מידע ולמידה על Managed Airflow ב- Cloud de Confiance לעומת Google Cloud