ניהול אפליקציות בתיקייה

במאמר הזה מוסבר איך להגדיר תיקייה לניהול אפליקציות כדי ליצור, להפעיל ולנהל אפליקציות של App Hub ב-Google Cloud. הוא מיועד לאנשים שמגדירים ומנהלים אפליקציות ב-App Hub.

סקירה כללית

‫Google Cloud Cloud Run מספק גישה שמתמקדת באפליקציות לפריסה ולניהול של המשאבים שלכם. במקום להתמקד ברכיבי תשתית בודדים, אתם יכולים לנהל את האפליקציות שלכם כמכלול. מידע נוסף על המודל הזה שמתמקד באפליקציות ועל ארגון המשאבים שלו זמין במאמר Google Cloud שמתמקד באפליקציות.

בבסיס החוויה שמתמקדת באפליקציות נמצאת האפליקציה App Hub. אפליקציה היא קבוצה לוגית של משאבים שפועלים יחד כדי לספק פונקציה עסקית ספציפית. המשאבים האלה כוללים:

  • שירותים: ממשק רשת או ממשק API שחושף פונקציונליות ללקוחות, כמו כלל העברה של מאזן עומסים.
  • עומסי עבודה: משאב מחשוב שמריץ פריסה בינארית שמבצעת פונקציה עסקית נפרדת, כמו קבוצת מופעי מכונה מנוהלים (MIG) או פריסה של Google Kubernetes Engine ‏ (GKE).

מהי תיקייה לניהול אפליקציות?

תיקייה לניהול אפליקציות היא תיקייה בהיררכיית המשאבים של Google Cloud שהוגדרה במיוחד לניהול אפליקציות. התיקייה הזו משמשת כגבול לניהול האפליקציות שלכם, והיא כוללת פרויקט ניהול לאחסון המטא-נתונים וההגדרות של האפליקציה. אתם יכולים לתכנן, להגדיר, לבדוק, לאמת ולפרוס אפליקציות של App Hub בפרויקט אחד או בכמה פרויקטים בתיקייה.

תיקיות לניהול אפליקציות מייעלות את ניהול האפליקציות בדרכים הבאות:

  • ארגון רכיבים: הם מקבצים שירותים ועומסי עבודה קשורים, שמוגדרים ב-App Hub, לאפליקציה אחת.
  • ניהול ומעקב ריכוזיים: במקום לעקוב אחרי רכיבים נפרדים בפרויקטים או במוצרים שונים, אתם יכולים לעקוב אחרי התקינות והביצועים הכוללים של האפליקציות שלכם ולנהל אותם ברמת התיקייה.
  • לפשט את הניהול: כשמגדירים תיקייה כתיקייה עם אפליקציות, יוצרים גבול ברמת התיקייה שמפשט את היצירה והניהול של אפליקציות בארגון.
  • מספקים תצוגה שמתמקדת באפליקציה: במקום להתמקד במשאבים ספציפיים, הם מתמקדים באפליקציה עצמה ומספקים תצוגה הוליסטית של הביצועים שלה.

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

סקירה כללית של פרויקטים לניהול

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

פרויקט הניהול מכיל את מודל האפליקציה המלא, שכולל את הרכיבים הבאים:

  • נתוני App Hub: המודל הלוגי של האפליקציות, כולל הקשרים שלהן לשירותים ולעומסי עבודה, וגם מטא-נתונים כמו בעלים ורמת קריטיות.
  • נתונים מ-Application Design Center: משאבים כמו תבניות, קטלוגים ומרחבים שמשמשים לעיצוב ולפריסה של אפליקציות חדשות.

פרויקט הניהול יכול גם לגלות משאבים בהיררכיית המשאבים של תיקייה לניהול אפליקציות. אם פרויקט הניהול יימחק, כל נתוני המודל של האפליקציה הזו יאבדו לתמיד. למרות שהתשתית הבסיסית, כמו אשכולות GKE או מאזני עומסים, נשארת ללא שינוי, הקיבוץ הלוגי שלה ב-App Hub נמחק באופן סופי.

הגדרת תיקייה לניהול אפליקציות

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

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

נניח שיש היררכיית משאבים עם המבנה הבא:

תיקייה F1 מכילה את שלושת הפריטים הבאים:

  • פרויקטים P10 ו-P11
  • תיקייה F2

התיקייה F2 מכילה את שני הפריטים הבאים:

  • פרויקט P20 ו-P21

