היי לכולם. כמו שהבטחתי במאמר הקודם, היום נעסוק ב-CAMS model.
המודל מתעסק בדברים שכדאי להתעמק בהם כדי לפתח תרבות DevOps-ית בצורה מעשית והם:
- תרבות
- אוטומציה
- מדידות
- שיתוף
איך מפתחים תרבות?
ראשית, אנשי ה DevOps צריכים לפתח אחריות אצל המפתחים – אם כתבת משהו, תהיה אחראי עליו בצורה מקיפה. you write it you own it
שנית, רצוי לא לסחוב יותר מדי “חובות טכנולוגיים” – אם נתקלנו בבעיה ופתרנו אותה בדרך עקומה , צריך לבדוק שאנחנו זוכרים את זה ומתכננים לתקן בקרוב. דברים כאלה מתווספים ובסוף זה עלול לקחת הרבה יותר זמן. השאיפה היא לצמצם במידת האפשר מקרים כאלו.
בנוסף, כדאי להכניס ערבים של “משחקים עם המערכות” בלו”ז– כמו ב amazon, google…. לאתגר את המערכות שלנו כדי שזמן ההתאוששות בעת תקלה יהיה כמה שיותר מהיר.
רצוי גם:
להבין איך הארגון בנוי ולחשוב אם אפשר לשפר אותו.
לנקוט בגישה אג’ילית* של שיפור מתמיד, תכנון עבודה נכון וכו׳.
ובגדול להשקיע הרבה במחשבה על מה תהיה התרבות הכי טובה בשביל הארגון הספציפי שאנו עובדים בו.
אוטומציה – Automation
Why automate?
מקודם הסברנו שאנחנו רוצים להתקדם מהר, ולהתעסק כמה שפחות בדברים מעכבים שאפשר לפתור אותם בצורה אוטומטית. האוטומציה היא כלי להגברת המהירות.
אם לא נעשה אוטומציות, החברה תיאלץ לשכור הרבה יותר אנשים וזה מאוד יקר. בנוסף, זה יכול ליצור בעיות בתקשורת. אנשים עושים טעויות כי הם אנושיים ואנשים טועים – לכן זה עלול לעכב ולפגוע באיכות ובמהירות. התערבות של אוטומציה יכולה לפתור לנו הרבה בעיות כאלה. אולי זה ייקח הרבה זמן ליצור את האוטומציה אבל מהרגע שנתחיל להשתמש בה זה יחסוך לנו זמן יקר.
כשמשתמשים באוטומציה אנחנו מקבלים תוצאות מהירות ועקביות יותר.
מדידות – Measurement
Why measurement?
כדי שנדע שאנחנו מתקדמים, משתפרים.
חשוב שנדע איפה יש עומסים ונוכל לזהות אותם מראש. ניטור זה קריטי, כדי שנוכל לדעת בוודאות ממה נגרמת הבעיה ומתי זה קרה.
אפשר למדוד זמן תגובה, ניצול משאבים, כמה משתמשים חזרו לאתר היום, כמה קניות בוצעו, כמה אנשים חזרו למערכת שלנו וכו’.
המטרה היא לזהות אנומליות(סטייה מהנורמה). גם כשלא יודעים מה הנורמה, ניטור יכול לעזור לנו להבין את זה
שיתוף – Sharing
יש כמה מרכיבים שביחד יוצרים שיתופיות טובה:
Visibility:
להסביר מה עשינו. זה סובב סביב דברים שעשית, שכדאי שצוותים אחרים יידעו. זה עוזר לחברה לזוז מהר יותר במידה ואנשים יכירו דברים לעומק ויוכלו לעשות התאמות. זה יכול לעזור לבנות ביקורת מקצועית יותר שתעזור לכולם להתקדם.
Transparency:
שקיפות. להסביר למה עשינו דברים מסוימים. זה מאחד את כולם ועוזר לכולם להתיישר על פי קו שמשותף לכולם עם מטרות זהות.
Knowledge Transfer:
שיתוף ידע הוא חיוני במיוחד בצוותים שעובדים על דברים זהים, מישהו יכול להיות בחופשה או לעזוב ואנחנו רוצים לצמצם כמה שפחות ידע שנאבד. בנוסף, ככל שאנשים יידעו יותר יהיה קל יותר לפתור בעיות והן לא ייפלו על בן אדם אחד, מה שגם יכול לפגוע במורל.
Agile
agile היא הגישה המקבולת כיום לניהול פרויקטים. אפשר להגיד שה-CAMS model משלב בתוכו הרבה דברים מעולם ה-agile.
מה agile כולל בתוכו?
- להגיב מהר וטוב לשינויים – זה בעצם המשמעות של agile, להתאים את עצמך מהר ובצורה טובה לשינויים. שינויים יקרו במהלך הדרך כי זה הטבע ורצוי לא להילחם בהם.
- כדאי להתמקד באינטראקציה שוטפת בין האנשים כדי למנוע אי הבנות ולהגביר את שיתוף הפעולה.
- נוסף על כך, כדאי לכתוב תיעוד ברור תוך כדי התקדמות בפיתוח הקוד, כי אחר כך שוכחים.
- כדאי לעבוד כמה שיותר צמוד עם הלקוחות ולקבל מהם פידבק באופן שוטף – בסוף אנחנו עובדים כדי שהלקוחות שלנו יהיו מרוצים.
לסיכום, הסברתי על ה-CAMS model. מודל חשוב שמאוד מתקשר לעולם ה-DevOps. אני חושב שכל אחד מאיתנו יכול לקחת ממנו דברים גם לעבודה וגם לחיי היום יום שלנו.