alt

RESOURCES

Atlassian Compass: הפורטל האולטימטיבי לניהול חכם של ה-DevEx בארגון שלכם.

Atlassian Team, matrix DevOps

July 16, 2024

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

מהו קומפס?

קומפס הוא פורטל למפתחים המספק ייצוג אחיד של כל תהליכי הפיתוח, הבנייה והפריסה בארגון, בזמן אמת ובמקום אחד. קומפס מסייע לעקוב אחר התוצרים שצוותי הפיתוח בונים – תוצרים ושירותים אלו נקראים רכיבים (Components). קומפס משלים באופן טבעי את ג’ירה, שעוקבת אחר מאמצי הצוותים בבניית רכיבים אלו ומספק ערך מוסף עצום בארגונים המנהלים microservices.

מהם המרכיבים המרכזיים של קומפס?

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

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


למי מתאים הקומפס
?

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


מהי ארכיטקטורה מבוזרת?

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

  • 1. עבודה בארכיטקטורה מבוזרת מגבירה עמידות מפני תקלות הטמעה ביצור בעזרת היכולת לבצע הטמעות קצרות ומהירות בשירות ספציפי
  • 2. כל שירות מנוהל על ידי צוותים קטנים המתמחים בתחומם. הם עובדים על בסיס קוד עצמאי ונגיש, מה שמאפשר להרחיב את הפונקציונליות של התוכנה בקלות
  • 3. כל שירות מספק פונקציונליות נפרדת ומלאה. ניתן להרחיב את יכולות התוכנה על ידי הוספת שירותים לארכיטקטורת המוצר.
  • 4. כאשר שירות מגיע לקיבולת העומס המקסימלית שלו, ניתן לפרוס מופעים (Instances) נוספים של אותו שירות, ובכך לאפשר הגדלה אופקית של השירות.
  • 5. פריסות קטנות תכופות לשירותים בודדים עוזרות להשיג תדירות פריסה גבוהה יותר.
  • 6. הפרדה פונקציונלית מפחיתה את הסיכון לשינויים משבשים שמשפיעים על המערכת כולה. היא מאפשרת לבודד ולתקן תקלות ובאגים בשירותים בודדים. ניתן לפרוס שינויים רק לשירות מסוים מבלי להשבית את כל המערכת, ובכך להבטיח אמינות גבוהה יותר.
  • 7. עבור כל רכיב ניתן לבחור את הטכנולוגיה המתאימה ביותר לצרכים הפונקציונליים הספציפיים, מה שמקנה גמישות רבה יותר

 

אתגרים בניהול ארכיטקטורה מבוזרת:

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

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

מה זה היפר ביזור?

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

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

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


בנוסף, ארכיטקטים שואלים את השאלות הבאות:

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

כיצד קומפס עוזר לנהל פיתוח מבוזר?

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

כך מתחילים לנהל את הפיזור עם קומפס:

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

אם יש לכם שאלות או אתם מעוניינים לקבוע פגישה ולהתרשם מקומפס בפעולה, אנחנו כאן כדי לעזור: devops@matrix.com