הבטחת איכות עבור דילוור
מאחר שאין באמת דרך לוודא דילוור בייצור, התשובה היא הבטחת ייצור ● זוהי דרך להשוות ולהבין את ההבדלים בין סטייג׳ינג וייצור ולהבטיח דילוור נכון בלי הבטחת איכות
האם מישהו אי פעם שמע על הבטחת איכות עבור דילוור? גם אנחנו לא.
לפני מספר חודשים גוגל (Google) לא סיפקה במשך כמעט 20 דקות את אחד השירותים המרכזיים שלהם בתחום הענן. זה קרה כתוצאה מרצף אירועים שאפשר היה למנוע אילו הייתה הבטחת איכות עבור דילוור.
כשדילוור היה תהליך ידני, הייתה תוכנית שחרור (או רשימת בדיקה) שהוצאה לפועל פעם ביובל עבור השחרור. נדרשו חודשים כדי להגדיר את תוכנית השחרור, והשחרור עצמו היה אירוע טראומטי למדי עבור כל המעורבים. בעולם כזה לא צריכים הבטחת איכות, אלא איזשהו מנגנון ביקורת, כמו רשימת בדיקה.
בעולם של היום, עולם של DevOps ואוטומציית דילוור, תוכנית השחרור היא למעשה קוד. הבעיה היא כזו: קוד צריך הבטחת איכות, אבל קוד שקשור לשחרור לא ממש עובר תהליך הבטחת איכות רשמי, כלומר: תוכנית בדיקה (Test harness), קריטריוני קבלה רשמיים.
בדיקות סניטי
ברוב המקרים משתמשים בבדיקות סניטי (Sanity tests) של האפליקציה גם לבדיקת נכונות הפריסה. למעשה, בחלק מהארגונים מבדילים בין סוגי בדיקות סניטי – תפעול ופיתוח. כאשר בדיקות תפעול נשברות קוראים לצוות הפיתוח וכאשר בדיקות פיתוח נכשלות קוראים לצוות התפעול.
שיטה זו מפסיקה לעבוד כאשר ארכיטקטורות פריסה מורכבות יותר. במקרה זה, קוד הפריסה האוטומטי גדל ונוטה לבאגים, והמחסור בהבטחת איכות יהפוך לנושא חמור ביותר.
הנה דוגמה מצוינת למחסור בבדיקות פריסה: בארגון פיננסי גדול פרסו גרסה חדשה של תוכנה קיימת. את הבדיקות ערכו בסביבה מסוימת כדי לראות שהמערכת עובדת – והיא אכן עבדה. על סמך בדיקה זו הארגון הוציא את הגרסה החדשה לייצור ונוצר חוסר התאמה בין שתי הגרסאות – הישנה והעדכון – כי אחד המרכיבים לא תאם את סביבת הייצור. זה גרם לכשל מערכתי כולל לזמן ממושך. מכאן ניתן להסיק שבפריסה אוטומטית נדרשות בדיקות בסביבות שונות, אחרת לא תהיה אפשרות לדעת האם התוכנה תעבוד או לא.
אם סביבות סטייג׳ינג היו שוות ערך לחלוטין לייצור, ניתן היה לטעון שבדיקות האפליקציה שנעשות במהלך הסטייג׳ינג צריכות להספיק. במקרה זה, השלמת בדיקות אפליקציה בסביבות סטייג׳ינג מאפשרת להבטיח פריסת אפליקציה תקינה. בגלל שיקוליים כלכליים, סביבת ייצור היא סביבה דומה לסטייג׳ינג, אבל לא זהה. כל עוד הסביבות שונות, בטוח שהקוד יישבר, במיוחד כשאין דרך לבצע בדיקות.
מאחר שאין באמת דרך לוודא דילוור בייצור, התשובה היא הבטחת ייצור. זוהי דרך להשוות ולהבין את ההבדלים בין סטייג׳ינג וייצור ולהבטיח דילוור נכון בלי הבטחת איכות.
לסיום אנחנו מביאים אמירה של דונאלד קנות׳, אחד מאנשי מדעי המחשב המפורסמים בעולם, שאמר: "היזהרו מבאגים של הקוד שאני מציג; אני רק הוכחתי שזה נכון, אבל לא ניסיתי זאת".
תגובות
(0)