LFCA: למידת חישוב בענן, יתרונות ופתרונות לבעיות – חלק 15

טכנולוגיית Serverless גרמה להמון רעש בקהילת הטכנולוגיה, עוררה סקרנות רבה וקיבלה קריאות חזרה במידה קטנה. זו טכנולוגיה שהחלה עם השקת AWS Lamba ב-2014, שקר לאחר מכן על ידי Azure Functions בסוף 2016.

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

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

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

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

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

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

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

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

מהי מחשוב ללא שרת

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

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

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

שירותי צד אחורי המסופקים על ידי חישוב ללא שרת

A perfect example of serverless backend service is Function-as-a-Service (FaaS) platform. FaaS is a cloud computing model that enables developers to develop, execute, and manage code in response to events without the complexity of building and managing an underlying infrastructure usually associated with the deployment of microservices.

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

דוגמאות למודלי חישוב FaaS כוללים:

  • AWS Lambda על ידי AWS
  • Azure functions על ידי Microsoft
  • Cloud Functions על ידי Google
  • Cloudflare Workers על ידי Cloudflare

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

יתרונות של חישוב ללא שרת

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

1. אין ניהול שרתים

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

2. התגמול קל ויעיל

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

3. זמינות מובנית

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

4. עלויות פעולה נמוכות

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

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

5. הפצת מהירה של יישומים

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

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

פחדים של חישוב ללא שרת

האם ישנם חסרונות הקשורים לדגם ללא שרת? בואו נגלה.

1. אבטחה

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

2. נעילת ספק

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

3. קושי בבדיקה ותיקון של היישומים

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

4. קושי בניטור של היישומים בענן

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

סיכום

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

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

Source:
https://www.tecmint.com/serverless-computing/