סקירה של תשתיות AWS Serverless
רקע
יותר ויותר ספקיות ענן משקיעות המון משאבים בתשתיות ה Serverless שלהן, כשההגיון מאוד ברור - לייצר כמה שיותר Vendor Lock In בין הלקוח לספק הענן.
מהצד השני, נמצא הלקוח. כשלרוב בתחילת המסע שלו מחפש Time to market במהירות הגבוהה ביותר + מינימום השקעה בתשתיות ואופרציה.
וכאן מתגלה הקסם של תשתיות ה Serverless.
בהשקעה מינימלית, באמצעות כלים תומכים כמו Serverless Framework, AWS CDK וכו׳, ניתן לפתח סרביס ראשון ולא לדאוג לבעיות אופרטיביות כמו Scale, Availability וכו.
יתרונות
לא צריך לנהל שרתים
בארכיטקטורה ללא שרתים (Serverless), אתה לא צריך לדאוג לתחזוקת שרתים, כמו תצורה, תקלות, עדכוני תוכנה וכדומה. כל זה מטופל על ידי AWS.
אין עדכוני אבטחה (למעט חבילות ותלויות של הקוד עצמו), אין תהליכי הקשחה, אין משאבים מבוזבזים של שרתים בנמצאים במצב Idle
התקנה פשוטה
אין צורך להתקין שום תשתית או לבצע תצורות מורכבות. פשוט מעלים את הקוד לשירותי AWS המתאימים.
בוחרים Framework לניהול השרות ומתחילים לפרוס גרסאות.
גמישות ויעילות תקציבית
אתה משלם רק עבור המשאבים שאתה צורך בפועל (computing time, bandwidth, וכו'). אין צורך להקצות משאבים מראש.
אמנם זה מביא איתו אתגרים אחרים בעולם העלויות, אבל עם מימוש נכון (בחירה של טאגים לדוגמא), ניתן להתגבר על האתגר הזה.
אוטומטית Scaling
AWS מנהלת את ה-scaling בצורה אוטומטית בהתאם לביקוש, ללא צורך בכל התערבות מצידך.
פיתוח מהיר
התשתית כבר קיימת, אז אתה יכול לפתח ולהציג את היישומים שלך במהירות וביעילות.
תשתית גלובלית
השירותים של AWS זמינים בכל העולם, כך שאפשר לפרוס יישומים באזורים גיאוגרפיים שונים בצורה קלה.
חסרונות
אובדן שליטה
בהיותך תלוי בפלטפורמה של AWS, אתה מאבד חלק מהשליטה והגמישות להתאים את הכל לצרכים הספציפיים שלך. אתה צריך לעבוד בתוך המגבלות של השירותים השונים.
Vendor lock-in
השימוש בשירותים הספציפיים של AWS עלול לגרום ל"vendor lock-in", כלומר תלות באמזון ולקושי בעתיד לעבור לספק אחר.
שזה אולי הקלף המנצח של אמזון. כשאתה קטן ואתה מתחיל עם שרותי Serverless, אתה לאט לאט הופך לתלוי יותר בתשתיות ובשרותים של אמזון.
במיוחד כשהאפליקצה שלך היא Event driven, כשכל Event כזה הוא סביב שרות אחר של אמזון.
היציאה לספק ענן אחר, או לפלטפורמה אחרת הופכת להיות מאוד ״יקרה״, מה שמוריד את הכדאיות של המהלך.
גבולות ביצועים
למרות שה-scaling אוטומטי, ישנם גבולות ביצועים מסוימים שהשירותים השונים לא יכולים לעבור.
עלויות משתנות
אמנם זה נראה כמו חיסכון כספי ראשוני, אבל העלויות עשויות להגיע למחירים גבוהים במקרים של עומס גבוה על המערכת שלך.
שרותים נלווים בעולמות ה - Serverless, כמו CloudWatch Metrics / Logs יכולים להיות מאוד יקרים כאשר הסקייל מתחיל להיות גדול.