מפעילים את ניהול האפליקציות בתיקייה F1 כדי ליצור אפליקציה שכוללת משאבים מכמה רמות של תיקיות. לדוגמה, אפליקציה יכולה לכלול משאבים מפרויקטים P10 ו-P20.

אפליקציה עם הפרויקטים P10 ו-P20, שמשתרעת על פני רמות של תיקיות

אם מפעילים את ניהול האפליקציות רק בתיקייה F2, אי אפשר ליצור אפליקציות בפרויקט P10. כדי ליצור אפליקציות בפרויקט P10, מעבירים את הפרויקט P10 לתיקייה F2.

אפליקציה עם פרויקטים P10 ו-P20, אבל P10 הועבר לתיקייה F2

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

התפקידים הנדרשים

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

כדי לקבל את ההרשאות שדרושות להגדרת תיקייה עם אפליקציות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

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

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

הפעלת ניהול אפליקציות

ניהול אפליקציות מאפשר לכם להפסיק להתמקד ברכיבי תשתית ספציפיים ולהתחיל להתמקד באפליקציה כולה.

כשמפעילים ניהול אפליקציות בתיקייה, התיקייה נקראת תיקייה לניהול אפליקציות, והדברים הבאים קורים:

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

כדי להפעיל את ניהול האפליקציות בתיקייה:

המסוף

  1. בוחרים או יוצרים את Google Cloud התיקייה שרוצים להגדיר כתיקייה לניהול אפליקציות. כדי ליצור תיקייה חדשה, אפשר לעיין במאמר בנושא יצירת תיקיות.

  2. במסוף Google Cloud , פותחים את הדף Manage resources.

    כניסה לדף Manage resources

  3. ברשימת הפרויקטים והתיקיות, מאתרים את התיקייה שרוצים להגדיר.

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

  4. בשורת התיקייה, פותחים את התפריט Actions (פעולות) ולוחצים על Settings (הגדרות).

    אם ההגדרה 'ניהול אפליקציות' לא הופעלה בתיקייה, הערך לא הופעלה יוצג בהגדרה ניהול אפליקציות.

  5. באזור הפעלת ניהול אפליקציות, לוחצים על יצירת פרויקט.

    נפתחת החלונית Create management project and enable required APIs (יצירת פרויקט ניהול והפעלת ממשקי API נדרשים).

  6. בודקים את רשימת ממשקי ה-API הנדרשים. ממשקי ה-API האלה מנהלים את מחזור החיים של האפליקציה. בממשקי API שקשורים לעלויות, לוחצים על שם ה-API כדי לקבל מידע נוסף על התמחור.

  7. כדי להפעיל את ניהול האפליקציות, לוחצים על יצירת פרויקט והפעלת ממשקי API.

    המערכת יוצרת את פרויקט הניהול בתיקייה.

  8. רושמים את שם הפרויקט ואת מזהה הפרויקט של פרויקט הניהול. תשתמשו בערכים האלה כדי להעניק גישה.

    לחלופין, כדי לקבל את מזהה פרויקט הניהול, אפשר להשתמש בפקודה הבאה של Google Cloud CLI:

    gcloud resource-manager folders describe FOLDER_ID
        --format="value(managementProject.split('/').slice(-1))"
    

    מחליפים את FOLDER_ID במזהה של התיקייה שמופעלת בה האפליקציה.

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

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

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

  2. מוודאים שמותקנת הגרסה העדכנית של Google Cloud CLI:

    gcloud components update
    
  3. כדי להפעיל את ניהול האפליקציות בתיקייה ספציפית, משתמשים בפקודה gcloud resource-manager capabilities update עם הדגל --enable.

    gcloud resource-manager capabilities update folders/FOLDER_ID/capabilities/app-management \
       --enable
    

    מחליפים את FOLDER_ID במזהה התיקייה.

    הפקודה הזו מפעילה את יכולת ניהול האפליקציות בתיקייה שצוינה, ומקצה באופן אוטומטי פרויקט Google Cloud חדש בתיקייה הזו שישמש כפרויקט הניהול.

  4. אפשר גם להפעיל ממשקי API מומלצים בפרויקט הניהול. כדי לעשות זאת, פועלים לפי ההוראות להפעלת Google Cloud שירותים בפרויקט.

Terraform

כדי להפעיל ניהול אפליקציות בתיקייה באמצעות Terraform, משתמשים במשאב google_resource_manager_capability. לדוגמה:

