ניר מקלף, CTO
בשימוש המקורי שלו, המונח "מונוליטי" תיאר יישומי מיינפריים עצומים ללא מודולריות שמישה.
בהנדסת תוכנה, יישום מונוליטי מתאר יישום תוכנה חד-שכבתי שבו ממשק המשתמש וקוד הגישה לנתונים משולבים לתוכנית אחת מפלטפורמה אחת. לדוגמה, מסד נתונים מלא בטבלאות או ממשק משתמש בצד הלקוח עם דפי HTML או JS.
פילוסופיית העיצוב היא שהאפליקציה אחראית לא רק למשימה מסוימת, אלא יכולה לבצע כל שלב הדרוש להשלמת פונקציה מסוימת.
ארכיטקטורת microservices מפרקת את הפעולה לאוסף של יחידות עצמאיות קטנות יותר המתקשרות זו עם זו ממשקי API של משתמש (ממשקי תכנות יישומים). יחידות אלו מבצעות כל תהליך יישום כשירות נפרד. אז לכל השירותים יש את ההיגיון שלהם ואת מסד הנתונים, כמו גם לבצע את הפונקציות הספציפיות.
כמה מהחסרונות הגדולים של אדריכלות מונוליטית הם:
גישת המיקרו-שירותים מציעה יתרונות מוחשיים לרבות עלייה במדרגיות, גמישות, זריזות ויתרונות משמעותיים נוספים כגון:
זוהי החלטה שחייבת להיעשות בזהירות יתרה תוך התחשבות במה שמתאים ביותר לצרכי העסק ולפתרון התוכנה שלך, לשתי הגישות יש יתרונות וחסרונות. בחירה בארכיטקטורה מונוליטית יכולה למעשה להועיל לנו אם אנחנו מפתחים אפליקציה קטנה שאינה דורשת הרבה היגיון עסקי ומדרגיות, צוותים קטנים, מוצר פשוט, צורך בהשקה מהירה או צורך ביצירת POC פשוט. בחירת ארכיטקטורת שירותי מיקרו תתאים ליישומים מורכבים יותר, מוצר עם תוכנית עתידית ברורה להתרחבות, המכיל מגוון שירותים שונים, בסיס משתמשים גדול ונתונים.
הפסק להוסיף שירותים ותכונות חדשות למונולית שלך. במהלך החודשים הראשונים, כשהצוותים הראשוניים שלך בונים את שירותי המיקרו שלהם, זה אמור להיות עסקים כרגיל. ברגע שיש לך כמה דפוסי יישום שימושיים והתאמת התהליך לארגון שלך, תרצה ליצור תוכנית לפירוק המונולית.
בשלב זה, שקול היטב את כל השינויים שתבצע במונולית שלך. במידת האפשר, הוסף תכונות חדשות כשירותי מיקרו המנותקים מהמונוליט שלך.
המיקרו-שירותים הראשונים שלך לא צריכים להסתמך על המונולית שלך. אחרת, השירות החדש שלך מחויב לקצב ההפצה של Monolith. עם זאת, בשלב מסוים, המיקרו-שירותים שלך יצטרכו ליצור אינטראקציה עם המונולית שלך. כדי לשמור על הצימוד רופף ככל האפשר וכדי לשמור את מודל התחום של Monolith מחוץ ל-Microservice שלך.
כאן ב-Compie כבר ביצענו מספר מעברים מוצלחים של אפליקציות מונוליטיות מורכבות וגדולות למיקרו-שירותים הן בענן והן ב-Prem.