#32 היחידה למבצעים מיוחדים – DevOps

מהי קריאת הקרב של קבוצת ה DevOpsמה פירוש המילה "לאטמט"? ומי אחראי לפתור את הבעיות הגדולות של מדינת ישראל?

#032 revolving door

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

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

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

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

שימו לב לציטוטים נבחרים מפיו של מפקד מערך המבצעים המיוחדים (המ"מ) בצה"ל:

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

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

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

  1. דבר ראשון שכל קבוצת DevOps עושה הוא לבנות אוטומציה לעצמה. תוך פחות משבוע מרגע שהקבוצה הוקמה, כבר אי אפשר לבקש מהם שום דבר. אם תנסה לבקש משהו תקבל את אותה תשובה אחידה: תפתח קריאה. הטסט פתאום לא עובר? תפתח קריאה! לוקח שעה לקמפל את הגירסה האחרונה? תפתחי קריאה! זה המוטו של כל קבוצות ה DevOps בכל מקום על פני הגלובוס. זוהי קריאת הקרב שלהם: "תפתח קריאה!"
  2. השלב הבא הוא כמובן בניית האוטומציה, כלומר לקחת תהליכים טובים ויציבים, שכולם מכירים ויודעים איך להפעיל אותם ו"לאטמט" אותם, כלומר להפוך אותם לאוטומטים לגמרי, ללא מגע יד אדם, עכבר או מקלדת. אלא שיש גם תופעות לוואי. לתהליכים אוטומטיים יש נטייה לאבד משהו מהיציבות שלהם, אם נתנסח בעדינות. פתאום דברים שעבדו מצויין במשך חודשים מתחילים להיכשל על בסיס יומי.
  3. עוד תופעת לוואי של תהליך האוטומציה היא הזמן. פתאום דברים מתחילים לעבוד לאט. תהליך שלקח כמה דקות פתאום לוקח שעה. ולהצליח לעבור את כל הבדיקות ולעשות צ'ק-אין עלול לקחת ימים. לא סתם זה נקרא "לאטמט" – זה כל כך לאט, שאתה מת עד שזה מסתיים. אם "תפתח קריאה" זו סיסמת הקרב, אז ההמנון הוא: "קח אותו לאט את הזמן", שייתכן ונכתב על ידי מפתח מיואש בזמן שחיכה שה Build יסתיים.
  4. השלב הבא הוא כמובן פסגת ההצלחות של ה- DevOps, ה- CI/CD. ה- Continuous Integration ו Continuous Delivery שהם שיאה של האוטומציה, בנייה אוטומטית של גירסאות, בדיקה מקיפה ושחרור גירסאות. מה צריך יותר מזה. כל מה שצריך בשביל לעשות שינוי זה לכתוב את הקוד ואז להגיש אותו ל CI. תוך לא יותר מארבע עד חמש שעות אתה תקבל מייל אוטומטי שמודיע לך שהשינוי שלך נדחה בגלל שטסט מספר 704 נכשל על גירסה 17.09 בריצה ה 12. עכשיו לך תבין מה קורה פה. זה אגב המקרה הטוב. בשעות הלחץ השינוי שלך קודם כל נכנס לתור של הממתינים לבנייה לכמה שעות טובות, אחר כך הוא עובר לתור של השינויים שממתינים לבדיקה, ולבסוף לתור של אלו שממתינים לתור אחר. לא סתם קוראים לזה Continuous, כלומר מתמשך. הרי כל העסק הזה מתמשך ומתמשך.

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

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

והמהנדס החכם אומר: אני? אני כבר פתחתי קריאה

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

תגובה אחת בנושא “#32 היחידה למבצעים מיוחדים – DevOps

להשאיר תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת /  לשנות )

תמונת גוגל

אתה מגיב באמצעות חשבון Google שלך. לצאת מהמערכת /  לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת /  לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת /  לשנות )

מתחבר ל-%s