רברס עם פלטפורמה
רברס עם פלטפורמה
Ran Tavory && Ori Lahav
431 Multirepo at outbrain
1 seconds Posted Jan 18, 2022 at 9:53 am.
0:00
0:01
Download MP3
Show notes
[קישור לקובץ mp3] פודקאסט מספר 431 של רברס עם פלטפורמה. הוקלט ב-11 בינואר 2022 באולפנינו שבכרכור - שנה חדשה וטובה ועברנו את רברסים 2021 בהצלחה - היה מאוד מוצלח.היום אנחנו מארחים את אבי מחברת Outbrain - ואנחנו הולכים לדבר על Multi-Repo vs. Mono-Repo וכל מה שביניהם.(רן) אז אבי - ספר לנו קצת עליך?(אבי) אני אבי ואני מהנדס תוכנה בצוות התשתיות ב-Outbrain, כבר קרוב ל-5.5 שנים ב-Outbrainהצוות שלנו נקרא DevX, או Development Experience - כל מה שמשתמע מהדבר הזה.באתי לספר על איך התחלנו ב-Outbrain, לפני קרוב ל-5.5 שנים - לתת איזושהי היסטוריה על ה-Transition, מאיפה התחלנו ואיפה אנחנו היום.(אורי) Multi-Repo ו-Mono-Repo זה ויכוח עתיק יומין - בכל חברה שגדלה . . . (אבי) נכון . . . (רן) רגע, אני אעצור אותך לשנייה - הייתה פה איזו Easter Egg שהחבאת לנו . . . .מה זה DevX? מאיפה המצאתם את השם הזה? מה זה עושה?(אבי) אז Development Experience זה שם שהגיע ממשהו שאורי הטמיע לנו . . . (רן) אתה, אורי?(אבי) ויונתן . . . האמת שרצינו לעשות משהו, היה איזשהו Transition - הצוות הקודם היה Infra ורצינו לתת איזושהי חווייה הרבה יותר טובה לכל ה-Development שלנו.זאת אומרת - אנחנו נותנים את התשתיות שבהן משתמשים הצוותים השונים ב-Outbrain, וחוץ מזה גם נותנים איזושהי תמיכה ואיזשהו מענה לצוותים האלה.וגם חווייה טובה יותר לצוותי הפיתוח ביום-יום.(רן) אז מה זה כולל - כלים שהמפתחים משתמשים בהם? . . . (אבי) דבר ראשון זה באמת התשתיות שבהן אנחנו משתמשים ב-Outbrainזה הכלים והואטומציות שמסביבםוגם כל תקלה שאנחנו יכולים, ברמת העיקרון, לטפל בה ולסייע לצוותים השונים.(אורי) אפילו - כצוות - באחריותכם ה-Container שלנו - ה-Application Server שלנו - שהוא . . .(אבי) כל דבר שאנחנו יכולים לתרום - לא משנה אם זה . . . כל בקשה - לא משנה אם זה “במסגרת האחריות” או לא, אם זה חלק מה-Scope - אנחנו ניתן מענה אם אנחנו נוכל.(אורי) אני רק רוצה להגיד שהאמת שההקמה של הצוות הזה הייתה כחלק ממהלך יותר גדול - של מעבר לגילדות [367 Guilds at Outbrain]במהלך המעבר הזה לגילדות, הבנו שהגילדה כנראה צריכה להחזיק - בין השאר - גם את “החווייה”: חוויית ה-Development של כל אחד מהמהנדסים.אז אמרנו - אוקיי, בואו גם נקים איזשהו צוות שיחזיק את זה, לצד הגילדה.אבל אתם עושים גם דברים שהם מעבר ל . . . “פיתוחים”, אני אגיד - ויותר קשורים לגילדהלמשל ה-Bootcamp זה משהו שאתם . . .כל ה-Bootcamp, שזה משהו שאנשים עוברים דרכו ב-Onboarding שלהם, כמהנדסים - הצוות הזה גם דואג שה-Bootcamp הזה יתפתח . . .(אבי) אז הרבה לא יודעים מה זה “Boot-camp” . . . (רן) שכיבות סמיכה ב-VI . . .(אבי) כשאומרים “Bootcamp”, זה באמת משהו שהוא . . אנשים יכולים להבין משמעויות אחרות.ברמת העקרון, כל מהנדס שמגיע לחברה עובר איזשהו תהליך הכשרה - שהוא יכיר את כל הסטנדרטיזציה של החברה, יכיר את כל הכלים שאנחנו משתמשים בהםכדי שכשהוא יגיע לצוות עצמו, השאלות יהיו מאוד Straight-forward בשבילו.(אורי) זה מאוד מקצר את הזמן של New Employee או New Engineer להיות פרודוקטיבי.(אבי) בהחלט - אני רואה את זה ביום-יום . . .(רן) וזה קורה אינטראקטיבית? ממש הדרכה, או שזה כזה “Online”?(אבי) אז זה  . . . בוא ניגע בזה בדיוק, באיך שאני - בחווייה שלי בתור מפתח, כשאני הגעתי לפני 5.5 שנים - וגם ניגע באיך שבעצם התחלנו - אז כשאתה מגיע לOutbrain היום - כמו שהיה לפני 5.5 שנים, זה היה בעצם אותו התהליך רק שהיום הוא משודרג והוסיפו עוד כמה אלמנטים - אז אתה מגיע ל-Outbrain ואתה מתחיל את התהליך הזה, שהוא תהליך של שבועיים-שלושה, של הכשרה.אתה עושה git-clone - באותה תקופה הייתי צריך לעשות git-clone ל-Repository שהוא Mono-repo - זה נקרא Trunk, אורי מכיר אותו . . . אז זה בעצם Repository שהכיל את כל ה-Code base של Outbrainהיום זה כבר microServices אבל אז זה היה Monolith אחד גדול.וזה היה לוקח הרבה מאוד זמן . . . אז בשביל מישהו שמתחיל בתהליך הזה, כשאתה עושה git-clone והולך לשתות קפה - ובאותו יום שתיתי המון קפה . . .(רן) בוא, תחתום על הטפסים של HR, תעשה git-clone ותחזור מחר . . .(אבי) בדיוק, על הדברים האלה אני מדבר.אז כן - יש את ההיכרות הזאת, מול הכלים השונים . . .(רן) שאני לא אגיד מה היה המצב כשאני הייתי שם . . . אני חושב שעוד היינו ב-Subversion . . . (אורי) כן - אבל ה-Repo היה הרבה יותר קטן  . . .(רן) ה-Repo היה (1) הרבה י…