10 תובנות חשובות שלקחנו איתנו מכנס ServerlessConf

מחשוב נטול שרת (Serverless Computing) הוא למעשה שכבה נוספת שבאה לפשט אפילו יותר את תשתיות הענן כך שהמפתח לא יצטרך לדאוג יותר לתחזוקה ולטיפול בשרתים, כולל שרתים וירטואליים. הנה 10 תובנות שיצאנו איתם מכנס שהתקיים לאחרונה בנושא

מאת עמירם שחר

"Serverless אין פירושו שאין שרתים. זה רק אומר שאתה לא צריך להתמודד איתם יותר".

כנס Serverlessconf היה הכנס ה״לימודי״ הראשון בו נכחתי זה שנים. אני שמח לשתף את רשמים, תובנות ובעיקר מידע על ה״באז״ הגדול שמקיף אותנו, מאז שהפסקנו להתרגש מ-Big Data ומ-Cloud.

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

הנה מספר נקודות שבאות לסכם (אמ;לק) כמה זוויות מרכזיות מהכנס. אני מקווה שאצליח להעביר לכם את מירב התכנים שהועברו בכנס ואת תמונת המצב של האקו-סיסטם בשלב זה.

1. אז מדוע חברות, מפתחים וארגונים בוחרים להשתמש ב-Serverless Computing?

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

  1. פחות תחזוקה
  2. הוזלת עלויות
  3. Time to market

אפשר היה למצוא שימוש מאסיבי ב-Serverless אצל לקוחות גדולים כדוגמת iRobot, Adobe, Accenture שאמרו בפה מלא, Serverless עוזר להם לעזור למפתחים לספק את התוצרים, מהר יותר, לסביבות פרודקשן.

2. מי משתמש ב-Serverless?

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

אז איזה סוג של מערכות בעצם אפשר להריץ בעזרת Serverless?

  • שירותי Web (בדגש על כמעט כל שרת Web)
  • צד שרת של אפליקציות מובייל
  • אינטרנט של דברים (IoT)
  • עיבוד טפסים (forms)
  • אוטומציות של תהליכי DevOps
  • צ׳אטבוטים (Chat bots)
  • ETL
  • עיבוד תמונות
  • עבודות מתוזמנות (cron jobs)

ועוד,

אהבתי במיוחד את המצגת של ג׳ארד שורט מחברת היעוץ Trek10 שסיפר על בניית אפליקציה, end to end הכוללת טעינת HTML עם פונקציות Serverless ושימוש ב-CDN ללא שימוש בשרתים. הוא אף הציג Case study של לקוח שלהם – חברת גיימינג המכונה "Dekki״. דקי רץ כולו, בשלומתו – ממשק משתמש ו-backend ללא שרתים בכלל.

טים ווגנר (Tim Wagner), מנכ״ל AWS Lambda ציין שלעניות דעתו, החידוש המדהים ביותר ב-Serverless הוא דווקא בסביבת Big data. הוא מוצא במקרים האלה כמתאימים ביותר לשימוש ביכולות העמידה בעומסים של serverless כיום ובעתיד.

כמה דוגמאות לשימוש ב-serverless מהחיים האמיתים:

  • החברה Thomson Reuters מעבדת 4,000 בקשות בשנייה ע״י serverless.
  • התאגיד FINRA – Financial Industry Regulatory Authority מעבד 500 מיליארד (!!) וולידציות של מכירת וקניית מניות, כל יום באמצעות Serverless.
  • אקספידיה (Expedia) מעבדת 1.2 מילארד בקשות בחודש.

מקור: Amazon Web Services

3. נתונים אודות אימוץ וגדילת טכנולוגיית והשימוש ב-Serverless

האנליסטים של IBM טוענים ששוק ה-FaaS) Function as a Service) המכונה גם Serverless יגדל בצורה אקספוננציאלית (7-10x) עד שנת 2021. כבר עכשיו ניתן לראות שאימוץ הטכנולוגיה מהיר יותר פי 10 מאימוץ טכנולוגיית ה-Containers. כך אמר ג׳ייסון מקגיי, VP & CTO של IBM Cloud.

טים ווגנר (Tim Wagner), שהוזכר כבר קודם בכתבה – ציין שגם באמזון רואים טרנד מרשים של אימוץ Lambda בקרב ארגוני אנטרפרייס.

בתמונה: אימוץ טכנולוגיית ה-Serverless לפי מומחי IBM