resource "google_folder" "folder" {
  display_name     = "my-folder"
  parent           = "organizations/123456789"
  deletion_protection = false
}
resource "time_sleep" "wait_60s" {
  depends_on = [google_folder.folder]
  create_duration = "60s"
}
resource "google_resource_manager_capability" "capability" {
  value            = true
  parent           = "${google_folder.folder.name}"
  capability_name  = "app-management"
  depends_on = [time_sleep.wait_60s]
}

הפקודה הזו מפעילה את היכולת לנהל אפליקציות בתיקייה שצוינה, ומקצה אוטומטית פרויקט חדש של Google Cloud בתיקייה הזו שישמש כפרויקט הניהול. כדי להפעיל את רשימת ממשקי ה-API המומלצים בפרויקט הניהול, פועלים לפי ההוראות להפעלת שירות API בפרויקט ב- Google Cloud .

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

אופציונלי: קישור חשבון לחיוב לפרויקט הניהול

כדי להשתמש בתכונות מתקדמות של Google Cloud שמתמקדות באפליקציות, צריך לקשר חשבון פעיל לחיוב לפרויקט הניהול. לדוגמה, חשבון לחיוב מקושר עוזר לכם לבצע את הפעולות הבאות:

  • לנהל עומסי עבודה שחורגים ממכסות המשאבים של App Hub.
  • אפשר להשתמש ב-Application Design Center כדי ליצור תבניות ולפרוס אפליקציות.

סקירה כללית של העלויות הפוטנציאליות שקשורות לניהול אפליקציות ולממשקי ה-API המופעלים זמינה במאמר הסבר על עלויות.

כדי לקשר חשבון פעיל לחיוב לפרויקט הניהול:

המסוף

  1. מוודאים שקיים החשבון לחיוב שבו רוצים להשתמש לניהול האפליקציה. במאמר יצירת חשבון חדש לחיוב ב-Cloud בניהול עצמי מוסבר איך יוצרים חשבון לחיוב.

  2. פותחים את הדף Billing במסוף Google Cloud .

    לדף החיוב

  3. בכרטיסייה My projects, מאתרים את פרויקט הניהול.

  4. בשורת הפרויקט, פותחים את התפריט Actions, בוחרים באפשרות Change billing ואז בוחרים את החשבון לחיוב ב-Cloud.

מידע נוסף על הפעלת החיוב בפרויקט זמין במאמר הפעלת החיוב בפרויקט.

gcloud

gcloud billing projects link PROJECT_ID \
    --billing-account ACCOUNT_ID

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה פרויקט הניהול.
  • ‫ACCOUNT_ID: המזהה של החשבון לחיוב. מזהי החשבונות לחיוב הם בפורמט 0X0X0X-0X0X0X-0X0X0X.

בנוסף לממשקי ה-API שמופעלים אוטומטית בפרויקט הניהול, אתם יכולים להפעיל ממשקי API מומלצים כדי לתמוך ביצירת אפליקציות. כדאי לעיין בממשקי ה-API המומלצים כדי להבין את היתרונות שלהם ואת העלויות שמשויכות אליהם.

הקצאת תפקידים שמתמקדים באפליקציות למשתמשים

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

בטבלה הבאה מפורטות הנחיות כלליות ותפקידי IAM מומלצים להקצאת תחומי אחריות שונים למשתמשים באפליקציה, ברמת הפרויקט או התיקייה. הטבלה כוללת תפקידים לניהול אפליקציות באמצעות App Hub ו-App Design Center, וגם לצפייה בנתונים ב-Cloud Hub.

מידע נוסף על התפקידים האלה ועל תפקידים אחרים שספציפיים למוצרים זמין במסמכי התיעוד שלהם.

האחריות של המשתמשים תפקידי IAM איפה מקצים תפקידים
אדמינים של פלטפורמות

לבצע משימות של אדמין בפרויקט הניהול.

אדמין IAM בפרויקט (roles/resourcemanager.projectIamAdmin) פרויקט ניהול
מהנדסי פלטפורמה

ביצוע משימות אדמין ב-App Hub וב-App Design Center.

  • אדמין של App Hub (roles/apphub.admin)
  • אדמין של App Design Center (roles/designcenter.admin)
פרויקט ניהול
מפתחי אפליקציות

לפתח אפליקציות.

  • עריכה ב-App Hub (roles/apphub.editor)
  • משתמש ב-App Design Center (roles/designcenter.user)
