linked in

שלח פרופיל עכשיו >

ההרשמה נקלטה

בהצלחה!

הדרמה של מהפיכת הפיתוח המודרני

06/05/2019 23:49:05
הדרמה של מהפיכת הפיתוח המודרני

על קרנה העולה של ארכיטקטורת ה-Microservices, הביקוש למפתחי Full Stack ולמהנדסי DevOps

ואיך כל זה קשור לטכנולוגיית הבלוקצ'יין / מאת רוני קרן, CTO ג'ון ברייס הדרכה

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

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

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

לשם כך צריכים להתממש שני דברים. הראשון, שינוי מבנה האפליקציה ממקשה אחת הידועה כ-Monolith ובה כל השירותים והפונקציונאליות ארוזים ביחד וקשורים אחד בשני מבחינת builds, לאוסף של שירותים או פונקציות, אשר נארזים כל אחד בנפרד ומסוגלים לתקשר עם חלקי האפליקציה האחרים. ארכיטקטורה זו ידועה בשם Microservices, והיא מאפשרת הגדלת זמינות של חלקים מסוימים על בסיס ביקוש, תקופה או כל דבר אחר. שינוי מבנה האפליקציה ל- Microservices מצריך מפתחי Full-stack המסוגלים לייצר פתרון ממוקד – אך כזה שיעבוד מקצה לקצה (לא מן הנמנע ששירות מסוים יעשה שימוש הן ב- UI והן בחיבור ל- DB).

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

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

כאשר אנו בוחנים את הצורך בפלטפורמה אוטומטית לניהול ותחזוקת המיקרו-שירותים שלנו, עולה השאלה, האם להיעזר בצוות מקצועי של אנשי DevOps או "לשכור" את שירותיהם באמצעות ספק ענן, שכן כל ספקי הענן המובילים יכולים לקבל את תוצרי הפיתוח שלנו, ולדאוג למספר מופעים אופטימלי לפי ביקוש. מבחינה כלכלית, די ברור שלשכור שירותים על בסיס שימוש ובדיוק של מילי-שניות יהיה זול משמעותית מאשר להעסיק צוותים ולרכוש חומרה. החסמים העיקריים כיום בעלייה לענן ציבורי הם בעיקר חשאיות וזמינות (מיקומי חוות השרתים משפיעים על זמני תגובה), אבל היתרון הכלכלי הוא לרוב הגורם המכריע, ולא לחינם המונח Native Cloud Development מקושר ליישום Microservices.

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

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

טכנולוגיית בלוקצ'יין, בהגדרה כללית ביותר, הינה טכנולוגיית שמירת נתונים בבלוקים (הנתונים לעולם לא נמחקים אלא מתווספים לתוך בלוקי מידע הנצברים עם הזמן לשרשרת של בלוקים). כל נתון שנשמר בבלוק (טרנזקציה) חייב לעבור קונצנזוס – כלומר, ישנן ישויות ברשת הבלוקצ'יין שתפקידן לאשר טרנזקציות והן מתבססות על רוב. עובדה זו הופכת את הבלוקצ'יין למאובטח ביותר, כיוון שפריצה תיתכן רק לאחר חדירה ל-51% מאותן ישויות – כלומר יצירת קונצנזוס בעד הפריצה. שלא כמו במסדי נתונים קלאסיים בהם המידע נאסף במקום אחד וההחלטות מתקבלות באותו מקום – בבלוקצ'יין השמירה וההחלטה מתקיימות במשותף ובקרב אינספור מחשבים.

אם ניקח את הפתרון של בלוקצ'יין, וניישם באמצעותו ענן ציבורי המתבסס על מחשבים ביתיים ומחשבים ניידים שיש ברשות כולנו, כלומר כל אחד יוכל להצטרף לרשת על מנת לתרום זמן מיחשוב וחשמל ולהרוויח תמורתו – רשת הבלוקצ'יין תנהל את ה"ענן" המשותף, תקצה עבודות (קוד שצריך להריץ), ותתגמל את המשתתפים בהתאם, ובכך למעשה תשים קץ לענן ציבורי עסקי ותחליפו בענן חברתי.

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

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




חזרה לבלוג >      חיפוש משרות >