4. ביצוע Local Debugging (בדיקות פיתוח מקומיות טרם העלאה לשרת)

אחת השאלות החמות שעלתה פעם אחר פעם הייתה קשורה ל-Local Debugging. כיצד יכול המפתח לוודא את הקוד שלו בצורה לוקלית טרם העלאת הקוד לענן.

לשאלה זו קיבלנו מספר תשובות:

החבר׳ה של Microsoft Azure הדגימו בהרצאה שלהם כיצד הם מבצעים debug לפונקציות Serverless על המחשב האישי שלהם על-ידי שימוש ב-MS Visual Studio, היה מרשים לראות את זה, כיצד Microsoft מצליחה לשלב בין מוצרים טובים שלה לבין חדשנות שהיא מציגה בענן.

כשטיילנו בין המשתתפים בכנס תפסנו שיחה קצרה עם אחד מהמהנדסים של AWS Lambda:

אני: ״מה השאלה הכי נפוצה שנתקלת בה היום?״
מהנדס lambda: ״איך ניתן לבדוק פונקציות למבדה בצורה לוקלית״
אני: ״ומה הייתה התשובה שלך?״
מהנדס lambda: ״כשאתה מפתח פונקציית למבדה שמשתמשת ב-SQS, SNS, Dynamo ושאר מוצרי ענן… אתה לא באמת יכול לדבג את זה לוקלית… מפתחים צריכים לשנות את התפיסה שלהם ולייצר סביבות Dev בענן עצמו.״

5. Azure Functions and LogicApp Service

נראה ש-Microsoft Azure מציגה חדשנות, במהירות בלתי נתפסת. מיקרוסופט מתקדמת מאוד במוצר ה-Serverless שלה הנקרא Azure Functions. ההישגים שלהם בשלב זה פנומנליים וה-roadmap שלהם מאוד מרתק.

המוצר Logic App הוא שירות חדש של Azure המתממשק בצורה מעולה עם Azure functions הוא מאפשר לבצע אינטגרציה מלאה עם אפליקציות, דאטה וEco system מאוד רחב של שירותים מבוססי ענן כדוגמת Office 365, Dropbox, Google Drive, Salesforce ועוד.

חברת Serverless Inc דיווחה כי מעל ל-15% מקרב המשתמשים בטכנולוגיית Serverless הם אנשים בכירים (Executives), המשתמשים בזה, לא פחות מאשר ל-מטרות Poc מהיר ויעיל בקרב ההנהלה.

המהנדסים של Azure הראו לנו כיצד הם יוצרים זרימה שלימה של אפליקציית Serverless בפחות מ-10 דקות.

היתה דוגמא בהחלט מעניינת:

  1. פונקציה שאחראית על ניטור האתר ״טוויטר״ בקצב זמן של פעם בשניה, הפונקציה תמצא כל ציוץ הכולל את המילה serverless.
  2. פונקציה נוספת, המקבלת כקלט את הציוץ שהפונקציה הראשונה מצאה, ויודעת לסווג את רמת השפה של הציוץ (האם מדובר בטקסט פוגעני וכ׳).
  3. במידה והפונקציה מתאימה לקריטריונים (שפה נקייה), היא מועברת לבסיס נתונים.
  4. בנוסף, הם יצרו מאוד בקלות Dashboard המציג את מעט הציוצים שמגיעים כל שניה.

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

6. חברת Adobe מכריזה על סוף עידן השרתים:

חברת Adobe הציגה את ה-use-case שלה ביום הראשון של הכנס. ממליץ לקרוא את המאמר שפרסמו.

המהנדסים של Adobe הציגו את ה-Use case שלהם, בו הם משתמשים בטכנולגיית ה-Serverless של IBM המבוססת קוד פתוח, הנקראית OpenWhisk ומריצים אותה על מספר Data centers שבאחריותם בעולם, הכוללים את אמזון ואת מיקרוסופט.

