תפישת Platform Engineering אמנם נולדה לפני כמה שנים, אבל לאחרונה היא הופכת להיות פופולרית מאוד בעולם הפיתוח. הסיבה לכך היא שהשוק התחרותי מאלץ ארגונים להגיב מהר לשינויים, בזמן שרבים מצוותי הפיתוח וה-DevOps עדיין מתמודדים עם תהליכים מורכבים ותשתיות מיושנות. כל אלה הופכים את גישת העבודה הזאת לקריטית מאי פעם, בעיקר בזכות היכולת שלה לפשט תהליכי עבודה.
אבל רגע, מה זה Platform Engineering? אנחנו בעצם מדברים על תחום חדשני שמיועד לבניית Internal Developer Platforms (IDP) – פלטפורמות פנימיות שמספקות לצוותי הפיתוח את כל הכלים והתשתיות הדרושים לביצוע משימות בצורה עצמאית, ללא תלות בצוותי IT ו-DevOps. המטרה היא לאפשר למפתחות ומפתחים להתמקד בכתיבת קוד וביצירת מוצרים דיגיטליים, במקום שיבזבזו זמן על ניהול תשתיות מורכבות תוך שימוש בכלי תוכנה רבים, שחלקם דורשים הרשאות מיוחדות.
השימוש ב-IDP מבוסס על תפיסה של Golden Paths – תהליכים ברורים ומוגדרים היטב, המאפשרים לצוותי הפיתוח לעבוד בצורה מסודרת ויעילה יותר. מסלולי העבודה האלו מציעים מסגרות עבודה מובנות שמצמצמות את הצורך בתהליכי ניהול ידניים של תשתיות, ומקטינות את העומס על צוותי ה-DevOps, תוך שיפור זרימת העבודה וקיצור הדרך להשגת יעדים.
אחד היתרונות המרכזיים של IDP הוא שהן מקצרות את זמן הפיתוח ומאיצות את השקת המוצרים והשירותים. פלטפורמות אלה מאפשרות לצוותי הפיתוח לנהל תהליכי עבודה מורכבים בצורה עצמאית, מקצרות את ה-Time to Market בכ-30% ומאפשרות לארגונים להגיב מהר יותר לשינויים בשוק ולחדשנות טכנולוגית. על פי דוח של גרטנר, 68% מהארגונים שהטמיעו פלטפורמות IDP במהלך 2023 דיווחו על עלייה משמעותית בקצב הפיתוח, ו-53% מהם דיווחו על שיפור כולל בזמני השקת המוצרים לאורך זמן.
אז מה צריך לדעת לפני שמתחילים לעבוד בשיטת Platform Engineering, כיצד נראה תהליך העבודה בשיטה זאת ואילו כלים כדאי לאמץ? הנה כל מה שצריך לדעת על הטמעת השיטה בארגונים, כפי שהצגנו בכנס Nimbus by Bynet.
בניית IDP דורשת תכנון מדויק ומעמיק, בהתאם לצרכים הייחודיים של כל ארגון. אין פה זבנג וגמרנו, וכדאי שתהיו ערוכים לתהליך מתמשך של מודרניזציה ואוטומציה. ברוב המקרים, פלטפורמות אלו מבוססות על ארכיטקטורה של פלטפורמות מוכרות, כגון AWS או GCP, תוך התאמה אישית לכלים המיוחדים של הארגון.
פלטפורמת IDP מורכבת מחמישה מודולים עיקריים, שכל אחד מהם ממלא תפקיד קריטי בתהליך הפיתוח:
הרבה מהכלים המשמשים ליצירת פלטפורמות IDP מבוססים על פתרונות open-source, ומעניקים לארגונים גמישות והתאמה מלאה לצרכים הייחודיים שלהם. כדי לספק תמיכה מקצועית לכלים אלו, ניתן להיעזר לדוגמה ב-Hossted – פלטפורמה לניהול מוצרי קוד פתוח המספקת שירותי תמיכה לכלים מבוססי קוד פתוח. הפלטפורמה מציעה תמיכה מקצועית ומסייעת לארגונים להפיק את המרב מהטכנולוגיות הפתוחות הללו, תוך ניהול ותמיכה לאורך כל מחזור החיים של המוצרים.
אחרי שהבנו איך נראה תהליך הבנייה של פלטפורמת IDP בתיאוריה, נדגים אותו על פרויקט Platform Engineering שביצענו אצל אחד הלקוחות שלנו – ארגון טכנולוגי גדול המנהל את תשתיות הפיתוח שלו בתהליכים מיושנים. הארגון התמודד עם תהליכי פיתוח איטיים, תלות בצוותי DevOps והעדר כלים טכנולוגיים מתקדמים לניהול הפיתוח. הנה מה שעשינו:
שלב 1: מיפוי פערים
בשלב הראשון של הפרויקט, ביצענו מיפוי מקיף של הפערים בתשתיות הפיתוח של הארגון. גילינו שהארגון מנהל תהליכי CI/CD לא יעילים, מתמודד עם תלות גבוהה בצוותי DevOps ומשתמש בכלים טכנולוגיים מיושנים לניהול, ניטור ואבטחת המידע. תהליכי האוטומציה לא היו יעילים, והיה צורך בתכנון מחדש של תהליכי העבודה כדי לשפר את זרימת הפיתוח והאינטגרציה עם כלים טכנולוגיים מתקדמים.
שלב 2: אפיון הצרכים
אחרי שהבנו שהארגון זקוק לפלטפורמת IDP, הגדרנו לה צרכים מדויקים: תשתיות CI/CD, ניטור וביצועי תשתיות מבוססות Kubernetes.
שלב 3: תכנון הפלטפורמה
הפלטפורמה החדשה שבנינו כוללת כלים כגון GitLab לניהול CI/CD, שימוש ב-JFrog לניהול ארטיפקטים, RabbitMQ לאינטגרציה בין רכיבי המערכת, Grafana לניטור תהליכים, Couchbase כמסד נתונים מבוזר ו-Traefik כ-reverse proxy לניהול תעבורת רשת. בנוסף, הטמענו פתרונות אבטחה מתקדמים כגון Synopsys.
תכנון של IDP בגישת Platform Engineering מחייב הבנת מוקדמת של צרכי הארגון. שבו עם צוותי הפיתוח ונסו להבין היכן הם נתקעים, אילו תהליכים מסרבלים את העבודה שלהם, אילו אוטומציות יכולות לסייע להם ואילו כלים ניתן להוסיף לארגז שלהם. הרעיון הוא שמאחורי הקלעים גלגלי השיניים יסתובבו בצורה חלקה, ויפשטו את עבודת הפיתוח בשקט ומבלי להפריע. כך תוכלו להוריד את התלות בצוותי DevOps, לשפר את האוטומציה בתהליכים ולהטמיע פתרונות מתקדמים לניהול תשתיות. בשורה התחתונה, צוותי הפיתוח שלכם יעבדו בצורה הרבה יותר יעילה, וגם יהיו פנויים לפתור בעיות מורכבות ולמצוא להן פתרונות יצירתיים.