עיצוב תבניות מורכבות

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

אפשר גם ליצור תבניות מורכבות כדי ליצור מודלים של יחידות פריסה וחבילות שלהן עבור מוצר SaaS שפורסים באמצעות App Lifecycle Manager. מידע נוסף זמין במאמר יחידות פריסה של מודלים וחבילות.

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

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

במאמר הזה נסביר איך לעצב, לאמת ולשתף תבנית מורכבת.

לפני שמתחילים

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

משימה התפקידים הנדרשים
יצירה, עיצוב ועריכה של תבניות מורכבות אדמין של Application Design Center‏ (roles/designcenter.admin) או משתמש של Application Design Center‏ (roles/designcenter.user)
פרסום או שיתוף של תבניות מורכבות בקטלוג אדמין של Application Design Center (roles/designcenter.admin)

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

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

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

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

ציון פרטי התבנית

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

כדי להזין פרטים לתבנית:

קנבס העיצוב

  1. בתפריט הניווט, לוחצים על תבניות.

    אל "תבניות"

  2. ברשימה Create Template (יצירת תבנית), בוחרים באפשרות Composite template (תבנית מורכבת).

  3. השדה מזהה התבנית מאוכלס באופן אוטומטי. אפשרות אחרת היא להזין מזהה ייחודי לתבנית. חובה למלא את השדה הזה.

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

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

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

  6. לוחצים על יצירת תבנית. יוצג אזור העריכה.

‫CLI של gcloud

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

gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--display-name=DISPLAY_NAME \
--description=DESCRIPTION \
--composition-type=COMPOSITE

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

  • APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שרוצים ליצור.
  • PROJECT: מזהה פרויקט הניהול.
  • LOCATION: האזור של תבנית האפליקציה.
  • SPACE: מזהה המרחב.
  • DISPLAY_NAME: שם שיוצג במסוף Google Cloud .
  • DESCRIPTION: תיאור קצר.

מידע נוסף זמין במאמר gcloud design-center spaces application-templates create.

עיצוב התבנית

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

במהלך עיצוב התבנית, App Design Center יוצר קוד Terraform שמשקף את פרטי העיצוב וההגדרה.

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

קנבס העיצוב

  1. בשטח העיצוב, לוחצים על עיצוב כדי לראות את השטח.

  2. כדי להתחיל, מבצעים אחת מהפעולות הבאות:

    • כדי להתחיל מתבנית שסופקה על ידי Google, לוחצים על שם התבנית באזור Get Started (תחילת העבודה) ב-Canvas.

    • כדי להתחיל מבד ריק, ממשיכים לשלב הבא.

  3. כדי להוסיף תבנית אפליקציה רגילה לאזור העריכה:

    1. באזור רכיבים, לוחצים על הטמעת תבניות.

    2. כדי להוסיף תבנית קיימת, לוחצים על תבנית באחת מהרשימות הבאות:

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

  4. כדי ליצור תבנית חדשה של אפליקציה רגילה, לוחצים על יצירת תבנית חדשה. ייפתח הדף Create new template.

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

  5. כדי להוסיף רכיב לאזור העריכה, לוחצים על רכיב באזור רכיבים.

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

    • גוררים מנקודה כחולה באבן בניין אחת לנקודה כחולה באבן בניין אחרת.

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

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

  7. כדי להסיר אבן בניין או חיבור:

    1. באזור העריכה, לוחצים על אבן הבניין או על החיבור.

    2. באזור הגדרה, לוחצים על מחיקה.

    3. בשדה, מזינים delete.

    4. לוחצים על Delete.