7. שחקנים וספונסרים נוספים ששווה לשים עליהם עין:

  • FuanaDB – cloud based – multi-region and fully transactional DB. Looks very promising.
  • IOpipe – application Performance monitoring for AWS Lambda. They give you a piece of a code to inject in your Lambda codebase that responsible to send our events and data to their SaaS.
  • stdlib – a Git-hub style platform specifically for Functions. Stdlib helps developers to share their services with others for free.
  • OpenWhisk – is a serverless, open source cloud platform that executes functions in response to events at any scale.
  • Serverless framework – open-source, application framework to easily build serverless architectures on AWS Lambda & more. I personally think that there is a huge potential in the market for the Serverless Framework, eager to see how this is going to evolve vs Amazon SAM and other public Cloud offerings.
  • Google Firebase – Cloud Functions for Firebase lets you create functions that are triggered by Firebase products, such as changes to data in the Realtime Database, uploads to Cloud Storage, new user sign ups via Authentication, and conversion events in Analytics.

 

8. הסשן הטוב ביותר…

בעייני לפחות, הסשן הטוב ביותר היה של ג׳ייסון מקגיי. VP ו-CTO של IBM Cloud platform. ג׳ייסון הציג את OpenWhisk, פתרון Serverless של IBM הניתן להתקנה כקוד פתוח, בכל מקום. בזמן שאת הגירסא ה״מנוהלת״ של המוצר ניתן למצוא תחת שירותי IBM Bluemix.

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

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

9. אבטחת מידע ו-Serverless

״גם אם בעתיד לא ננהל יותר שרתים – האקרים ימצאו דרכים לתקוף את התוכנה שלנו״. זה נכון.

גיא פודג׳ארני, מנכ״ל Snyk העביר הרצאה מאוד מעניינת לגבי אבטחת מידע בעידן ה-Serverless.
עיקרי דבריו מסתכמים בכמה נקודות:

  • Code Dependencies & 3rd Parties – ככל שהקוד שלנו משתמש ביותר תלויות חיצוניות, כך עולה החשש לפגיעת אבטחה בתוכנה שלנו.
  • תיקיית ה-temp – בכל פונקציה שרצה על גבי מוצר Serverless כזה או אחר, ניתן לכתוב מידע זמני לתיקייה הנקראת /tmp, יש לוודא כי הכתיבה לשם נעשית בצורה מאובטחת וכי המידע נמחק משם בסיום הריצה.
  • DDos – יכול לגרום לניצול לרעה של פונקציות ה-Serverless שלנו בעומסים גבוהים שיובילו לעלויות חיוב אסטרונומיות, יש לשים דגש על נקודה זאת בהיבט החשיפה והאבטחה של ה-Serverless Functions לגורמים חיצוניים.
  • מערכת הזדהות ומערכת הרשאות – עדיין רלוונטיות ויש לדאוג להם.

10. ניטור מערכות בעידן ה-Serverless

הניטור הבסיסי של רוב ספקיות שירותי Serverless בשלב זה נראה מספק ביותר, אצל כולן ניתן לנטר את מספר הריצות של הפונקציות שלנו ואת זמן התגובה של הבקשה.

חברות כמו iRobot סיפרו כיצד הן מתמודדות עם DLQ, זהו תור המכיל את כל השגיאות והפונקציות שלא רצו בצורה טובה, הם מספרים על תהליכי צד היודעים לטפל בצורה כירורגית ופרטנית בכל הרצה שלא הצליחה להתבצע. ב-Google Functions ניתן להשתמש במוצר ניטור נוסף המכונה ״Cloud Debug״
כמובן שישנם גם פתרונות צד שלישי – מוצרים שמטרתם לנהל את האירועים של המערכת שלנו ולהתריע על בעיות בזמן אמת.

11. מילות סיכום

חברת Serverless, Inc הכינה וידאו מסכם של האירוע, והתבקשתי לענות ״מה הוא Serverless בשבילך?"

לקח לי פחות מ-5 שניות לענות:

  • חופש.
  • Time to market.
  • פחות תחזוקה ופחות הוצאות.
  • דמוקרטיה של הענן. היכולת להריץ כל דבר, בכל מקום.

עכשיו דמיינו שתוכלו להריץ ארכיטקטורות שלמות מבוססות Serverless בכל Cloud שתרצו, במחירי Spot.

הכותב הינו מנכ״ל Spotinst

לכתבה המקורית באנגלית

כתב אורח

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

הגב

1 תגובה on "10 תובנות חשובות שלקחנו איתנו מכנס ServerlessConf"

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

פוסט מרתק! בתור מישהו שרק מתחיל לאמץ את הטכנולוגיות אבל משתדל מאוד להיות מודע להתפתחויות, למדתי המון.
עוד כאלה בבקשה :)

wpDiscuz

תגיות לכתבה: