Tidhar Klein Orbach
tidhar.bsky.social
Tidhar Klein Orbach
@tidhar.bsky.social
אני רואה שעברת לפה באופן קבוע :)
March 10, 2025 at 8:06 PM
האמת אני כמוך, נכנסתי בגלל שהמקור לא עבד 🙂
March 10, 2025 at 8:05 PM
fear and loathing in las twitteras
September 27, 2023 at 6:23 AM
⁹אם נדע איפה "הבטן הרכה" נדע איפה כדאי לעשות תיקונים ולהוסיף הגנות. כמובן שאפשר גם לפרק את שני הסוגים שהצעתי לתתי סוגים ולסווג לפי כל סוג שגיאה אפשרי. אבל הרעיון נשאר אותו רעיון - נשאף שלכל סוג של כישלון יהיה ניטור מתאים ואחראי טיפול.
September 27, 2023 at 6:21 AM
⁸זו סיבה חשובה לסווג בין הכישלונות. בדוגמת הדיפלויימנט, אם מערכת הדיפלויימנט נפלה, נרצה להקפיץ התראה לצוות הדבאופס, אבל אם יש כשל לוגי בגרסה החדשה, ההתראה צריכה להישלח לצוות הפיתוח האחראי. יתרון נוסף בסיווג שגיאות וכישלונות הוא היכולת לזהות את הנקודות הרגישות בתהליך.
September 27, 2023 at 6:21 AM
⁷במקרה של כישלון מהסוג ה-1, אם התהליך "התרסק", הוא כבר לא יכול לדווח על עצמו ולכן נצטרך גורם חיצוני שינטר את התהליך ויתריע בהתאם. ברגע שזיהינו שיש כישלון אנחנו רוצים לשלוח אותו לאדם הנכון שאחראי על בעיה מהסוג הזה. בהרבה מקרים האנשים שאחראים על התשתית אינם האחראים על התוכן.
September 27, 2023 at 6:21 AM
⁶אנחנו רוצים לנטר את התהליכים ולדעת כאשר הם נכשלים. במקרה של כישלון מהסוג השני, התהליך עצמו עושה את בדיקת התקינות ו"יודע" אם עבר או לא. לכן, כאשר מזהה תקלה יכול בעצמו לשמש כמנגון המדווח.
September 27, 2023 at 6:21 AM
⁵מקרים בהם הפריסה או הבדיקות נכשלו כתוצאה מתקלה בגרסה הם המקרים לכישלון מהסוג ה-2. אבל למה זה בכלל חשוב? מכירים את זה שתהליך נכשל, לא הגיעה התרעה או שהשגיאה לא ברורה, לא ידוע מה הגורם ומי צריך לטפל ועד שמתחיל הטיפול והתיקון בפועל, מתבזבזים הרבה זמן,אנרגיה וכסף? אז בדיוק זה.
September 27, 2023 at 6:21 AM
⁴סוג הכישלון השני מתייחס למה שהתהליך עושה בפועל. לתהליך יש עבודה אותה הוא צריך לבצע ולאחר מכן לוודא (בשאיפה) שהעבודה בוצעה באופן תקין. אם נחזור לדוגמת תהליך הדיפלויימנט, פרסנו גרסה חדשה ונרצה לוודא שהיא אכן נפרסה, להריץ מספר בדיקות ולוודא שעובדת באופן תקין.
September 27, 2023 at 6:21 AM
³כמובן שצריך לשים בתהליך עצמו הגנות מתאימות על מנת שלא "יתרסק", אבל לא משנה כמה הגנות נשים תמיד יש סיכוי להתרסקות כזו.
September 27, 2023 at 6:20 AM
²סוג הכישלון ה-1 הוא כישלון בתשתית. בתור משתמש ,כאשר אני מריץ את הקוד או התהליך יש דברים שאני מצפה שיעבדו. אני מצפה שיהיה חשמל, רשת תקינה, חומרה תקינה, שיהיו לי הרשאות מתאימות, ושכל שירותי צד 3 יעבדו כפי שצריך.
September 27, 2023 at 6:20 AM
החלק האחרון מדבר על ניהול תצורה ואיפה נשמרת הקונפיגורציה (בברנצ', בבינארי או בשירות חיצוני).
August 30, 2023 at 5:51 AM
בהמשך הפרק מדבר על תהליך הבילד והדיפלוי בגוגל. התהליך מורכב מבילד עם blaze ( המוכר כbazel בגרסת ה OS), עבודה מול ברנצ' ראשי ויצירת ברנצ' לכל רליס, טסטים עבור כל שינוי, אריזת התוצרים באמצעות midas, שימוש בrapid לניהול כל התהליך (בדומה לג'נקינס או כלי CI/CD אחרים) ודיפלויימנט עם רפאיד או Sisyphus.
August 30, 2023 at 5:51 AM
hermetic builds - תוצר הבילד חייב להיות עקבי עבור revision מסוים, enforcement of policies and procedures - קביעת גייטים כגון קוד ריוויו, וולדיציות, יצירת רליס, פריסה וכו'.
August 30, 2023 at 5:51 AM
בפרק יש התייחסות לניהול מחזור החיים של מערכות, בנייה של פלטפורמות שניתן להרחיב (במקום סקריפטים אד הוקים), שימוש בAPIים וכתיבתם במקומות שחסר, וולידציות ותיקונים אוטמטים ומי אחראי על האוטומציה.
August 24, 2023 at 6:47 AM
בהמשך מתוארים בפרק מספר use cases של שימוש באוטומציה בגוגל: אוטומציה למיגרציה של mysql לבורג (k8s), יצירה של קלאסטרים חדשים והפיתוח של בורג.
August 24, 2023 at 6:46 AM
בהמשך הפרק מציין שצריך לתהייחס ל"זנב" ועל הבעייתיות בשימוש בבמוצע, על הרזולוציה של הניטור כתלות במה מנטרים, מציג מספר שאלות שכדאי לשאול כאשר בונים מערכת ניטור, דשבורדים ואלרטים (ורצוי מאוד לשאול כדי להימנע מalert fatigue), ולבסוף מציג 2 דוגמאות של שימוש ניטור לפתרון תקלות בגוגל.
August 24, 2023 at 6:46 AM
בהמשך מוסבר על המוטיבציה להפחתת toil (יותר זמן למשימות engineering), ועל ההשפעות הרעות של toil כמו: אי התקדמות מקצועית, מורל נמוך, בלבול, פרודקיביות נמוכה, ופגיעה באמון.
August 24, 2023 at 6:45 AM