‫CLI של gcloud

  1. מזהים את כתובות ה-URI של גרסאות התבניות של אבני הבניין בקטלוג של המרחב.

    gcloud design-center spaces shared-templates list \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE
    

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

    • PROJECT: מזהה פרויקט הניהול.
    • LOCATION: האזור של תבנית האפליקציה.
    • SPACE: מזהה המרחב.

    מידע נוסף זמין במאמר gcloud design-center spaces shared-templates list.

  2. מזהים את כתובות ה-URI של גרסאות התבניות של אבני הבניין של קטלוג Google שרוצים להוסיף לתבנית.

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    

    מידע נוסף זמין במאמר gcloud design-center spaces shared-templates list.

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

    gcloud design-center spaces application-templates components create COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI
    

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

    • COMPONENT: המזהה של תבנית או רכיב אפליקציה סטנדרטיים שרוצים להוסיף לתבנית.
    • PROJECT: מזהה פרויקט הניהול.
    • LOCATION: האזור של תבנית האפליקציה.
    • SPACE: מזהה המרחב.
    • APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה המורכבת שבה מוסיפים את תבנית האפליקציה או הרכיב הרגילים.
    • SHARED_TEMPLATE_URI: ה-URI של תבנית האפליקציה הרגילה או של תבנית הרכיב המשותפת. לדוגמה, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components create.

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

    gcloud design-center spaces application-templates components create COMPONENT_2 \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI_2
    

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

    • COMPONENT_2: המזהה של תבנית או רכיב שניים של אפליקציה רגילה שרוצים להוסיף לתבנית.
    • PROJECT: מזהה פרויקט הניהול.
    • LOCATION: האזור של תבנית האפליקציה.
    • SPACE: מזהה המרחב.
    • APPLICATION_TEMPLATE: מזהה התבנית של התבנית המורכבת שאליה מוסיפים את תבנית האפליקציה או הרכיב הרגילים.
    • SHARED_TEMPLATE_URI_2: ה-URI של תבנית או רכיב משותפים של תבנית אפליקציה רגילה שנייה. לדוגמה, projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components create.

  5. ליצור חיבור בין תבניות או רכיבים סטנדרטיים של אפליקציות.

    gcloud design-center spaces application-templates components connections create CONNECTION \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --component=COMPONENT \
    --destination-component-uri=COMPONENT_2
    

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

    • CONNECTION: מזהה החיבור של החיבור שרוצים להוסיף לתבנית.
    • PROJECT: מזהה פרויקט הניהול.
    • LOCATION: האזור של תבנית האפליקציה.
    • SPACE: מזהה המרחב.
    • APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שבה מוסיפים את החיבור.
    • COMPONENT: מזהה תבנית או רכיב של אפליקציה סטנדרטית של המקור.
    • COMPONENT_2: מזהה היעד של תבנית האפליקציה הרגילה או הרכיב.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components connections create.

הגדרת ערכי ברירת מחדל לרכיבים

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

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

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

כדי להגדיר רכיבים וחיבורים:

קנבס העיצוב

  1. באזור העיצוב, לוחצים על רכיב.

  2. באזור Configuration, ברשימה מזהה פרויקט, בוחרים את הפרויקט שבו רוצים לפרוס את המשאב. בוחרים פרויקט שעומד בדרישות הבאות:

  3. קובעים הגדרות נוספות למשאב. לדוגמה, ב-Cloud SQL, אפשר להגדיר את הדברים הבאים:

    • אזור
    • הגדרת הגיבוי
    • דגלים של מסדי נתונים
    • תצורת IP

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

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

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

    2. מבצעים אחת מהפעולות הבאות:

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

      • כדי להוסיף פרמטר חיבור חדש, לוחצים על הוספת פרמטר.

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

      • השמות של מפתחות משתני הסביבה צריכים להתאים לדרישות של האפליקציה.
      • ערך יציאת החיבור.
      • התפקידים שנוספו לחשבון השירות.
  5. לוחצים על Save.

