איזון הצורך באמינות השירות עם הצורך לשחרר תכונות חדשות.
→הגדרת Service Level Objective (SLO) (לדוגמה, 99.9% זמינות). ה-0.1% הנותרים הם תקציב השגיאות. אם התקציב כמעט שלם, שחרור תכונות. אם התקציב התרוקן, עצירת שחרור תכונות והתמקדות בשיפורי אמינות.
למה: תקציב השגיאות מספק מסגרת מונעת נתונים לקבלת החלטות סיכון, ומיישר קו בין צוותי הנדסה, מוצר ועסקים ליעד משותף.
למידה מאירועים כדי למנוע הישנותם, תוך טיפוח תרבות של בטיחות פסיכולוגית.
→ביצוע postmortems ללא האשמה לאחר אירועים. התמקדות בחקירה בגורמים מערכתיים, פערי תהליכים וכשלים בכלים, ולא בהטלת אשמה על יחידים. התוצאה צריכה להיות רשימה של פריטי שיפור מעשיים.
למה: תרבות ללא האשמה מעודדת תקשורת כנה ופתוחה, המובילה להבנה מדויקת יותר של גורמי השורש של אירוע ופעולות מנע יעילות יותר.
תיאום יעיל של התגובה לאירוע חמור, תוך הימנעות מבלבול וכפילות מאמצים.
→יישום Incident Command System (ICS) עם תפקידים מוגדרים בבירור: מפקד אירוע (תיאום כללי), מנהל תפעול (חקירה/תיקון טכני), ומנהל תקשורת (עדכוני בעלי עניין).
למה: ICS מספק מבנה סטנדרטי וניתן להרחבה לתגובה לאירועים, ומבטיח קווי סמכות ותקשורת ברורים, שהם חיוניים לפתרון מהיר של בעיות מורכבות.
מדידת ביצועי ארגון אספקת תוכנה.
→מעקב אחר ארבעת מדדי DORA המרכזיים: תדירות פריסה (כמה פעמים), זמן אספקה לשינויים (כמה מהר מ-commit לפריסה), שיעור כשל שינוי (איזה אחוז מהפריסות גורם לכשל), וזמן לשחזור שירות (MTTR).
למה: ארבעת המדדים הללו מספקים תצוגה מאוזנת של מהירות הפיתוח ויציבות התפעול, והוכחו כמתואמים עם ארגונים בעלי ביצועים גבוהים.
צוות SRE מבלה זמן רב מדי במשימות תפעוליות ידניות וחוזרות על עצמן (toil), ולא נשאר לו זמן לפרויקטים הנדסיים.
→זיהוי וכימות ה-toil הגוזל זמן רב ביותר. תיעדוף ואוטומציה של משימות אלו (לדוגמה, הטמעת autoscaling במקום scaling ידני, auto-remediation להתראות נפוצות). הגבלת toil לפחות מ-50% מזמן המהנדס.
למה: Toil פוגע בפריון ובמורל. הפחתה שיטתית שלו באמצעות אוטומציה משחררת מהנדסים לעבוד על שיפורי אמינות לטווח ארוך.
ייחוס עלויות ענן בצורה מדויקת לצוותים, שירותים או סביבות שונות בתשתית משותפת.
→יישום אסטרטגיית תיוג/תוויות עקבית. שימוש בתוויות אלו לסינון בדוחות חיוב של Cloud Billing. עבור GKE, הפעלת הקצאת עלויות GKE כדי לפרק עלויות לפי namespace או workload.
למה: הקצאת עלויות מדויקת מספקת נראות, המניעה אחריותיות. צוותים שיכולים לראות את ההוצאות שלהם מוסמכים לבצע אופטימיזציה שלהן.
אופטימיזציה של עלויות מחשוב עבור מגוון עומסי עבודה (יציבים, ניתנים להפרעה, פיתוח/בדיקה).
→התאמת עומס העבודה למודל התמחור. שימוש ב-Committed Use Discounts (CUDs) לעומסי עבודה יציבים, 24/7. שימוש ב-Spot VMs לעבודות עמידות לכשלים וניתנות להפרעה (לדוגמה, עיבוד אצווה). תזמון סביבות פיתוח/בדיקה לכיבוי מחוץ לשעות העבודה.
למה: גישה אחידה לתמחור מחשוב אינה יעילה. שימוש בכלי הנכון לעבודה יכול להוביל לחיסכון משמעותי (>70%) מבלי להשפיע על הביצועים.
אופטימיזציה של עלויות וביצועי GKE על ידי הבטחת ש-pods מבקשים כמויות מתאימות של CPU וזיכרון.
→פריסת Vertical Pod Autoscaler (VPA) במצב `recommendation`. ניתוח ההצעות שלו להתאמת `requests` משאבי ה-pod. לאחר השגה ביטחון, מעבר למצב `auto` עבור התאמת גודל רציפה.
למה: הקצאת יתר של pods מבזבזת כסף, בעוד שהקצאת חסר גורמת לבעיות ביצועים (throttling, OOMKilled). VPA משתמש בנתוני שימוש בפועל כדי לתת המלצות מדויקות לגודל, ומשפר הן את היעילות והן את היציבות.
הפחתת זמן האחזור הנגרם על ידי cold starts עבור שירות Cloud Run.
→הגדרת ערך `min-instances` כדי לשמור על מספר מופעים חמים. בנוסף, אופטימיזציה של תמונת הקונטיינר (תמונת בסיס קטנה יותר, פחות שכבות) וקוד אתחול היישום (אתחול עצלני).
למה: `min-instances` היא הדרך הישירה ביותר להפחתת cold starts, אך יש לה עלות. שילובו עם אופטימיזציה של קונטיינרים וקוד מספק גישה מאוזנת לביצועים ועלות.
אופטימיזציה של עלויות עבור עומס עבודה של BigQuery Analytics בקנה מידה גדול עם דפוסי שאילתות משתנים.
→מעבר מתמחור on-demand ל-BigQuery Editions (slots). רכישת התחייבות slots בסיסית לעומס צפוי והפעלת autoscaling עבור שיאים. בנוסף, אופטימיזציה של שאילתות על ידי שימוש בטבלאות מחולקות/מקובצות והימנעות מ-`SELECT *`.
למה: עבור עומסי עבודה עקביים, תמחור מבוסס slots יעיל יותר מבחינת עלות מאשר on-demand. Autoscaling מספק גמישות עבור עליות פתאומיות תוך שליטה בעלויות. אופטימיזציה של שאילתות וטבלאות מפחיתה את כמות הנתונים המעובדים, ומורידה ישירות את העלויות.
הפחתת עלויות יציאת רשת גבוהות עבור יישום מבוזר גלובלית.
→שימוש ב-Cloud CDN לשמירת תוכן סטטי במטמון בקצה הרשת, קרוב יותר למשתמשים. עבור תעבורה דינמית, בחירת Network Service Tier המתאים (Premium לביצועים, Standard לחיסכון בעלויות). עיבוד נתונים אזורי כדי למזער תעבורה בין-אזורית.
למה: יציאת נתונים היא מניע עלויות מרכזי. CDN מפחית עומס תעבורה מהמקור, ומפחית ישירות את יציאת הנתונים. שימוש מושכל בשכבות רשת ועיבוד נתונים אזורי יכול להוריד משמעותית את העלויות.