מחלקות השיווק של ספקי הענן מספרות לנו את אותו הסיפור במשך שנים: "תשכח מהתשתית, התמקד רק בקוד שלך, שלם רק עבור מה שאתה משתמש." נשמע נהדר, לא? בתיאוריה, כן. אך בפועל, Serverless יכול לפעמים להפוך לחור שחור פיננסי בלתי נראה
.בואו נהיה כנים; מודל "תשלום לפי השימוש" מתפתח מהר מאוד למודל "תשלום לפי הפאניקה" אם אינך יודע בדיוק מה אתה עושה. בואו נסתכל בעין ספקנית על העלויות הנסתרות מאחורי אותן מצגות מבריקות וכיצד לשרוד את הכאוס הזה
.1. אין דבר כזה "חופשי": רוצחים בלתי נראים
כשמדובר ללא שרתים, כל מה שאנשים חושבים עליו הוא זמן ביצוע. אתה מסביר את "הפונקציה שלי עבדה 100ms, שילמתי כל כך הרבה פרוטות". אתה טועה. הפריטים העיקריים המנפחים את החשבון הם בדרך כלל:
- העברת נתונים (יציאה): יציאת נתונים מהענן היא לרוב יקרה מהפונקציה עצמה.
- שער API: אותו "ש ער" שבו אתה פותח דלתות Lambda או Azure Functions לעולם, מייצר לפעמים עלויות יותר מכוח העיבוד שמאחוריו.
- רישום וצפייה: ברגע שאמרת, "בוא נרשום הכל, אנחנו צריכים", נשרפת. דמי בלי עת יומן עבור CloudWatch או שירותים דומים יכולים לגרום לך לומר "הלוואי שלא ידעתי כל כך הרבה" בסוף החודש
2. התחלה קרה: לא רק ביצועים, זה בזבוז כסף
כולם מדברים על בעיית ההשהיה של Cold Start. אבל מומחה סקפטי שואל: "כמה כסף אני מפסיד במהלך העיכוב הזה?" אם היישום שלך פונה למשתמש ועוזב את עגלת המשתמשים בגלל העיכוב של 2 שניות, העלות של פונקציה זו היא הרבה יותר מ- $0.00001 בתי
עוד הטכני.שינוי קנה המידה הוא בסדר, אך הגבול בין העלות של מקביליות שהוצגה לא פעי לה לבין העלות של VM מסורתי דק יותר ממה שאתה חושב
החלטה אדריכלית 3: מתי לברוח?
בשלב מסוים אתה צריך לעצור ולשאול: "למה אנחנו לא משתמשים ב- Kubernetes או בשרת מתכת חשופה?" אם התנועה שלך יציבה, צפויה וגבוהה 24/7, ללא שרתים היא הבחירה היקרה ביותר
עבורך.ללא שרתים הוא מתנה משמים לתנועה קוצנית (לא בטוחה ומ רקיעה שחקים). אבל השימוש ב- Serverless במערכת הפועלת כל הזמן דומה לנסוע במונית לעבודה כל יום. זה הרבה יותר הגיוני לקנות (או לשכור) מכונית לאחר נקודה מסוימת
.4. המתכון "האמיתי" לאופטימיזציה
אז איך אנחנו מגנים על הארנק?
- תרבות FinOps: מעקב אחר עלויות הוא לא רק תפקידו של רואה החשבון, אלא גם של היזם. אתה לא יכול להיות "בכיר" בלי לדעת כמה עולה הקוד שאתה כותב .
- מלכודת הגרנולריות: שבירת האפליקציה לאלפי פונקציות קטנות (שירותי ננו) מגדילה את עלות הניהול והתקשורת. ערוך קבוצות לוגיות.
- הגדרות פסק זמן: פסקי זמן של 5 דקות שנותרו כברירת מחדל מסוכנים. אינך רוצה לשלם את החשבון עבור הפונקציה שנכנסת ללולאה שגויה .