WEBA

Serverless: מה זה?

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

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

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

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

אם יש לכם אתר תדמית פשוט, דף נחיתה או חנות קטנה שיושבת על פתרון מוכן כמו BaaS (Backend as a Service), אתם ממש לא צריכים להתעמק בזה. במקרים כאלה אין סיבה לשבור את הראש על חלוקת פונקציות או ארכיטקטורה, כי השירות הבסיסי עושה את העבודה בלי שתדעו מה רץ מאחורי הקלעים.

כלים שהמונח חי בהם