מהפכת הפיתוח המודרני: ענן ציבורי? הכירו את הענן החברתי בניהול רשת הבלוקצ'יין
מאת:
רוני קרן, 16.6.20, 07:30
במקביל להתחדשות בארכיטקטורת תוכנה ובמגמת המעבר מ"מונוליט" ל"מיקרו-שירותים", התפתחה גם טכנולוגיית בלוקצ'יין, שנכנסת כפתרון או כחלופה לפלטפורמת עננים. רשת הבלוקצ'יין תשים קץ לענן ציבורי עסקי ותחליפו בענן חברתי. מפתחי Full-stack ואנשי DevOps הם 2 מקצועות מבוקשים מאוד כיום. אך זו רק תחילתה של המהפכה האמיתית. הדרמה הגדולה רק מתחילה.
טכנולוגיית הבלוקצ'יין, שצוברת תאוצה בשנים האחרונות, הצליחה לחולל שינוי תפישתי בכל מה שקשור להגנה על בסיסי נתונים.
אחת הדוגמאות הטובות לשימוש בטכנולוגיה מגיעה מתעשיית היהלומים הנחשבת לשמרנית במיוחד. נתונים, שנאספים על יהלומים מתועדים מהרגע הראשון ושמורים בבלוקים מוצפנים. כל מעבר לידיים חדשות מתועד אף הוא והמעקב הדיגיטלי מונע גניבות וזיופים וכמובן את תופעת יהלומי הדמים.
הצורה בה פועלת טכנולוגיית הבלוקצ'יין - מאגר נתונים קשיח המאוחסן בתוך בלוקי מידע מוצפנים הפזורים ברחבי העולם - יכולה לשמש דוגמה (אחת מיני רבות וייחודית) לאופן בו מאוחסנים נתונים בענן.
כל מי שעוסק בפיתוח וניהול ביג דאטה מבין, שבלתי אפשרי לשלוף מידע באמצעות מקורות ויישומים שונים, משום שבכל אחד מהם עשויה להתקבל תוצאה שונה הנתונה למניפולציות ע"י הגורם המספק אותה.
במקביל, הרצון להגביל את עלויות החומרה והתחזוקה מחייב לבצע שינוי מבני באפליקציה ממקשה אחת המכונה
Monolith לאוסף של שירותים או פונקציות הנארזים כל אחד בנפרד ומסוגלים לתקשר עם חלקי האפליקציה האחרים.
ארכיטקטורת התוכנה, שמכונה
Microservices, נועדה לאפשר זמינות של חלקים מסוימים על בסיס ביקוש, תקופה או משתנים אחרים, בתנאי, שקיימת הפלטפורמה התומכת.
שינוי מבנה האפליקציה ל-
Microservices מצריך מפתחי
Full-stack המסוגלים לייצר פתרון ממוקד מקצה לקצה. לא מן הנמנע, ששירות מסוים יעשה שימוש הן ב-
UI והן בחיבור ל-
DB.
הצורך בפלטפורמה אוטומטית לזיהוי ותחזוקה אופטימלית של מופעי שירותים מיושם בעיקר באמצעות אנשי
DevOps.
לא מפתיע, אם כן, ש-2 מקצועות אלה מבוקשים מאוד כיום. אולם, זו, למעשה, רק תחילתה של המהפכה האמיתית. הדרמה הגדולה רק מתחילה.
אין צורך להמציא את הגלגל
אם נבחן את הצורך בפלטפורמה אוטומטית לניהול ותחזוקת המיקרו-שירותים, תיבחן הקמת צוות מקצועי של אנשי
DevOps אל מול "השכרת" שירותיהם בענן ציבורי.
כל ספקי העננים המובילים מסוגלים לקבל את תוצרי הפיתוח ולדאוג למספר מופעים אופטימלי לפי ביקוש. לגבי מפתחי
Full-stack, כבר כיום השימוש בפתרונות תוכנה על ענן (
SaaS) מחלחלים לתהליכי הפיתוח.
יותר ויותר מפתחים זוכים בגישה לשירותים רבים ומגוונים בענן וזוכים לשלבם בקלות בשירותים ובפתרונות שהם מייצרים. כך, נחסך מהם הצורך להמציא את הגלגל, ניתנת אפשרות להשתמש בפתרונות, שאין די ידע בארגון כדי לפתחם באופן עצמאי, ותפוקתם עולה.
החסמים העיקריים של הענן הציבורי היו ונותרו חשאיות וזמינות (מיקומי חוות השרתים משפיעים על זמני תגובה), אבל מבחינה כלכלית די ברור, ששכירת שירותים על בסיס שימוש מדויק של מילי-שניות יהיה זול משמעותית מאשר להעסיק צוותים ולרכוש חומרה. לא לחינם המונח
Native Cloud Development מקושר ליישום
Microservices.
במקביל להתחדשות בארכיטקטורת תוכנה ובמגמת המעבר מ"מונוליט" ל"מיקרו-שירותים" התפתחה גם טכנולוגיית בלוקצ'יין. רובנו שמענו עליה בעקבות מטבעות הקריפטו ובראשם הביטקוין.
טכנולוגיית בלוקצ'יין מציעה גישה מהפכנית לאחסון וטיפול ברשומות כמו העברת תשלומים, הנצחת תחנות המעבר בשינוע סחורות למעקב וכאמור, אפילו תיעוד היסטוריית הרכישות של יהלומים מרגע כרייתם או ייצורם ועד לרכישתם ע"י לבעליהם.
בניגוד למסדי נתונים קיימים, כל פעולה מתווספת לבלוק של פעולות, שבוצעו לאחרונה. כשהבלוק מלא, הוא מתווסף לשרשרת הבלוקים הקודמים. פעולות לעולם אינן נמחקות. הן מונצחות בשרשרת הבלוקים. בנוסף, כל בלוק מקושר לקודמו באופן כזה, שכל שינוי בכל בלוק בשרשרת "ישבור" את הקשר עם הבלוק הבא ויגלה את הפריצה ומיקומה (
hash).
אלא שהייחוד המבטיח ביותר של רשתות בלוקצ'יין הוא, שכל תוספת רשומה לבלוק מצריכה אישור של מרבית המשתתפים ברשת. ההחלטה מתבצעת ע"י מחשב באופן מוצפן וללא התערבות אנושית (פרט להגדרה הראשונית המתבקשת של התנאים לאישור או דחיית רשומה -
Smart Contracts).
מנגנון זה, שמחייב קונצנזוס של הרשת כדי לאשר פעולה, מעמיד אתגר משמעותי בפני פריצות וניסיונות לחבל במידע ובתהליך קבלת החלטות. למעשה, הצורך בקונצנזוס מייצר משוואה לפיה עלות הפריצה עשויה לסכן את הרווחים של הפורץ והופכת אותה ללא-כדאית. לא פלא, אם כן, ש"טבילת האש" של הטכנולוגיה עוסקת בכסף. זו בעצם מחאה נגד העדר מנגנון קונצנזוס וקבלת החלטות באופן ריכוזי המאפיין את הכלכלה העולמית.
אז איפה נכנסת טכנולוגיית הבלוקצ'יין כפתרון או כחלופה לפלטפורמת עננים? חשבו על ענן ציבורי המתבסס על מחשבים ביתיים ומחשבים ניידים הנמצאים ברשות הכלל. כל אחד יוכל להצטרף לרשת כדי לתרום זמן מחשוב וחשמל ולהרוויח תמורתו. רשת הבלוקצ'יין תנהל את ה"ענן" המשותף, תקצה עבודות (קוד שצריך להריץ) ותתגמל את המשתתפים בהתאם, ובכך, למעשה, תשים קץ לענן ציבורי עסקי ותחליפו בענן חברתי.
הביטחון, שמעניקה רשת הבלוקצ'יין, תאפשר למשתמשי הקצה לשתף ביחד את כוח המחשוב שלהם וליצור ענן חברתי בו המחשבים של כולם מאפשרים למשתמשים להיות גם ספקי הפלטפורמה וגם הלקוחות שלה. עלויות השימוש של משתמשים ברשת תקוזזנה מהרווחים שלהם בגין שיתוף כוח המחשוב שברשותם וכל זה ינוהל על גבי רשת בלוקצ'יין ייעודית.
כן, זה נראה כמו מהפיכה "מתגלגלת". ואנו רק בתחילתה. השינויים הדרמטיים עדיין לפנינו ויש למה לצפות.
מאת:
רוני קרן, יוני 2020.
CTO ב
ג'ון ברייס הדרכה, זרוע ההדרכה של מטריקס