האם גוגל פועל על לינוקס
סיכום
במאמר זה אנו בוחנים מדוע הפעלת לינוקס בפלטפורמת Google Cloud היא שילוב רב עוצמה. אנו גם מתעמקים בסיבות שמאחורי ההחלטה של גוגל להשתמש בלינוקס באופן פנימי ואת האתגרים שעומדים בפני שדרוגים מסורתיים. לאחר מכן אנו דנים כיצד גוגל יישמה שחרורים מתגלגלים עם Glinux Rodete, בהתבסס על דביאן, והיתרונות שהיא מביאה לפעילותם.
נקודות מפתח:
- גוגל מריצה ציי ייצור גדולים, כולל YouTube ו- Gmail, תוך שימוש במגוון פלטפורמות מערכת ההפעלה, כולל לינוקס.
- במשך זמן רב, הפצת לינוקס הפנימית של גוגל, Goobuntu, התבססה על שחרור Ubuntu LTS.
- מחזור השדרוג לשנתיים עבור משחררות LTS הציב אתגרים לצי של למעלה מ 100,000 מכשירים.
- כדי להפוך את תהליך השדרוג לאוטומטי, גוגל פיתחה כלי שדרוג ללא השגחה שמזער את התצורה הידנית.
- תהליך השדרוג ארך בדרך כלל כמעט שנה, מה שהוביל לרמות לחץ גבוהות ושחיקה בצוות.
- שימוש בגרסאות LTS פירושו כי ייתכן כי כמה תיקוני באגים ושיפורים.
- שדרוגים מיוחד ואתגרי ניהול שינויים שנוספו למורכבות ולמשך התהליך של שדרוג.
- כדי לטפל בבעיות אלה, גוגל עברה לשחרורים מתגלגלים עם Glinux Rodete, על בסיס בדיקות דביאן.
- במקום מחזור של שנתיים, משחררים מתגלגלים פרושים את עומס העבודה ומאפשרו שינויים מצטברים קטנים יותר.
- זמינות החבילות בדביאן, בקהילת דביאן ובחבילות הפנימיות הקיימות השפיעו על בחירת דביאן כהפצת הבסיס.
שאלות:
- על איזה פלטפורמות Google פועל?
- מדוע גוגל בחרה באובונטו כבסיס להפצת לינוקס הפנימית שלהם?
- באילו אתגרים התמודדה גוגל עם מחזור השדרוג לשנתיים של שחרור LTS?
- איך גוגל אוטומטית את תהליך השדרוג?
- מדוע בורח גרסת LTS מלחיצה לצוות של גוגל?
- מה הייתה המוטיבציה שמאחורי המשמרת של גוגל לשחרור מתגלגל?
- מדוע גוגל בחרה בדביאן להפצת השחרור שלהם?
- אילו יתרונות מספקת את מסלול הבדיקה של דביאן?
- באיזו תדירות עדכוני שחרור גוגל עם הפצת השחרור שלהם?
- איזו גישה ננקטה גוגל כדי להבטיח שחרורים חלקים בתהליך השחרור המתגלגל?
גוגל מריצה ציי ייצור גדולים בפלטפורמות כמו YouTube ו- Gmail. יש להם גם צי תאגידי עם מאות אלפי מכשירים על פני פלטפורמות, דגמים ומיקומים מרובים.
גוגל בחרה באובונטו להפצת לינוקס הפנימית שלה מכיוון שהיא הייתה ידידותית למשתמש, קלה לשימוש והציעה תמיכה לטווח הארוך (LTS) משחררת עם שנתיים של עדכוני אבטחה.
האופי המורכב של עומסי העבודה בצי של גוגל הפך את ההתקנה מחדש והתאמה אישית של מכונות לכל שדרוג פעולה קשה וגוזלת זמן. זה לא היה בר -קיימא מבחינה כלכלית, ומהנדסים נאלצו להגדיר את סביבת העבודה שלהם מאפס כל שנתיים, מה שהוביל לירידה בפריון.
גוגל פיתחה כלי שדרוג ללא השגחה שאוטומציה של בעיות המקרה הנפוצות במהלך תהליך השדרוג. כלי זה חסך מהנדסים משדרוג ידני של המכונות שלהם על ידי התקנתם מחדש ושחזור כל התצורות.
שדרוג צי Goobuntu ארך כמעט שנה והשאיר רק חלון קצר של השבתה עד לשדרוג הבא. מחזור שדרוגים קבוע זה יצר סביבה מתח גבוהה עבור הצוות, מה שהוביל לתחושת שחיקה. באגים ובקשות לעזרה שנוספו גם לעומס העבודה.
במקום לעקוב אחר מחזור שדרוג לשנתיים, גוגל רצתה להפיץ את עומס העבודה ולאפשר שינויים מצטברים קטנים יותר. שחרורים מתגלגלים עם התפלגות לינוקס הראו כי שינויים קטנים יותר קלים יותר לשליטה ולהחזק.
גוגל בחרה בדביאן להפצת השחרור המתגלגלת שלה, Glinux Rodete, מכיוון שהיא הציעה הגירה חלקה במקום והיה לה קהילה גדולה של דביאן. חבילות פנימיות וקיימות כלים קיימות השתמשו גם בפורמט Debian.
מסלול הבדיקה של Debian Work. זה מאפשר לגוגל לקבל שינויים גרגירים יותר ולספק את התוכנה החדשה ביותר למהנדסים שלהם ללא תקופות המתנה ארוכות יותר.
גוגל מיועדת בתחילה לשחרורים תכופים יותר אך מצאה כי שחרורים שבועיים היכו איזון בין מעבר במהירות לבין איפשר הסמכת שחרור נאותה. זה עזר להגביל את ההפרעה בפריון המפתחים.
גוגל מצלמת תמונת מצב של כל החבילות שנבלעו מדביאן בעת פתיחת שחרור חדש. לאחר בדיקות קבלה, המועמד לשחרור ההרמטי מתגלגל בזהירות לקבוצת משתמשים שנבחרה לבדיקה נוספת.
תשובות:
- גוגל מריצה ציי ייצור גדולים המגישים מוצרים כמו YouTube ו- Gmail. יש להם גם צי תאגידי עם מאות אלפי מכשירים הפועלים בפלטפורמות, דגמים ומיקומים שונים. כדי לתמוך בעובדיהם, כולל מהנדסים, גוגל פועלת עם מספר פלטפורמות מערכת ההפעלה, כולל לינוקס. בשנת 2018, גוגל השלימה את המעבר למודל שחרור מתגלגל המבוסס על דביאן.
- גוגל בחרה באובונטו כבסיס להפצת לינוקס הפנימית שלהם מכיוון שהיא הייתה ידידותית למשתמש, קלה לשימוש והציעה תמיכה לטווח הארוך (LTS) משחררת עם 2+ שנות עדכוני אבטחה. מהדורות LTS אלה סיפקו יציבות ועדכוני אבטחה רגילים עבור צי המכשירים של גוגל.
- מחזור השדרוג לשנתיים של שחרור LTS הציב אתגרים עבור גוגל. עם למעלה מ 100,000 מכשירים בצי שלהם, שדרוג ידני והתאמה אישית של כל מכונה לפני תאריך סוף החיים של מערכת ההפעלה היה זמן רב ולא אפשרי מבחינה כלכלית. האופי המורכב של עומסי העבודה במכונות התאגידי סיבך עוד יותר את תהליך השדרוג.
- כדי להפוך את תהליך השדרוג לאוטומטי ולמזער את התצורה הידנית, גוגל פיתחה כלי שדרוג ללא השגחה. כלי זה התמקד באוטומציה של בעיות מקרה נפוצות במהלך השדרוג ושמרו מהנדסים מהצורך להתקין מחדש מכונות ולשחזר את כל התצורות באופן ידני באופן ידני.
- ריצת גרסת LTS הייתה מלחיצה עבור הצוות של גוגל בגלל הזמן והמאמץ הנרחבים הנדרשים לתהליך השדרוג. עם מסגרת זמן לשנה בין השדרוגים, הצוות חווה מעגל קבוע של שדרוגים ותיקוני באגים. הסביבה הלחץ הגבוה הזו הובילה לעתים קרובות לתחושת שחיקה בקרב חברי הצוות.
- המוטיבציה שמאחורי המשמרת של גוגל לשחרורים מתגלגלים הייתה להפיץ את עומס העבודה ולאפשר שינויים מצטברים קטנים יותר. גישה זו תואמת את מגמת התעשייה של CI/CD והראתה כי שינויים קטנים יותר קלים יותר לשליטה והחזרה בהשוואה לשדרוגים גדולים ונדירים.
- גוגל בחרה בדביאן כבסיס להפצת השחרור שלהם, Glinux Rodete. ההחלטה הושפעה מגורמים שונים, כולל זמינות החבילות בדביאן, בקהילה הדביאן הגדולה והתאימות של חבילות פנימיות וקיימות כלים קיימות באמצעות פורמט Debian.
- מסלול הבדיקה של דביאן מספק מספר יתרונות להפצת השחרור של גוגל. מסלול הבדיקה פועל ככינוי מתגלגל, בולע כל הזמן ובניית חבילות מהזרם במעלה הזרם. זה מאפשר לגוגל שינויים תכופים וגרגירים יותר, ומספקים את המהנדסים שלהם גישה לתוכנה החדשה ביותר ללא תקופות המתנה ממושכות.
- גוגל מיועדת בתחילה לשחרורים תכופים יותר עם חלוקת השחרור המתגלגלת שלהם, אך בהמשך התמקמה בשחרור שבועי. שחרורים שבועיים פגעו באיזון בין מעבר במהירות לבין איפשר הסמכת שחרור נאותה, תוך צמצום ההפרעה בפריון המפתחים.
- כדי להבטיח שחרור חלק בתהליך השחרור המתגלגל, גוגל מצלמת תמונת מצב של כל החבילות שנבלעו מדביאן בתחילת מהדורה חדשה. לאחר בדיקות קבלה, המועמד לשחרור ההרמטי מתגלגל בזהירות לקבוצה נבחרה של משתמשים להמשך בדיקה, ומבטיח שחרור הדרגתי ומבוקר.
למה להריץ את לינוקס בענן Google
פלטפורמת Linux ו- Google Cloud הם שילוב חזק שאפשר להעביר את הארגון שלך לענן ולתוך העתיד. לתת’תסתכל על כל אחד מהם לפני שלומדים מה גורם להם להתבלט כצוות.
האם גוגל פועל על לינוקס
קרדיט לגיבור: מרקוס טייץ ‘
ב- Google אנו מנהלים ציי ייצור גדולים המגישים מוצרי Google כמו YouTube ו- Gmail. כדי לתמוך בכל העובדים שלנו, כולל מהנדסים, אנו מנהלים גם צי תאגידי ניכר עם מאות אלפי מכשירים על פני פלטפורמות, דגמים ומיקומים מרובים. כדי לאפשר לכל גוגלר לעבוד בסביבה בה הם הכי פרודוקטיביים, אנו מפעילים פלטפורמות מערכת הפעלה רבות כולל מערכת לינוקס. במשך זמן רב, הפצת הפנייה הפנימית שלנו לינוקס, Goobuntu, התבססה על שחרור אובונטו LTS. בשנת 2018 השלמנו מעבר לדגם שחרור מתגלגל המבוסס על דביאן.
שדרג עמל
לפני יותר מ -15 שנה, אובונטו נבחר כבסיס להפצת לינוקס הפנימית, מכיוון שהיא הייתה ידידותית למשתמש, קלה לשימוש, והיו בהן המון תוספות מהודרות. שחרורי התמיכה לטווח הארוך (LTS) נבחרו כפי שהוערך כי Canonical סיפקו שנתיים+ שנות עדכוני אבטחה.
עם זאת, מחזור השחרור לשנתיים זה לשחרור LTS פירושו גם שהיינו צריכים לשדרג כל מכונה בצי שלנו של מעל 100.000 מכשירים לפני תאריך סוף החיים של מערכת ההפעלה. האופי המורכב של עומסי העבודה הפועל על מכונות ארגוניות פירושו כי התקנה מחדש והתאמה אישית מלאה של מכונות יכולות להיות פעולה קשה וגוזלת זמן. התפוקה פגיעה בכך שכל המהנדסים מגדירים את סביבת העבודה שלהם מאפס כל שנתיים לא הייתה אפשרות אחראית כלכלית.
עבור כל מחזור מערכת הפעלה, הייתה לנו קפיצת גרסה גדולה למדי בחבילות מרכזיות שיכולות לדרוש שינויים משמעותיים בתצורת התוכנה. כדי להפוך את התהליך לאוטומטי, כתבנו כלי שדרוג ללא השגחה שדאג להרבה מבעיות המקרה הנפוצות. גישה ממוקדת אוטומציה זו פירושה שרוב עובדי Google לא היו צריכים לשדרג ידנית את המכונות שלהם על ידי התקנה מחדש ושחזור כל התצורה שלהם. עם זאת, כדי לאפשר זאת, היינו צריכים לבצע בדיקות מקיפות בתהליך השדרוג ולבדוק כי כל החבילות העיקריות שהשתנו המשיכו לעבוד (באובונטו זה יכול להיות עד כמה אלפי חבילות כדי לשדרג בין גרסאות מרכזיות). לפעמים היה קשה לספק אוטומציה במקרים בהם התרחשו פחתות והמהנדסים נאלצו לקבל החלטות כיצד להתקדם.
המאמץ הזה לשדרג את צי Goobuntu שלנו בדרך כלל לקח את החלק הטוב יותר של שנה. עם חלון תמיכה לשנתיים נותר רק שנה אחת עד שנאלצנו לעבור את אותו התהליך שוב עבור ה- LTS הבא. כל התהליך הזה היה גורם לחץ עצום עבור הצוות שלנו, מכיוון שקיבלנו מאות באגים עם בקשות לעזרה למקרים פינתיים. ברגע שנעשה שדרוג אחד היה תחושה כללית של להיות “קרוב לשחיקה” בצוות שבקושי יכולנו להתאושש ממנו עד שסבב העדכונים הבא התרחש. ריצת גרסת LTS פירושה גם שכמה באגים שנתקלו בהם משתמשים בהפצה שלנו’כבר תוקן במעלה הזרם, אבל השיפורים האלה עשויים’מעולם לא הוחזר לגרסת LTS.
היה גם זנב ארוך של שדרוגים מיוחדים שיכולים לפעמים להימשך במשך כמה שנים. הטיפול בתהליך זה היה אתגר עצום בניהול שינויים בכדי לגרום למהנדסים לשדרג את המכונות שלא עשו’לא לעבוד בתהליך האוטומטי. היינו יצירתיים כאשר אנו מניעים את המשתמשים שלנו לשדרג את המכונות שלהם. אמצעים נעו בין הודעות מציקות על ממשק המשתמש, הודעות הדואר שלהם, אתחול מחדש מתוזמן ואפילו כיבוי המכונות, כדי להעלות את המודעות לכך שעדיין היו כמה מכונות הזקוקות לשדרוג. לפעמים זה תפס מכונות שאנשים שכחו לחלוטין, כמו המכונה האחת מתחת לשולחן העבודה שהריצה צינור קריטי למשהו חשוב, מכיוון שהיא התבררה.
משחררים מתגלגלים
כאשר עיצבנו את Glinux Rodete (בדיקות דביאן מתגלגלות), כיוונו להסיר את מחזור השדרוג לשנתיים ובמקום זאת להפיץ את העומס על הצוות לאורך כל הזמן. המעבר הכללי ל- CI/CD בענף הראה כי שינויים מצטברים קטנים יותר קלים יותר לשליטה והחזרה. שחרורים מתגלגלים עם התפלגות לינוקס כיום הופכים נפוצים יותר (Arch Linux, Nixos).
שקלנו ללכת עם הפצות לינוקס אחרות, אך בסופו של דבר בחרנו בדביאן כי שוב רצינו להציע הגירה חלקה במקום. זה כלל שיקולים לקראת זמינות החבילות בדביאן, בקהילה הדביאן הגדולה, וגם את החבילות הפנימיות והכלי הפנימיות הקיימות שהשתמשו בפורמט Debian. בעוד שהמסלול היציב של דביאן עוקב אחר קפיצה בערך לשנתיים בין שחרור, מסלול הבדיקה של דביאן פועל כהפורסול מתגלגל, מכיוון שהוא הבריכה של כל החבילות שנבללו ונבנות מהזרם, מחכה לשחרור היציב הבא שיקרה.
הזמן משחרור במעלה הזרם לזמינות בבדיקה הוא לרוב רק כמה ימים (אם כי בתקופות הקפאה לפני שחרור יציב של דביאן, הוא יכול לפעמים לפגר כמה חודשים מאחור). המשמעות היא שנוכל לקבל שינויים הרבה יותר גרגירים באופן כללי ולספק את התוכנה החדשה ביותר למהנדסים שלנו בגוגל מבלי שנצטרך להמתין תקופות ארוכות יותר.
תדירות זו של עדכונים דרשה מאיתנו לעצב מחדש הרבה מערכות ותהליכים. בעוד שבמקור התכוונו לשחרור תכופות יותר, מצאנו שמבחינתנו, שחרורים שבועיים היו נקודה מתוקה בין מעבר במהירות לבין איפשר הסמכת שחרור נאותה, מה שהגביל את ההפרעה לפרודוקטיביות המפתחים.
בכל פעם שאנחנו מתחילים מהדורה חדשה, אנו מצלמים תמונת מצב של כל החבילות שנבלעו מדביאן באותה תקופה. לאחר כמה מבחני קבלה, המועמד החדש לשחרור ההרמטי מגלגל בזהירות לצי בדיקות ייעודי ולקנרית של 1% צי רחב של 1%. הקנרית מתקיימת בכוונה במהלך מספר ימים כדי לאתר כל בעיות בחבילות דביאן או בחבילות פנימיות של גוגל לפני שהוא מתקדם לכל הצי.
הצגת מסננת
כדי לנהל את כל המשימות המורכבות הללו מבניית כל החבילות במעלה הזרם מהמקור, בנינו מערכת זרימת עבודה בשם מסננת. בכל פעם שאנו רואים גרסה חדשה של חבילת Debian, אנו מתחילים בנייה חדשה. אנו בונים חבילות בקבוצות חבילות, כדי לקחת בחשבון חבילות נפרדות שצריך לשדרג יחד. לאחר שנבנתה כל הקבוצה, אנו מנהלים חבילת מבחן וירטואלית כדי לוודא שאף אחד מרכיבי הליבה שלנו וזרימות העבודה של המפתחים לא נשבר. כל קבוצה נבדקת בנפרד עם התקנת מערכת מלאה, אתחול וחבילת הבדיקה המקומית המופעלת על אותה גרסה של מערכת ההפעלה. בעוד שבנייה לחבילות בודדות בדרך כלל הושלמות תוך דקות, בדיקות אלה יכולות לארוך עד שעה בהתחשב במורכבות קבוצת החבילות.
לאחר הבנייה של החבילות וכל הבדיקות שעברו, אנו ממזגים את כל החבילות החדשות עם מאגר החבילות האחרון שלנו. כאשר חותכים שחרור חדש, אנו מצלמים את הבריכה הזו עם כל גרסת החבילה שננעלת לקראת שחרור זה. לאחר מכן אנו ממשיכים להנחות בזהירות את שחרור זה לצי תוך שימוש בעקרונות SRE כמו קנרינג מצטבר ומעקב אחר בריאות הצי.
אבל לא כל הבונים מצליחים בניסיון הראשון. אם חבילה לא מצליחה לבנות, בדרך כלל אנו בודקים אם יש באגים ידועים עם גשש החרקים של דביאן ועלולים לדווח עליה, אם לא ידוע כבר. לפעמים מהנדסי השחרור שלנו צריכים להיות יצירתיים וליישם דרכים/טלאים מקומיים כדי לקבל חבילה לבניית המערכת האקולוגית שלנו ובהמשך על טיפת הדרך לעקיפת הבעיה ברגע שמעלה הזרם פרסמה תיקון.
נושא אחד שנתקלנו בו כמה פעמים, למשל, הוא שב- Debred במעלה הזרם, חבילות בנויות בדרך כלל ב- Debian לא יציבות. לאחר מספר ימים, חבילות שנבנו כבר נודדות לבדיקות דביאן. במקרים מסוימים יתכן, כי תלות בבנייה תקועה באופן לא יציב ובכך לבנות בבדיקה עשויה להיות (עדיין) בר ביצוע. בדרך כלל אנו מנסים לעבוד במעלה הזרם במקרים אלה, כך שאנו מצמצמים את נטל המורכבות והתחזוקה לשמור על טלאים מקומיים אלה, תוך כדי להחזיר לקהילה.
אם אחד מהשלבים נכשלים, למסננת יש ארגז כלים של טריקים לנידון מחדש. לדוגמה, כאשר זה מתחיל את הבנייה הראשונית של קבוצת חבילות, המערכת מניחה ניחוש משכיל על אילו תלות צריך לבנות יחד. אבל לפעמים מידע הגרסאות המסופק בחבילות המקור של Debian יכול להיות לא שלם וניחוש זה שגוי. מסיבה זו, מסננת חוזרת מחדש על קבוצות בניין שנכשלו מעת לעת שנכשלו. מכיוון שתמונת המצב האחרונה של החבילות שלנו היא יעד מרגש, זה יכול לקרות שאחרי שקבוצת חבילות עצמאית לכאורה תוספת לתמונת המצב, קבוצה שבורה בעבר בונה ומעבירה בדיקות באופן בלתי צפוי. כל זרימות העבודה הללו הן בעיקר אוטומטיות וזה מדגיש את חשיבות החשיבה כ- SRE בתחום זה. כאשר עומדים בפני כישלון, בדרך כלל נראה קל יותר לתקן את הבנייה הכושלת פעם אחת, אך אם אנו צריכים להחיל את אותו הדרך לעקיפת הבעיה שוב ושוב, הצבת הדרך לעקיפת העקיפה תפחית את הנטל הכללי על המהנדסים שלנו.
ישנם גם כמה יתרונות אבטחה לבניית כל הבינאריות שלנו מהמקור ובמקור קוד מקור נוסף שמאמת את מקור הבינארי המנהל. במהלך אירוע אבטחה למשל, אנו מסוגלים לבנות מחדש במהירות ולהיות אמון בבנייה העובדת עם טלאי זמני, מכיוון שבנינו את כל החבילות בעבר, את האדמה בהפצה שלנו. בנוסף, אנו גם מצמצמים את מעטפת האמון שעלינו להכניס לדיביאן במעלה הזרם ולממצאי הבנייה הבינאריים המיוצרים על ידי התשתית שלהם. במקום זאת ברגע שנבלע קוד המקור ובנוי הבינארי באופן אמת, אנו יכולים להעיד באופן קריפטוגרפי כי הבינארי המריץ מקורו בדיוק בקוד המקור הזה.
שדרוג לרודטה
המהדורה האחרונה של Goobuntu התבססה על אובונטו 14.04 lts (שם קוד אמין). פיתוח ברודטה התחיל בשנת 2015 והיה מהר מאוד שנוכל’פשוט הפיל תמיכה באמינות ומחייבים את כל אוכלוסיית ההנדסה להתקין תפוצה חדשה ורעננה. מהניסיון הקודם של עדכון במקום בין גרסאות LTS, כבר הייתה לנו חוויה טובה של לדעת מה חיכה לנו עם הגירה זו. מכיוון שאובונטו הוא נגזרת מדביאן ומשתמשת הרבה מאותן תשתיות/פורמטים של אריזה (APT), זה היה לא היה’זה רעיון מטורף לחלוטין לשדרג את הצי מגובונטו 14.04 לדביאן במקום. השתמשנו מחדש בחלקים מסוימים מכלי השדרוג הקודם שלנו במקום, ועבדנו כדי להפוך אותו לאמין יותר, על ידי הוספת יותר אוטומציה והרבה יותר בדיקות.
כדי להקל על יצירת כלי כזה, בדוק אותו ותחזק אותו למשך זמן ההגירה, בחרנו להקפיא באופן זמני את Glinux Rodete כתמונת מצב של בדיקות דביאן בתאריך ספציפי שאנו מכנים קו הבסיס. אנו יכולים לקדם את קו הבסיס הזה בבחירתנו, כדי לאזן בין החבילות מסננת נוצרות. כדי להפחית את החיכוך, אנו קובעים בכוונה את קו הבסיס של רודטה במהדורה היציבה הנוכחית של דביאן בשנת 2016 שהיה קרוב הרבה יותר למצב הכללי של אובונטו אמין. בדרך זו נוכל להפריד בין שדרוג במקום בין אמינות לשינויים בגרסאות החבילה של דביאן וגרסאות החבילה שהתרחשו בביאן במועד מאוחר יותר.
בשנת 2017 התחלנו להעביר את המכונות לרודטה וסיימנו את ההגירה האחרונה במקום בסוף 2018. עם זאת, עדיין היה לנו קו בסיס של חבילות שבאותה נקודה מתוארך כמעט שנתיים בעבר. כדי להדביק את בדיקות דביאן, התחלנו במאמץ רחב של צוות להתמקד במיטוב התנהגות המסננת ולהאיץ את הזמן הדרוש לבניית / בדיקה חבילות. הפעלת השדרוגים בצורה מצטברת זו ובעלי יעד שחרור מתגלגל נע בו אנו שולטים בהקלת עומס העבודה עבור מהנדסי גוגל ולצוות שלנו.
בתחילת 2019 התחלנו לסגור את השרידים האחרונים של מכונות Goobuntu. קו הבסיס שלנו התקדם גם לאחור רק ב ~ 250 יום, שבאותה עת פירושו שאנחנו משתמשים ברוב גרסאות החבילה שהיו חלק מבוסטר. באמצע 2020 סוף סוף תפסנו במלואו באותה שעה כשדביאן בולסיי שוחרר. אנו ממשיכים להתקדם בקו הבסיס שלנו וככל הנראה כבר משתמשים בגרסה דומה של המהדורה הבאה של Debian Stable, לפני שחרורו באמצע 2023.
להגיע לזן
כיום חייו של חבר צוות Glinux נראים שונים מאוד. צמצמנו את כמות זמן ההנדסה והאנרגיה הנדרשים לשחרור למהנדס שחרור אחד בתפקיד שמסתובב בין חברי הצוות. אין לנו עוד דחיפה גדולה לשדרג את כל הצי שלנו. אין צורך נוסף באלפא, בטא וגז רב -שלבי לשחרור LTS חדש ובמקביל רודף אחרי מכונות ישנות שעדיין ניהלו את אובונטו מדויקת או צוללת.
שיפרנו באופן דרמטי את עמדת האבטחה שלנו על ידי הפעלת הצי שלנו קרוב יותר לשחרור במעלה הזרם. בעוד שדביאן מספק מקור טוב לתיקוני אבטחה עבור המסלולים היציבים והתיקנים, הבנו שלא כל חור אבטחה שמקבל טלאים, בהכרח יש ייעוץ אבטחה של דביאן (DSA) או מספר CVE. לוח הזמנים לשחרור המתגלגל שלנו מוודא שאנו טלאים חורי אבטחה על כל הצי במהירות מבלי להתפשר על היציבות, בעוד שלפני מהנדסי האבטחה נאלצו לבדוק בקפידה כל DSA ולוודא שהתיקון הגיע לצי שלנו.
בדיקות הבדיקה המשופרות שלנו ובדיקות אינטגרציה עם צוותי שותפים מרכזיים המפעילים מערכות מפתחים קריטיות הניבו גם חוויה יציבה יותר באמצעות חלוקת לינוקס המספקת את הגרסאות האחרונות של גרעין לינוקס. הכמיהה החזקה שלנו לאוטומציה של כל מה שבצינור הפחיתה משמעותית את העמל והלחץ בתוך הצוות. כעת ניתן גם לדווח על באגים וחוסר תואם עם גרסאות ספריה אחרות תוך הקפדה על כך שכלי Google יעבדו טוב יותר במערכת האקולוגית של לינוקס.
אם אתה מעוניין להפוך את השחרורים המתגלגלים בחברה שלך להצלחה, שקול לאזן בין צרכי החברה לבין שדרוג זריזות. היותנו בשליטה על היעד הנע שלנו ובבסיס עזר להאט בכל פעם שנתקלנו יותר מדי בעיות ושברנו את כל הצוות שלנו SLOs. המסע שלנו חיזק בסופו של דבר את האמונה שלנו כי שינויים מצטברים ניתנים לניהול טוב יותר משחרור המפץ הגדול.
אם אתה מסוגל לשלוט על זרם העבודה החדשה ולשמור על כך צפוי, עשינו את החוויה שהמהנדסים שלנו נשארים מאושרים יותר ופחות לחוצים. זה בסופו של דבר הוריד את הצוות ונדאג לדאוג שנוכל לבנות מומחיות במקום להתמודד עם שריפות בוערות מרובות בו זמנית.
בעתיד אנו מתכננים לעבוד עוד יותר עם דביאן במעלה הזרם ולתרום יותר מהטלאים הפנימיים שלנו כדי לשמור על המערכת האקולוגית של החבילה של Debian.
- מפתחים ומתרגלים
- מערכות
- DevOps & SRE
למה להריץ את לינוקס בענן Google?
לארגונים בענן יש הרבה עבורם: זריזות מוגברת, יכולת הסתגלות, גמישות ואמינות – מה שמקל על העקומה הרבה יותר קל. שילוב של תשתיות מקומיות עם שירותי ענן יכול לנשום חיים חדשים בתהליכים קיימים ולהגדיל את מספר הכלים והטכנולוגיות העומדים לרשותכם.
נשמע נהדר, נכון? זה – אבל ראשית, עליך לשקול את בחירתך בספק הענן ובמערכת ההפעלה. אילו מהם יספקו את הבסיס הטוב ביותר לבנות סביבת הענן ההיברידית שלך, ובכל זאת מאפשרת לך את הגמישות לאמץ את השירותים והטכנולוגיות שאתה רוצה?
פלטפורמת Linux ו- Google Cloud הם שילוב חזק שאפשר להעביר את הארגון שלך לענן ולתוך העתיד. לתת’תסתכל על כל אחד מהם לפני שלומדים מה גורם להם להתבלט כצוות.
איך פלטפורמת Linux ו- Google Cloud עובדים יחד
פלטפורמת Google Cloud
פלטפורמת Google Cloud, כמו אמזון’S AWS ו- Microsoft Azure, היא פלטפורמת ענן ציבורית והיא חלק מ- Google Cloud, שנבנה ב- Google’תשתית גלובלית. Google Cloud מספקת שירותי ענן וכלי ניהול – VIA קונסולת Google Cloud – המספקת את כל הדרוש לבניית סביבות ענן ומולטי -קלוד יעילות, לפרוס יישומים וממשקי API, ולתמוך בעומסי עבודה בסביבות.
לפלטפורמת Google Cloud יש את הכלים והיכולות הממוקדות אבטחה כדי לאפשר לארגון שלך לנצל את כל היתרונות של מחשוב ענן עם אסטרטגיה ברורה (Google Cloud Multicloud Solutions), לקבל החלטות המבוססות על מידע מדויק ועודכן של חברת Google (Analytics), כמו גם על צוותים מתקשרים ועובדים יחד (מרחב עבודה של גוגל) (Data Analytics), כמו גם על צוותים ועובדים יחד (Google Works,).
Google Cloud כולל את פלטפורמת Google Cloud, כמו גם חבילה של מוצרים וכלים כמו אחסון Cloud Cloud Google (אחסון אובייקטים), Google Cloud Datastore (מסד נתונים של NOSQL), פונקציות Google Cloud (פלטפורמת מחשוב מונעת אירועים כשירות), מנוע מחשוב Google או GCE (מכונות וירטואליות הפועלות בגוגל’S Data Center) ו- Google App Engine (פלטפורמת יישומים ללא שרת) – כמו גם הרבה יותר.
לינוקס foR מחשוב ענן
לינוקס היא מערכת הפעלה של קוד פתוח. בגלל מודל פיתוח הקוד הפתוח שלה, לינוקס מתאימה באופן אידיאלי למחשוב ענן בכך שהיא מאפשרת לארגונים לבחור את הפלטפורמות והטכנולוגיות המתאימות בצורה הטובה ביותר לצרכים ולמטרותיהם, כמו גם לאפשר בחירה בשירותים וספקים הדרושים, ובכך נמנעת מהוצאות ונעילת ספקים מיותרים. עם לינוקס למחשוב ענן, אתה מקבל את כל היתרונות של לינוקס לפריסות IT מסורתיות עם הגמישות לצמוח באמצעות טכנולוגיות חדשות יותר כמו Kubernetes, AI/ML ו- Edge Computing. מסיבות אלה, לינוקס נותרה הבחירה המובילה במערכת ההפעלה במחשוב ענן.
עדיף ביחד: היתרונות של הפעלת לינוקס בפלטפורמת Google Cloud
פלטפורמת Google Cloud בנויה על לינוקס ועובדת עם מספר התפלגויות לינוקס כמו CentOS, אובונטו ו- Red Hat Enterprise Linux. אופי הקוד הפתוח של מערכת לינוקס עם פלטפורמת Google Cloud פירושו שמשתמשים מקבלים את היתרונות הבאים:
- גמישות של ספקים ושירותים
- העברה קלה יותר של יישומים ומידע
- עקביות של מידע ותהליכים על פני עקבות
- החדשנות של מבנה וקהילה של קוד פתוח
בעיקרון, ספק ענן חזק על קרן לינוקס מבוססת פירושו שאסטרטגיית הענן הארגונית שלך פונה לכיוון הנכון.
היתרונות של Red Hat Enterprise Linux בפלטפורמת Google Cloud
אימוץ גישה היברידית או רב -קלאוד יכולה להיות מאתגרת – במיוחד מתי אתה’רגיל לחומרה מדור קודם ותשתית מסורתית. אבל ספק שירותי הענן הנכון והפצת לינוקס מספקים התחלה מוצקה. עם Red Hat® Enterprise Linux® בפלטפורמת Google Cloud, יש לך את הבסיס לאסטרטגיית ענן שתקח אותך לאן שאתה רוצה ללכת. ומכיוון ש- Red Hat Enterprise Linux פועל בגוגל, כך גם את כל שאר האדום האט’מוצרים.
Red Hat Enterprise Linux ו- Google Cloud Platform עוזרים לפשט את פלטפורמת התשתית שלך, להאיץ פיתוח ומסירה של יישומים ולשלב אוטומציה לתהליכי העסקים והניהול שלך, כך שתוכל לחדש במהירות רבה יותר ולהסתגל לשינויים בתעשייה, רגולטוריים וגלובליים עם סביבת ענן היברידית זריזה.
והנה’S משהו אחר-Red Hat Enterprise Linux עבור SAP Solutions ב- Google Cloud הוא פלטפורמה בעלת ביצועים גבוהים לפעולות מסד נתונים הכוללת תוכן ותכונות ספציפיות ל- SAP ומאפשרת לארגונים לפרוס SAP על פני סביבות ענן היברידיות. Red Hat Enterprise Linux היא אחת משתי הפצות לינוקס בלבד המוסמכות לשימוש עם SAP HANA® ו- SAP S/4HANA®.
עם תצורה גמישה, בסיס פתוח ובסיס ממוקד אבטחה, תשתיות רשת גלובליות וניהול נתונים וניתוח מתקדמים, Red Hat ו- Google Cloud מעניקים לך את הפונקציות והיכולות הדרושות לך כדי לבנות ולהפעיל סביבות היברידיות ורב-קלודיות ביעילות וביעילות. כל רכיב מספק פונקציונליות וערך מפתח וסביבת הפעלה אמינה בעלת ביצועים גבוהים עבור עומסי העבודה והיישומים שלך על פני תשתיות פיזיות, וירטואליות, מיכליות, מבוססות ענן וקצה.
הסיפור שמאחורי גוגל’S שולחן עבודה שולחני ביתי

