Production הוא נקודת האמת של המערכת

📚 כשהמערכת כבר רצה - חלק 1 ארכיטקטורה מערכתית #פרודקשן
תוכן עניינים

Production הוא נקודת האמת של המערכת

יש רגע שבו מהנדסים מבינים ש-Production אינו “עוד שלב בפייפליין”.

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

האשליה: “עבר בדיקות, אז זה בטוח”

לפני פרודקשן יש:

  • בדיקות
  • סימולציות
  • סביבות Staging
  • ו-QA יסודי

וכל אלה חשובים.

אבל הם לא מדמים את הדבר עצמו.

ב-Production:

  • עומס אינו קבוע
  • משתמשים אינם צפויים
  • ותזמון לעולם אינו מושלם

מה שעובד בבידוד - עלול להתנהג אחרת לגמרי בקנה מידה.

למה תקלות אמיתיות לא משתחזרות

רבות מהתקלות החמורות ביותר:

  • לא קרו בסביבה מבוקרת
  • לא חזרו על עצמן
  • ולא ניתנות לשחזור מלא

לא כי פספסנו בדיקה - אלא כי התנאים שיצרו אותן נולדו משילוב חד-פעמי של:

  • עומס
  • תזמון
  • ואינטראקציות בין רכיבים

Production הוא מערכת דינמית. לא ניסוי חוזר.

ההבדל בין “עובד” ל-”נשלט”

מערכת יכולה:

  • לעבוד
  • להחזיר תשובות
  • ולעמוד ב-SLA

ועדיין להיות מסוכנת.

ההבדל הקריטי אינו: האם המערכת עובדת - אלא: האם אנחנו מבינים מה קורה בה.

ב-Production: שליטה חשובה יותר מ-Correctness.

Observability לפני אלגנטיות

בשלב הזה, שאלות כמו:

  • “כמה זה אלגנטי?”
  • “כמה זה יפה ארכיטקטונית?”

מתחלפות בשאלות אחרות:

  • האם נדע לזהות חריגה?
  • האם נדע לעצור נזק?
  • האם נדע להסביר מה קרה?

מערכת שאינה ניתנת לחקירה ולהבנה - אינה ניתנת לניהול.

המשל

אפשר לחשוב על טיסה.

סימולטור יכול להיות מושלם. בדיקות קרקע יכולות להיות קפדניות.

אבל באוויר - הכול משתנה.

טייס אינו שואל: “האם המערכת נכונה?” הוא שואל: “האם אני יודע מה קורה עכשיו, ומה האפשרויות שלי אם זה משתנה?”

השורה התחתונה

Production אינו מקום שבו מסיימים לבנות. זה המקום שבו מתחילים לקחת אחריות.

מערכות יציבות לא מניחות ש-Production “יהיה בסדר”. הן מתוכננות מתוך הבנה: ששם הכול כבר זז.

מבט קדימה

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

תגובות