‫CLI של gcloud

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

    gcloud design-center spaces application-templates components describe COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE
    

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

    • COMPONENT: מזהה הרכיב של הרכיב שרוצים לתאר.
    • PROJECT: מזהה פרויקט הניהול.
    • LOCATION: האזור של תבנית האפליקציה.
    • SPACE: מזהה המרחב.
    • APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components describe.

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

    לדוגמה, אפשר ליצור את הקובץ הבא לרכיב Cloud Run:

      [
          {
            "key": "service_name",
            "value": "frontend-service"
          },
          {
            "key": "project_id",
            "value": "DEPLOYMENT_PROJECT"
          }
      ]
    
  3. מעדכנים כל רכיב בתבנית האפליקציה כדי להגדיר את הפרמטרים הנדרשים.

    gcloud design-center spaces application-templates components update COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --parameters=PARAMETERS_FILE_PATH \
    --application-template=APPLICATION_TEMPLATE
    

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

    • COMPONENT: מזהה הרכיב שרוצים לעדכן.
    • PROJECT: מזהה פרויקט הניהול.
    • LOCATION: האזור של תבנית האפליקציה.
    • SPACE: מזהה המרחב.
    • PARAMETERS_FILE_PATH: קובץ JSON שכולל פרמטרים של רכיבים.
    • APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components update.

  4. מתארים את החיבורים בין הרכיבים.

    gcloud design-center spaces application-templates components connections describe CONNECTION \
    --component=COMPONENT \
    --application-template=APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE
    

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

    • CONNECTION: מזהה החיבור.
    • COMPONENT: מזהה הרכיב.
    • APPLICATION_TEMPLATE: מזהה התבנית.
    • PROJECT: מזהה פרויקט הניהול.
    • LOCATION: האזור של תבנית האפליקציה.
    • SPACE: מזהה המרחב.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components connections describe.

  5. עורכים את פרמטרי החיבור של הרכיב.

    gcloud design-center spaces application-templates components connections update CONNECTION \
    --component=COMPONENT \
    --application-template=APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --source-component-parameters='[{"key": SOURCE_KEY, "value": SOURCE_VALUE}]'
    

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

    • CONNECTION: מזהה החיבור.
    • COMPONENT: מזהה הרכיב.
    • APPLICATION_TEMPLATE: מזהה התבנית.
    • PROJECT: מזהה פרויקט הניהול.
    • LOCATION: האזור של תבנית האפליקציה.
    • SPACE: מזהה המרחב.
    • SOURCE_KEY: מפתח הפרמטר החדש.
    • SOURCE_VALUE: ערך הפרמטר החדש.

    מידע נוסף זמין במאמר gcloud design-center spaces application-templates components connections update.

הגדרת תבניות סטנדרטיות של אפליקציות

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

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

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

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

קנבס העיצוב

  1. באזור העיצוב, לוחצים על תבנית של אפליקציה רגילה.

    החלונית Embedded Template (תבנית מוטמעת) תיפתח.

  2. באזור Configuration, מזינים את פרטי האפליקציה.

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

‫CLI של gcloud

מידע נוסף מופיע במאמר בנושא עיצוב התבנית.

אימות התבנית

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

כדי לאמת את התבנית:

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

    נפתחת החלונית Create an application.

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

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

  3. לוחצים על הבא.

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

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

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

  6. כדי להימנע מעלויות חוזרות, צריך למחוק את פריסת הבדיקה.

יצירת פריסה בהיקף גדול

כדי לפרוס ולנהל כמה מופעים של התבנית המורכבת, משתמשים ב-App Lifecycle Manager.

  1. מאמתים את התבנית ב-App Design Center.

  2. באזור העיצוב, לוחצים על המשך ובוחרים באפשרות פריסה בהיקף נרחב באמצעות App Lifecycle Manager.

    ייפתח הדף יחידות של App Lifecycle Manager.

  3. הוראות לפריסה מפורטות במאמר פריסת פתרון SaaS.

שיתוף התבנית

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

כדי לשתף את התבנית:

  1. באזור העיצוב, לוחצים על הוספה לקטלוג.

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

תיקון ושיתוף מחדש של התבנית

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

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

התבניות לא מתפרסמות אוטומטית בקטלוגים ב-App Design Center. כדי לשתף את הגרסה האחרונה, מפרסמים שוב את התבנית בקטלוג.

כדי ליצור גרסה חדשה:

  1. בתפריט הניווט, לוחצים על תבניות.

    אל "תבניות"

  2. בוחרים את תבנית האפליקציה שרוצים לשנות. אזור העריכה ייפתח.

  3. משנים את התבנית בהתאם לדרישות החדשות. לדוגמה, להוסיף ולהגדיר רכיב חדש.

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

מחיקת תבנית

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

קנבס העיצוב

  1. באזור העיצוב, לוחצים על פעולות.
  2. לוחצים על Delete.

‫CLI של gcloud

מחיקה של תבנית אפליקציה.

```sh
gcloud design-center spaces application-templates delete APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE
```

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

  • APPLICATION_TEMPLATE: מזהה התבנית של תבנית האפליקציה שרוצים למחוק.
  • PROJECT: מזהה פרויקט הניהול.
  • LOCATION: האזור של תבנית האפליקציה.
  • SPACE: מזהה המרחב.

מידע נוסף זמין במאמר gcloud design-center spaces application-templates delete.

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