DevOps – מה זה ומי צריך את זה?
מאת: סנדרין קאלק, מנהלת תחום DevOps CI/CD בחטיבת V-Ness, נס טכולוגיות
בעת האחרונה המונח DevOps מוזכר יותר ויותר כאשר ארגונים מדברים על שיפור תהליכי הפיתוח והעבודה שלהם. מדובר בקונספט שתופס תאוצה בעולם התוכנה. פרדיגמה, תפיסה, גישת עבודה, שמטרתה לקרב את הפיתוח בארגונים לאופרציה ומכאן השם DevOps = Developments + Operations.
ה-DevOps הוא חלק חשוב במתודולוגיית Agile – שיטת פיתוח מואץ שמאפשרת תהליכים מהירים ברי שינוי המקנים יתרון משמעותי בתחרות הלקוח, עם יכולת לשינויים בדרישות על פי דחיפות בזמן הפיתוח ואינטגרציות מהירות ותמידיות על כל שינוי. המטרה המרכזית היא אספקה של תוכנה עובדת באופן תדיר, ממספר שבועות עד למספר חודשים, עם שאיפה ללוחות זמנים קצרים. כדי לממש את השינויים בקצב תדיר, תוך שמירה על שלמות המוצר בכל רגע, פותחו שיטות עבודה וכלים חדשניים שתומכים בתהליכי Continues Integration .
Continues Integration – אינטגרציה מתמשכת ורציפה היא שיטת עבודה שמאפשרת לבצע בדיקות על כל שינוי קוד (מימוש דרישה – User Story), שעבר תהליך של Commit לענף האינטגרציה. הרעיון הוא לבצע בדיקות יחידה (Unit Test), קומפילציה, בדיקות אוטומטיות ובדיקות סטאטיות בכל שינוי קוד בכדי לשמור על שלמות המוצר ואיכות המוצר.
במסגרת אותה מתודולוגיה נכללת גם שיטת Continues Delivery – אספקה רציפה שמרחיבה את תהליך ה-CI בכך שהיא מוודאת שהתוכנה או המוצר תמיד נמצא מוכן במאגר לפריסה, מה שהופך את התהליך למהיר יותר. לאחר שהמוצר מוכן לפריסה צריכים אנשי האופרציה לפרוס אותו בסביבת הייצור. נהוג בדרך כלל לפרוס טרם העברה לייצור בסביבת טרום ייצור (Pre-Production).
בשוק התחרותי נאלצות חברות רבות לספק גרסאות מוצר ללקוח בתדירות גבוה, כמו בשירותי ענן, שבהם צריך לשחרר גרסאות מהירות ולפרוס אותן בשרתי ענן בכדי לגשר על הצורך. גישת העבודה DevOps מאפשרת פריסה מהירה ואוטומטית של התוכנה, הן בשרתים ייעודיים אצל הלקוח והן בענן, תוך שמירה מתמדת על יציבות המוצר, שכן יציבות זו דורשת ניטור עומסים, תקלות, תעבורת מידע, זמינות, אמינות ושרידות המערכות וכמובן, שמירה על המשכיות. שיטה זו מגשרת בין עולם הפיתוח לייצור ומשמשת נדבך חשוב בתהליכים המואצים ובצרכי השוק.
מתודולוגיית ה-DevOps באה בהלימה עם מתודולוגיית ה-Agile, שכן המטרה המרכזית היא קיצור תהליכים ידניים בדרך לפריסת המוצר בסביבת הייצור על ידי כלים, שיטות ותהליכים אוטומטיים, תוך שמירה על שלמות המוצר, עם אפשרות הוספת דרישות חדשות או שינויי דרישות קיימות המגיעות מהלקוח באמצע תהליך הגרסה. חברות שהטמיעו את תרבות ה-DevOps עם מתודולוגיית Agile יכולות להעיד שכמות הבאגים בסוף הגרסה כמעט אפסית והמוצרים באיכות גבוהה ומנוטרים, שכן כל התהליכים בחיי המוצר "דואגים" לכך שכל שינוי – הן ברמה הפונקציונאלית והן ברמה האינטגראלית – נבדק באופן תדיר ובמנות קטנות באופן שוטף ולכן אין מקום להפתעות.
היתרונות למעבר לשיטת DevOps רבים, אך אין ספק שהמעבר מצריך שינוי תפיסתי ממשי של האנשים בארגון בראש ובראשונה, ולאחריו ביצוע שינויים טכנולוגיים ואוטומטיים, עם יצירת סינרגיה מלאה בין אנשי הפיתוח לאנשי האופרציה (ייצור). רק כך ניתן להצלחה בהשלמת התהליך ובהשגת היעדים המצופים.
ולסיכום : DevOps = ACT = (A)utomation, (C)ulture and (T)ools
הכותבת הינה מנהלת תחום DevOps ומובילת פעילות הייעוץ של נס טכנולוגיות בתחום זה.