אם אתה מסתכל סביב נוף ההר של גוגל, משרדי CA, תראה מכונות Windows, Chromebooks, Macs – ו- Glinux Desktops. G מה, אתה שואל? ובכן, בנוסף להסתמך על לינוקס עבור השרתים שלה, לגוגל יש הפצת שולחן עבודה לינוקס משלה.
אתה לא יכול להשיג את זה – מעז! – אבל במשך יותר מעשור, גוגל אופה ואוכלת את הפצת שולחן העבודה של לינוקס תוצרת בית משלה. הגרסה הראשונה הייתה Goobuntu. (כפי שתנחש מהשם, זה היה מבוסס על אובונטו.)
בשנת 2018, גוגל העבירה את שולחן העבודה של לינוקס הפנימי שלה מהגובונטו למפגש לינוקס חדש, הגלינוקס מבוסס דביאן. למה? מכיוון שכפי שהסבירה גוגל, התמיכה לטווח הארוך של אובונטו (LTS) שחרור שנתיים “פירושה שהיינו צריכים לשדרג כל מכונה בצי שלנו של למעלה מ 100,000 מכשירים לפני תאריך סוף החיים של מערכת ההפעלה.”
זה היה כאב. הוסף את הצורך הגוזל זמן להתאים אישית את המחשבים האישיים של המהנדסים, וגוגל החליטה שזה עולה יותר מדי. חוץ מזה, “המאמץ לשדרג את צי הגובונטו שלנו בדרך כלל לקח את החלק הטוב יותר של שנה. עם חלון תמיכה לשנתיים, נותר רק שנה אחת עד שנאלצנו לעבור את אותו התהליך שוב עבור ה- LTS הבא. כל התהליך הזה היה גורם לחץ עצום עבור הצוות שלנו, מכיוון שקיבלנו מאות באגים עם בקשות לעזרה למקרים פינתיים.”
לכן, כשגוגל הספיק מזה, זה עבר לדביאן לינוקס (אם כי לא רק וניל דביאן). החברה יצרה הפצה דביאן מתגלגלת: Glinux Rolling Debian Testing (Rodete). הרעיון הוא שמשתמשים ומפתחים מוגשים בצורה הטובה ביותר על ידי מתן להם את העדכונים והתיקונים האחרונים כפי שהם נוצרים ונחשבים מוכנים לייצור. ההפצות הללו כוללות את קשת לינוקס, בדיקות דביאן, ו- OpenSuse Tumbleweed.
עבור גוגל, המטרה המיידית הייתה לרדת ממחזור השדרוג לשנתיים. כפי שהראה המעבר לשילוב רציף/פריסה רציפה (CI/CD), שינויים מצטברים אלה פועלים היטב. הם גם קלים יותר לשליטה ולהחזק אם משהו משתבש.
כדי לגרום לכל העבודה הזו בלי הרבה דם, זיעה ודמעות, גוגל יצרה מערכת זרימת עבודה חדשה, מסננת. בכל פעם שמסננת מגלה גרסה חדשה של חבילת Debian, היא מתחילה מבנה חדש. חבילות אלה מובנות בקבוצות חבילות מכיוון שלעתים קרובות יש לשדרג חבילות נפרדות יחד. לאחר שנבנתה הקבוצה כולה, גוגל מנהלת חבילת מבחן וירטואלית כדי להבטיח שלא רכיבי ליבה וזרימות עבודה של המפתחים נשברים. בשלב הבא, כל קבוצה נבדקת בנפרד עם התקנת מערכת מלאה, אתחול וסוויטת מבחן מקומית. החבילה בונה שלמה תוך דקות, אך הבדיקה יכולה לארוך עד שעה.
לאחר סיום זה, כל החבילות החדשות ממוזגות עם מאגר החבילות החדש ביותר של Glinux. ואז, כשגוגל מחליטה שהגיע הזמן לשחרר אותו לייצור, הצוות תמונות זה מאוחד. לבסוף, זה מגלגל את השחרור הטרי לצי. כמובן, זה’זה לא הולך רק לזרוק את זה על המשתמשים. במקום זאת, היא משתמשת בעקרונות הנדסת אמינות באתר (SRE) כמו קנרינג מצטבר כדי לוודא ששום דבר לא משתבש.
במהלך השנים גוגל השתפרת בזה. היום, בזכות מסנבה, כל צוות הפיתוח של Glinux מורכב ממיקום מהנדס שחרור יחיד בתפקיד המסתובב בין חברי הצוות. אין דחיפות גדולות לשדרג את הצי. אין משחררות אלפא, בטא וזמינות כללית (GA) (GA).
מוטב, בזכות לוח הזמנים לשחרור, גוגל יכולה לתקן חורי אבטחה על כל הצי במהירות מבלי להתפשר על יציבות. בעבר, מהנדסי אבטחה נאלצו לבדוק בזהירות כל ייעוץ אבטחה של דביאן (DSA) כדי לוודא שהתיקון נמצא.
בנוסף, בדיקות הבדיקות והבנייה של גוגל של גוגל עם צוותי שותפים מרכזיים המפעילים מערכות מפתחים קריטיות הניבו גם חוויה יציבה יותר באמצעות חלוקת לינוקס המספקת את הגרסאות האחרונות של גרעין לינוקס. הכמיהה החזקה שלנו לאוטומציה של כל מה שבצינור הפחיתה משמעותית את העמל והלחץ בתוך הצוות. כעת ניתן גם לדווח על באגים וחוסר תואם עם גרסאות ספריה אחרות תוך הקפדה על כך שכלי Google יעבדו טוב יותר במערכת האקולוגית של לינוקס.”
במבט קדימה, הצוות של גוגל הצהיר שזה’לעבוד “יותר מקרוב עם דביאן במעלה הזרם ולתרום יותר מהטלאים הפנימיים שלנו כדי לשמור על המערכת האקולוגית של החבילה של Debian.”
הכל נשמע נהדר. אבל יש לי שתי מחשבות לחלוק.
ראשית, עבור ארגונים מסוימים, LTS משחרר עדיין הגיוני. אם אינך זקוק לתוכניות החדשות והנוקשות ביותר לעסק שלך, אובונטו או Red Hat Lts Linux עדיין הגיוני.
שנית, וזה החשוב: המסננת נשמעת כמו המאו של החתול. תוכנית אחת שיכולה לבצע אוטומציה של צינור ייצור מתגלגל מתגלגל עד כדי כך שלוקח רק מהנדס אחד כדי לשמור על שולחן עבודה המשמש 100,000+ משתמשים? רשום אותי!
עדיף, שחרר את הקוד של מסננת כדי שכולנו יכולים להתחיל לייצר שחרור שולחן עבודה של Rolling Linux. מה דעתך על זה, גוגל? מה אתה אומר?
- שולחן העבודה לינוקס
- גוגל
זכויות יוצרים © 2022 IDG Communications, Inc.



