מה זה SRE? תפקידו החיוני של מהנדס אמינות האתר

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

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

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

מה זה SRE?

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

"ביסודו של דבר, זה מה שקורה כשמבקשים ממהנדס תוכנה לתכנן פונקציית תפעול", כפי שמצטט בן טרינור, סמנכ"ל ההנדסה בגוגל וסנדק ה- SRE.

האחריות העיקרית בין אחריות ה- SRE היא קביעת ספי רמת שירות, המתבטאים לעיתים קרובות כיעדים ברמת השירות (SLO), המסייעים ליידע אם שחרור מקבל אור ירוק או לא. הגביע הקדוש הוא תמיד 'חמש תשע' מקודשים או זמן פעולה של 99.999%. ככל שזמן הפעולה יהיה טוב יותר, כך יותר מפתחי חבלים יקבלו השקה של דברים חדשים ומגניבים וככל שה- SREs ישנים יותר, מה שמוביל למערכת יחסים מועילה הדדית בין הפונקציות, רחוק מהימים הישנים של אנטגוניזם של מפתח ומבצע.

פונקציית SRE תימדד בדרך כלל על פי ערכי מדדי אמינות מרכזיים, כלומר: ביצועי מערכת, זמינות, חביון, יעילות, ניטור, תכנון קיבולת ותגובת חירום.

[גם בנושא: ניטור יישומים: מה devops יכול לעשות טוב יותר]

אחריות עבודה מרכזית של SRE

כל SRE טוב יהיה אובססיבי לגבי דבר אחד במיוחד: אוטומציה.

כפי שג'ייסון קוואלמן, SRE במעקב אחר יצרן התוכנה New Relic, קובע בפוסט בבלוג: "הרבה מהתפקיד הזה הוא לחשוב על דברים לא יעילים וגוזלים זמן שאנשים עושים ולשים להם עצור בהקדם האפשרי. במקום לבעוט פחית בהמשך הדרך בעבודה ידנית, אתה אומר 'אני אקח את הזמן לעשות את זה אוטומטית עכשיו ולעצור מכל אחד אחר צורך לעשות את הדבר הכואב הזה'. "

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

"למהנדסי שחרור יש הבנה מוצקה (אם לא מומחה) בניהול קוד המקור, מהדרים, בניית שפות תצורה, כלי בנייה אוטומטיים, מנהלי חבילות ומתקינים. מערך המיומנויות שלהם כולל ידע עמוק במספר תחומים: פיתוח, ניהול תצורה, שילוב מבחנים, ניהול מערכות ותמיכת לקוחות ", כתב דינה מקנוט, מנהל התוכנה הטכנית בגוגל, לספר המכונן Site Reliability Engineering (הוצאת אוריילי ב 2016 וחיבר הגוגלרים ג'ניפר פיטוף, ניאל ריצ'רד מרפי, כריס ג'ונס ובטי בייר).

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

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

"כתיבת מוות שלאחר המוות אינה עונש - זוהי הזדמנות למידה עבור החברה כולה", כותבים אנשי הצוותים ג'ון לונני וסו לואדר בפרק שתרם בספר Site Reliability Engineering .

[גם בנושא: 3 שלבים ליישום מתודולוגיות זריזות בפעילות ה- IT]

SREs לעומת devops מהנדסים

אני יודע מה אתה חושב. כל זה נשמע הרבה כמו devops, אבל כשמדובר במינוח, תואר ה- SRE למעשה מתועד לפני מהנדס devops בכחמש שנים.

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

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

כפי שמגדירה זאת ג'יין גרול במכון Devops: "Devops מתמקדת בהנדסה של אספקה ​​רציפה לנקודת הפריסה; SRE מתמקדת בהנדסת פעילות מתמשכת בנקודת צריכת הלקוחות. "

ההיסטוריה של SRE בגוגל

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

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

"כך ש- SRE ביסודו עושה עבודות שבוצעו מבחינה היסטורית על ידי צוות תפעול, אך משתמשת במהנדסים בעלי מומחיות בתוכנה, ובנקאות על העובדה כי מהנדסים אלה מטבעם הם נטויים ויש להם את היכולת להחליף אוטומציה לעבודה אנושית, ”מוסיף טריינור.

גוגל גם חושבת בצורה די נוקשה כיצד להקים צוות SRE. כל ה- SRE של Google חייבים להיות מהנדסי תוכנה של Google או "מועמדים שקרובים מאוד להסמכות הנדסת תוכנה של Google". עליהם להיות בעלי כישורי ניהול תשתית, לרוב "מומחיות מערכת יוניקס ומערכות רשת (שכבה 1 עד שכבה 3)."

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

תיאור תפקיד SRE ומשכורת

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

אך מה לגבי ארגונים בהם תפקיד ה- SRE אינו קיים? בדו"ח O'Reilly "מה זה SRE?" קורט אנדרסן מלינקדאין וקרייג סבניק מספליט (ספק תוכנה לניהול שחרור) ממליצים לנקוט בגישה "עממית". הם ממליצים למצוא "צוות פיתוח בעל מוטיבציה לשנות וליישם שם צוות SRE (או יחיד) קטן. לאורך זמן אתה יכול להשתמש בהצלחה הזו כדוגמה חיובית לקבוצות אחרות. "

השכר השנתי הממוצע עבור SRE הוא בערך 130,000 $ בארה"ב ו- 76,000 £ בבריטניה, על פי אתר המשרות אכן.

משאבי SRE

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

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

ל- O'Reilly יש גם ספרייה מקיפה של נכסים מקוונים, סרטונים וספרים אלקטרוניים בנושא, שאצרו בקלות בפלייליסט זה של SRE Essentials על ידי מהנדסת האמינות לשעבר של אתרים בגוגל, ליז פונג-ג'ונס.

לוגן הלמידה המקוון Coursera מציע מספר קורסים, כולל הנדסת אמינות האתר הפופולרית: מדידה וניהול אמינות מ- Google Cloud Training. קורס זה זמין גם מ- Pluralsight, וכך גם הקורס למתחילים הנדסת אמינות באתר (SRE): התמונה הגדולה מאת אלטון סטונמן. קרן לינוקס מציעה קורס בהדרכה עצמית שכותרתו DevOps ו- SRE Fundamentals: Implementing Continuous.

אימון מדוזות בבריטניה מציע אפשרויות שונות להכשרה פרטית בת יומיים עבור קרן SRE (SREF).

קרא עוד על devops

  • מה זה devops? שינוי פיתוח תוכנה
  • 3 דרכים להתחיל תוכנית devops
  • שיטות עבודה מומלצות של Devops: חמש השיטות שאתה צריך לאמץ
  • 15 KPIs לעקוב אחר טרנספורמציה של devops
  • ניטור יישומים: מה שדפים יכולים לעשות טוב יותר
  • איפה שהנדסת אמינות האתר פוגשת devops
  • חמישה עקרונות להפיכת צוות devops זריז בשיתוף פעולה
  • 3 שלבים ליישום מתודולוגיות זריזות בפעילות ה- IT
  • כיצד צוותים זריזים יכולים לתמוך בניהול אירועים
  • כיצד dataops משפר נתונים, ניתוחים ולמידת מכונה
  • יישום devops במדעי נתונים ולמידת מכונה
  • 7 שאלות כדי לתעדף את צבר ה- devops שלך