מדריך: כך תעבדו בגישת Pre-mortem ותעלו לפרודקשן רגועים. אפילו בחמישי

ניתוח תקלות בדיעבד זה חשוב, אבל למה לא למנוע אותן מראש? הנה כמה טיפים ליישום גישת Pre-mortem אצלכם (כולל השיטה שעובדת לנטפליקס)

לחזות את כל מה שעלול להשתבש (צילום: Dreamstime)

מאת אסף ברונר, מנהל פיתוח; ושגיא רייטר, ארכיטקט תוכנה, מרכז הפיתוח של SAP בישראל

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

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

איך זה עובד?

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

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

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

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

כך יישמנו את שיטת ה-Pre-mortem אצלנו

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

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

כל מוצר עומד בפני עצמו ולא ניתן להשתמש באותם הפתרונות על כלל המוצרים, אבל הנה חלק מהפתרונות שייצרנו בתהליכים של Pre-mortem:

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

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

  • מבט מלמעלה למטה: כחלק מההתחייבות שלנו לעמוד בזמינות של 4 תשיעיות, בחנו מראש את כל הרכיבים (microservices) שהמוצר שלנו מורכב מהם, מלמטה למעלה, כדי שכל אחד מהם יוכל לתת זמינות גבוהה מזו שהתחייבנו. משמעות התהליך הזה היא לזהות את כל החוליות בשרשרת: גם שלנו וגם אלו שבהן אנחנו תלויים. כאשר זיהינו מקומות שלא מספקים את היעד שהצבנו, היינו צריכים לחשוב עם נותני השירותים, כגון גוגל (GCP) ואמזון (AWS), על פתרונות יצירתיים. תהליך כזה מחייב היכרות מאוד טובה עם המערכת שלך ועבודה צמודה עם נותני שירותים. זהו תהליך יצירתי שבסופו מנטרלים את האזורים שלא מספקים את היעד שאליו אנחנו שואפים.

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

הכתבה בחסות SAP

מרכז הפיתוח של SAP בישראל הוא בין המרכזים החדשניים, האסטרטגיים והמובילים של ענקית התוכנה העולמית, עם כ-800 עובדים בשני אתרים - רעננה ות"א. קבוצות הפיתוח בישראל מתמחות ומובילות את עולמות ה- MultiCloud ופלטפורמת הענן של החברה, את תחום ניהול זהויות משתמש, פרטיות משתמשים, פרסונליזציה וחווית משתמש. קבוצות הפיתוח בישראל אחראיות על מוצרים מרכזיים המשמשים את המותגים הגדולים ומוכרים בעולם, ועוסקות בטכנולוגיות המתקדמות ביותר תוך התמחות ב- Cloud Native Architecture, deep learning ו-computer vision ועוד. מרכז הפיתוח בישראל מדורג בצמרת החברות שהכי טוב לעבוד בהן, ומקדם עשייה חברתית וקהילתית ענפה.

כתב אורח

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

הגב

4 תגובות על "מדריך: כך תעבדו בגישת Pre-mortem ותעלו לפרודקשן רגועים. אפילו בחמישי"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
Avi
Guest

אהבתי את הקוף של נטפליקס…

הדיות
Guest

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

עידו
Guest

מסובך לך מדי, אה?

דןדן
Guest

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

wpDiscuz

תגיות לכתבה: