פריסת פלטפורמה למפתחים בארגונים ב-Google Cloud

Last reviewed 2024-12-13 UTC

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

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

  • מאגר ב-GitHub שמכיל קבוצה של תצורות וסקריפטים של Terraform. התצורה של Terraform מגדירה פלטפורמה למפתחים ב- Google Cloud שתומכת במספר צוותי פיתוח.
  • מדריך לארכיטקטורה, לעיצוב, לאמצעי האבטחה ולתהליכי התפעול שמשמשים להטמעה של התוכנית הזו (המסמך הזה).

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

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

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

סקירה כללית על שרטוט של אפליקציה ארגונית

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

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

התוכנית הזו מאפשרת לארגונים לספק גישה לפלטפורמה לצוותים שונים לפיתוח אפליקציות (שנקראים דיירים). דייר הוא קבוצה של משתמשים עם בעלות משותפת על קבוצת משאבים. לדייר יש בבעלותו אפליקציה אחת או יותר שפועלות בפלטפורמה כשירות מבוססת-קונטיינר. אפליקציה בפלטפורמת הפיתוח היא חבילה של קוד מקור והגדרות. כל אפליקציה נבנית ונפרסת על ידי צינור CI/CD ייעודי. דיירים ואפליקציות מבודדים זה מזה בזמן הריצה ובצינורות העיבוד של CI/CD. חלקים בתוכנית האב שמספקים אוטומציה משמשים את כל הדיירים, והם נקראים multi-tenant.

כדי להמחיש את אופן השימוש בפלטפורמת המפתחים, התוכנית כוללת אפליקציה לדוגמה בשם Cymbal Bank. Cymbal Bank היא אפליקציית מיקרו-שירותים (microservices) שמיועדת להרצה ב-GKE. האפליקציה נועדה לדמות אפליקציה עם זמינות גבוהה שפרוסה בהגדרה פעילה-פעילה כדי לאפשר תוכנית התאוששות מאסון (DR). ב-Cymbal Bank מניחים שהאפליקציה פותחה והופעלה על ידי כמה צוותים עצמאיים של מפתחים.

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