שרת, ממשקים ונתונים · מתקדם

שירות אחד או הרבה: מתי לפצל

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

למה מונוליט אינו מילה גסה

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

סימנים שהגיע הזמן

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

הסימן שאינו מספיק: "כי ככה בונים היום".

איך מפצלים נכון

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

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

לעומק

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