האמנות שבפירוק מונוליט ל-Micro-Services [וידאו]

Micro-Services הם הטרנד החדש. שמעתם עליהם, קראתם עליהם, ואתם גם חושבים לפרק את המונוליט שלכם. במוקדם או במאוחר תשאלו את עצמכם את השאלה: ׳׳איך בדיוק אני עושה את זה?׳׳

wix

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

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

הרצאות נוספות של וויקס

מה זה ׳קוד מלוכלך׳ ואיך מנקים אותו?

מדוע הזמן שתקדישו ל-Software Testing שווה לכם הון

הכתבה בחסות Wix Engineering

Wix היא פלטפורמה לפיתוח Online presence באינטרנט, עם למעלה מ-100 מיליון משתמשים ב-190 מדינות.
אנחנו ב-Wix Engineering מפתחים אפליקציות ענן מהמתקדמות  בעולם, מקדישים זמן להתפתחות מקצועית ולמידה ולוקחים גם את ההנאה שלנו באותה הרצינות. תרבות הפיתוח שלנו מבוססת על חדשנות, יצירתיות ועל הצורך והרצון להמשיך לאתגר את עצמנו ואת גבולות הטכנולוגיה. אנו משתמשים בטכנולוגיות המתקדמות ביותר (Scala, Node, React, and Angular), בפלטפורמות מבוססות ענן (Google, Amazon and Azure) ומיישמים מתודולוגיות כגון Continuous Delivery ו-TDD.

כתב אורח

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

הגב

4 Comments on "האמנות שבפירוק מונוליט ל-Micro-Services [וידאו]"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
Sort by:   newest | oldest | most voted
Jako
Guest

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

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

לעתים קרובות, ניתן להשיג את אותה מודולריות, עם קוד בטוח יותר, באמצעות עקרונות מ-functional programming, כאשר המודולים השונים חיים באותו process.

Maxim Novak
Guest

אתה צודק שבכל מקרה צריך מודולריות, אבל הצורך בלהפריד process הוא בשביל
* לאפשר isolation בין חלקים במע׳.
* scaling שונה לחלקים שונים של המע׳.
* SLA שונה לחלקים שונים.
* deployments קטנים יותר ולחלקים רלוונטים שמשתנים

ועוד הרבה !

Jako
Guest

א. isolation הוא לא מטרה, אלא אמצעי. כשההפרדה היא ברמה כזו שהמערכת לא יכולה בכל מקרה לתפקד בלי אחד מהחלקים, אין לבידוד שום תכלית.
ב. scaling לא קשור למידול קוד. כל השרתים יכולים להכיל את כל הקוד, במודול אחד, או במודולים רבים, כאשר חלקים שונים של הקוד מבצעים כמויות שונות של עבודה.
ג. הגדרת רמת SLA רלוונטית רק למודולים גדולים, המספקים שרות אפליקטיבי מוגדר. גישת MicroServices מתייחסת למודולים זעירים.
ד. בשביל זה לא צריך הפרדה ל-“services”. חלוקה למודולים ברמת מערכת הקבצים משיגה את אותו צורך. לא צריך ליצור ערוץ תקשורת בזבזני בין המודולים.

Maxim Novak
Guest
א. אבל זה בדיוק העניין. המע׳ יכולה לתפקד בלי חלקים ממנה. בנוסף יותר קל לך למצא בעיות כי אתה מחפש באיזור יותר קטן (למשל סוג כלשהו של leak). ב. לא מדוייק. אם יש לך מודול אחד שצורך הרבה משאבים (למשל זכרון) והוא בשימוש מועט יש יתרון ב scaling שונה ליחידות שונות. ג. נכון, אבל הרבה פעמים ל מודולים האלה יש SLA שונה. ד. שוב לא נכון. כאשר יש חלקים נפרדים יש לי את היכולת לעשות deploy לחלק מאד קטן של הקוד שאני יודע שהתשנה. במידה ואני צריך לעשות deploy לכל המע׳ אני גם לוקח קוד של אנשים אחרים. ובמידה שיש… Read more »
wpDiscuz

תגיות לכתבה: