יציבות בפרוייקטים? יאן ווגינפירר מסביר

יאן מנהל את החברות eventrys ו-daynix

יאן, ספר על daynix שלך

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

המוצר שפיתחנו מאפשר הרצה ב-low level code multi platform; מהר מאד עברנו לקלאוד ווירטואליזציה, ואנחנו מבצעים פרוייקטים לחברות

איך לדעתך לפתור בעיות יציבות בענן?

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

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

שליחת קוד חייבת להיות עם קוד שממש שלימים איתם. 

לא קומיט מסג׳ בסגנון "workaround if״ אלא קומיט רציני

איך בודקים סביבות?

יש פרוייקטים שהלקוח לוקח את הקוד לעצמו, לפעמים צריך לעשות סט של ci. 

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

ב-upstream אנחנו רצים על אותו ci.

ספר על תהליך ניטור על המוצר כחברת פרוייקטים

קשה לנו לנטר אחרי הקרנל. מדובר בקוד מנותק. 

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

בתוך ה-production יצרנו מנגנוני לוגים – חלקם מאד יסודיים וחלקם פחות, הבחירה היא לפי הטריידאוף בין פגיעה בפרפורמנס לדיוק

איך זה לנהל שתי חברות?

קשה. צריך לחלק את הזמן בהתאם. 

אם תצא לחופש, כמה ירימו אליך טלפון?

אם יתקשרו, ככל הנראה זה יהיו סביב האופרציה 

השאיפות הבאות?

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

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

חברות עם  open  source – מה הכי חשוב?

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

מאמרים נוספים

מהם תפקידי ה-on-call?

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

עלויות מעבר מערכות לוגים ואלרטים

שינויים תשתיתיים הם תמיד החלטה מורכבת: בין אם המערכת היא בחיתוליה והשינוי בפועל אפשרי, יש הרבה אי וודאות שאופפת בחירות אחרות. בין כל בחירה יש טריידאופים, ובמכפלות גבוהות – יש להם מחיר שמרגישים. במאמר:

אחריות SRE

יש נטייה, בכל יצירה של תפקיד חדש – לשאול מאי נפקא מינה? בהקשר של SRE עולה השאלה האלמותית: מה ההבדל בין SRE ל-devops? גוגל הפיקו את הסרטון הנהדר הבא: אני חושב שזה קצת סמנטי,

אלרט טוב, ואלרט רע

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

לכתוב test-ים של js ב-python

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