פרויקט ניהול
מהנדסי SRE, מפעילים ומשתמשי Cloud Hub

הצגת נתונים ברמת האפליקציה וברמת הפרויקט ב-Cloud Hub.

Cloud Hub Operator (roles/cloudhub.operator) תיקייה לניהול אפליקציות

הגדרת היקף הניראות

היקף הניראות קובע איפה מסוף Google Cloud מחפש נתוני טלמטריה כדי להציג אותם. לכל פרויקט Google Cloud יש היקף נראות יחיד שמזהה את היקפי ברירת המחדל של היומנים והמעקב. בנתוני מדדים, היקף המדדים בפרויקט קובע איפהGoogle Cloud המסוף מחפש נתונים.

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

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

רכיב היקף תרחיש הגדרה פעולות מרכזיות ודברים שחשוב לדעת
אוסף תצוגות יומן (log scope) אתם משתמשים ב- aggregated sink כדי לנתב את כל היומנים בארגון לדלי יומנים מרכזי.
  1. יוצרים תצוגת יומן שכוללת רק יומני אפליקציות שמאוחסנים בקטגוריה.
  2. מגדירים את אוסף תצוגות היומן (log scope) שמוגדר כברירת מחדל בפרויקט הניהול כך שיכלול את תצוגת היומן.
אין לכם מאגר נתונים משולב ברמת הארגון, ולתיקייה לניהול אפליקציות אין תיקיות משנה.
  1. מגדירים אובייקט sink מצטבר כדי לנתב יומנים של אפליקציות אל דלי היומנים [_Default] של פרויקט הניהול.
  2. מוודאים שאוסף תצוגות היומן (log scope) שנקרא _Default הוא היקף היומן שמוגדר כברירת מחדל.
אתם לא רוצים להשתמש במאגר נתונים מאוחד. מגדירים את אוסף תצוגות היומן (log scope) שמוגדר כברירת מחדל בפרויקט הניהול כדי להציג את מיקומי האחסון של נתוני היומן של האפליקציה.
היקף המדדים בפרויקט הגדרתם תיקייה לניהול אפליקציות שכוללת את כל הפרויקטים שבהם מאוחסנים נתוני המדדים שאתם רוצים לראות. ב-Google Cloud Observability מתבצע ניסיון לסנכרן את רשימת הפרויקטים בתיקייה לניהול אפליקציות עם רשימת הפרויקטים בהיקף המדדים.

כל עוד מספר הפרויקטים בתיקייה לניהול אפליקציות לא חורג מהמכסה של היקף המדדים בפרויקט, Google Cloud Observability יכול לעדכן את רשימת הפרויקטים בהיקף המדדים בפרויקט כשמוסיפים או מסירים פרויקטים בתיקייה לניהול אפליקציות.
היקף המעקב אתם רוצים לעקוב אחרי נתוני Trace של אפליקציות בכמה פרויקטים.
  1. בפרויקט הניהול, יוצרים היקף מעקב בהתאמה אישית שמפרט את הפרויקטים שבהם מאוחסנים נתוני המעקב של האפליקציה.
  2. הגדרת היקף המעקב המותאם אישית כהיקף המעקב שמוגדר כברירת מחדל.

השבתת ניהול האפליקציות

אם אתם לא רוצים שתיקייה Google Cloud מסוימת תהיה תיקייה לניהול אפליקציות, אתם יכולים להשבית את ניהול האפליקציות באמצעות השלבים הבאים:

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

  2. בוחרים את התיקייה Google Cloud שבה רוצים להשבית את ניהול האפליקציות.

  3. במסוף Google Cloud , פותחים את הדף Manage resources.

    כניסה לדף Manage resources

  4. ברשימת הפרויקטים והתיקיות, מאתרים את התיקייה שמופעלת בה האפליקציה.

  5. בשורה של התיקייה, פותחים את התפריט פעולות ולוחצים על הגדרות.

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

  6. לוחצים על השבתה כדי להשבית את ניהול האפליקציות בתיקייה.

  7. בתיבת הדו-שיח לאישור, כותבים Disable בשדה השבתה.

  8. אם אתם מוכנים להשבית את ניהול האפליקציות, לוחצים על השבתה.

המערכת מוחקת את פרויקט הניהול בתיקייה. גם מודל האפליקציה כולו נמחק, כולל ממשקי ה-API ובקרות הגישה.

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