כל מי שעובד ב-DevOps היום יסכים שסודר את המשאבים מקל על תצפית, ממשלה, ואוטומציה. עם זאת, רוב המהנדסים יכירו גם שהשינוי הזה מביא עמו סט חדש של אתגרים.
אולי האתגר הגדול ביותר של פעולות IaC הוא הסטיות — תרחיש שבו סביבות ריצה נוטות להסת desviate ממצבים המוגדרים על ידי IaC, מה שיוצר בעיה מתפתחת שעשויה להיות לה השלכות חמורות בטווח הארוך. חוסר ההתאמה הללו פוגע בעקביות של סביבות הענן, מה שמוביל לבעיות פוטנציאליות עם אמינות ותחזוקת התשתית ואפילו סיכונים משמעותיים בתחום האבטחה והציות.
בניסיון לצמצם את הסיכונים הללו, אלה האחראים על ניהול הסביבות הללו מסווגים את הסטייה כמשימה בעלת עדיפות גבוהה (וכביכול בזבוז זמן משמעותי) לצוותי פעולות התשתית.
זה הניע את האימוץ הגובר של כלים לזיהוי סטיות שמסמנים חוסר התאמה בין התצורה הרצויה לבין המצב האמיתי של התשתית. בעוד שהם יעילים בזיהוי סטיות, הפתרונות הללו מוגבלים בה issuing התראות והדגשת הבדלים בקוד, מבלי להציע תובנות עמוקות יותר על הסיבה השורשית.
למה זיהוי סטיות לא מצליח
המצב הנוכחי של איתור השיוויון מתפתח מהעובדה שהשיוויון מתרחש מחוץ לצינור ה-CI/CD המוכר ולעיתים קרובות נעקב אחורה להתאמות ידניות, עדכונים המופעלים על ידי API או תיקונים חירום. כתוצאה, שינויים אלה לא תמיד משאירים מעקב בשכבת ה-IaC, יוצרים נקודת עיוור המגבילה את הכלים לסימון השוני בקוד בלבד. זה מוביל לצוותי הנדל"ן בפלטפורמה להשערת מקורות השיוויון וכיצד ניתן לטפל בו בצורה הטובה ביותר.
החוסר בבהירות הזה מפולשת בעצירת השיוויון כמשימה סוכנית. לאחר הכל, החזרת שינויים באופן אוטומטי בלי הבנה של מטרתם — גישת ברירת המחדל הנפוצה — עשויה לפתוח ארנק של תולעים ולהפעיל אפקט דומינו של בעיות.
סיכון אחד הוא שזה עשוי לבטל התאמות חוקיות או אופטימיזציות, ובכך להביא שוב לפני בעיות שכבר טופלו או להפר את פעולתן של כלי צד שלישי חשוב.
נקח, לדוגמה, תיקון ידני שהוחל מחוץ לתהליך ה-IaC הרגיל במטרה לטפל בבעיה פתאומית בייצור. לפני החזרת שינויים כאלה, חיוני לקודד אותם על מנת לשמור על מטרתם והשפעתם או לסכן בהטיפת טיפול שעשוי להתברר כגרוע מהמחלה.
איתור נפגע מהקשר
ראיית ארגונים מתמודדים עם הדילמות הללו הובילה לרעיון של ‘סיבת סטייה.’ רעיון זה משתמש בלוגיקה מסייעת של AI כדי לסנן לוגים של אירועים גדולים ולספק הקשר נוסף לכל סטייה, לעקוב אחרי שינויים חזרה למקורם — לחשוף לא רק ‘מה’ אלא גם ‘מי,’ ‘מתי,’ ו ‘למה.’
יכולת זו לעבד לוגים לא אחידים בכמויות גדולות ולאסוף נתונים הקשורים לסטייה משנה את התסריט של תהליך ההסדר. כדי להמחיש, תן לי לקחת אותך חזרה לתרחיש שהזכרתי קודם ולצייר תמונה של קבלת התראה על סטייה מהפתרון שלך לזיהוי — הפעם עם הקשר נוסף.
עכשיו, עם המידע שסופק על ידי סיבת הסטייה, אתה יכול לא רק להיות מודע לסטייה אלא גם להתמקד ולגלות שהשינוי בוצע על ידי ג'ון בשעה 2 בלילה, ממש בסביבות הזמן שבו היישום טיפל בזינוק בתנועה.
ללא מידע זה, ייתכן שתניח שהסטייה בעייתית ותחזיר את השינוי, דבר שעשוי להפריע לפעולות קריטיות ולגרום לכישלונות בהמשך.
עם ההקשר הנוסף, עם זאת, אתה יכול לחבר את הנקודות, לפנות לג'ון, לאשר שהפתרון טיפל בבעיה מיידית, ולהחליט שלא צריך להסדיר את זה בעיוורון. יתרה מכך, בעזרת הקשר הזה, אתה יכול גם להתחיל לחשוב קדימה ולהציג התאמות להגדרה כדי להוסיף יכולת הרחבה ולמנוע מהבעיה לחזור.
זהו דוגמה פשוטה, כמובן, אך אני מקווה שזה יעזור להדגיש את היתרון של היבטי הגורם השורשיים הנוספים — המרכיב החסר מזמן רב בגילוי התפרקות למרות שהוא נחשב כתקן באזורים אחרים של ניפוי שגיאות ותיקון באתר. המטרה, כמובן, היא לעזור לצוותים להבין לא רק מה ששונה אלא למה זה שונה, להעצים אותם לקבל את ההחלטה הכי טובה בביטחון.
מעבר לניהול IaC
אך יש צורך בהקשבת הקשר הנוסף לתפרקות, כחשוב שזה יהיה, זה רק חלק מפאזל גדול יותר בהרבה. ניהול ציויים גדולים בעננים עם משאבים מקודדים מציג יותר מאתגרי תפרקות, במיוחד בסקאלה. כלי ניהול IaC מדור נוכחי יעילים בטיפול בניהול משאבים, אך הדרישה לראות יותר ולשלוט יותר בסביבות סקאלה מוסדית מכניסה דרישות חדשות ומניעה את התפתחותם הלא נמנעת.
הכיוון שאני רואה שהתפתחות זו נעה אליו הוא ניהול נכסי ענן (Cloud Asset Management – CAM), שמעקוב ומנהל את כל המשאבים בסביבת ענן — בין אם הם נפתחו דרך IaC, APIs או פעולות ידניות — מספקת תצוגה אחידה של נכסים ועוזרת לארגונים להבין תצורות, תלותים וסיכונים, כל אלו חיוניים להתאמת עמיתות, לאופטימיזציה של עלויות וליעילות הפעולתית.
בעוד ניהול ה-IaC מתמקד בהיבטים התפעוליים, ניהול נכסי הענן מדגיש ראייה והבנה של עמדת הענן. פועל כשכבה נוספת של ניתנות לראות, זה מצמיח את הפער בין זרימות עבודה קודיפיות ושינויים אד-הוק, מספק תצוגה מקיפה של התשתית.
1+1 יגיע לשלוש
השילוב של ניהול ה-IaC וניהול נכסי הענן מעצים צוותים לנהל מורכבות בבהירות ובשליטה. ככל שסופת השנה מתקרבת, זו 'עונת הניבויים' — אז הנה שלי. לאחר שביזתי רוב תקופת העשור האחרונה בבניית ובשיפור אחת מן הפלטפורמות לניהול IaC הפופולריות ביותר (אם כי אני יכול לומר זאת), אני רואה זאת כהתקדמות טבעית בתעשייתנו: שילוב של ניהול IaC, אוטומציה ושליטה עם ראייה משופרת לנכסים שאינם קודיפיים.
הסינרגיה הזו, אני מאמין, תהווה את היסוד למסגרת שילטונית לענן טובה יותר — אחת שהיא יותר מדויקת, נמדדת ומוכנה לעתיד. כיום, כבר ניתן לראות כי IaC הוא היסוד של ניהול התשתית בענן. עם זאת, עלינו גם להכיר כי לא כל הנכסים ייקודדו לעולם. במקרים כאלה, פתרון ניהול תשתית קצה-לקצה לא יכול להיות מוגבל רק לשכבת ה-IaC.
הגבול הבא, לכן, הוא לעזור לצוותים להרחיב ראייה לנכסים שאינם קודיפיים, מבטיח שכשהתשתית מתפתחת, היא ממשיכה לפעול בצורה חלקה — תיקון שגיאות מתואמת בכל פעם ומעבר לכך.
Source:
https://dzone.com/articles/the-problem-of-drift-detection-and-drift-cause-analysis