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

למה אנחנו לא מצליחים לשבור מונולית למיקרו סרביסים?

11/11/2025

מתכנתת חכמה מקבלת קוד מסורבל וחושבת-

"אני יודעת! אקח כל פעם מודול קטן ואממש אותו מחדש ב node.js, וכך לאט לאט אוכל לברוח מהמפלצת ולבנות מערכת קטנה ומודולרית".

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

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

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

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