מה זה Azure Functions?
Azure Functions הוא שירות מחשוב ללא שרת המסופק על ידי מיקרוסופט אז’ור.
Azure Functions מאפשר לך להריץ פיסות קוד קטנות (הנקראות “פונקציות”) מבלי לדאוג לגבי התשתית הבסיסית.
להלן כמה תכונות ומושגים מרכזיים הקשורים לAzure Functions:
פונקציות מונעות אירועים: פונקציות Azure נועדו להגיב לאירועים בשירותי Azure (כמו קוביות אחסון, תורים או Cosmos DB),
שירותים חיצוניים (כמו GitHub) או טיימרים.
הפונקציה מופעלת בתגובה לטריגרים אלה.
ניתן להרחבה: השירות משנה אוטומטית את מספר המופעים שמריצים את הפונקציות שלך כדי להתאים לקצב האירועים הנכנסים.
המשמעות היא שאינך צריך לנהל קיבולת שרת או איזון עומסים.
תמיכה במספר שפות: ניתן לכתוב פונקציות במגוון שפות תכנות, כולל C#, JavaScript, Python, Java ו-PowerShell.
אינטגרציה עם שירותי Azure אחרים: פונקציות יכולות להשתלב בקלות עם שירותי Azure אחרים,
כגון Azure Event Grid, Logic Apps ו-Azure Service Bus, כדי לבנות זרימות עבודה מורכבות.
כריכה: פונקציות תומכות בקשרים שונים שעוזרים לפשט את הקוד שאתה צריך לכתוב כדי ליצור אינטראקציה
עם מקורות נתונים או שירותים.
כריכות יכולות להיות עבור קלט, פלט או שניהם, מה שמאפשר לפונקציה שלך לעבד נתונים ממקור אחד ולאחסן אותם במקור אחר.
תוכנית צריכה: Azure Functions מציע מודל תמחור צריכה שבו אתה משלם רק עבור משאבי המחשוב שאתה צורך,
הנמדדים בג’יגה-בייט-שניות של צריכת משאבים ומספר הביצועים.
Durable Functions: הרחבה של Azure Functions המאפשרת לכתוב פונקציות מצביות בסביבת מחשוב ללא שרת.
היא שימושית לתזמור מורכב של פונקציות וזרימות עבודה.
שימושים של Azure Functions
ניתן להשתמש בפונקציות Azure במגוון רחב של תרחישים בתעשיות שונות, בשל האופי המונע על ידי אירועים,
המדרגיות ויכולות האינטגרציה שלו.
להלן כמה מקרי שימוש נפוצים עבור Azure Functions:
אוטומציה של זרימות עבודה:
Azure Functions יכול להפוך תהליכים עסקיים וזרימות עבודה לאוטומטיות.
לדוגמה, פונקציה יכולה להיות מופעלת על ידי העלאת קובץ חדש ל-Azure Blob Storage כדי לעבד או לשנות
את הנתונים ולאחר מכן לאחסן את התוצאות במסד נתונים.
עיבוד נתונים בזמן אמת:
Azure Functions מתאים היטב ליישומי עיבוד נתונים בזמן אמת.
לדוגמה, הוא יכול לעבד נתוני טלמטריה ממכשירי IoT, לטפל בעיבוד זרמים או להפעיל
פעולות המבוססות על הזנות נתונים חיים.
ממשקי API לאינטרנט:
Azure Functions יכול לשמש כ-backend עבור יישומי אינטרנט על ידי מתן נקודות קצה API שניתן לצרוך על ידי יישומי קצה.
הוא מאפשר פיתוח API קל משקל ללא שרת ללא תקורה של ניהול תשתית שרתים.
אינטגרציות והרחבות:
Azure Functions יכול לשמש כנקודות אינטגרציה בין מערכות או שירותים שונים.
הוא יכול להרחיב את היכולות של יישומים קיימים על ידי טיפול ב-webhooks משירותי צד שלישי
כמו GitHub, Slack או Stripe.
משימות מתוזמנות:
בעזרת שימוש בטיימרים, Azure Functions יכול לבצע משימות מתוזמנות, כגון צבירת נתונים יומית,
משימות ניקוי או שליחת מיילים חוזרים.
שירותי מיקרו:
Azure Functions משתלב בארכיטקטורת מיקרו-שירותים בכך שהוא מאפשר לך לפרק יישומים מורכבים
לפיסות קטנות יותר ועצמאיות של פונקציונליות.
גיבויים ניידים ללא שרתים:
Azure Functions יכול לספק שירותי backend לאפליקציות ניידות, כגון אימות, עיבוד נתונים והודעות דחיפה,
ללא צורך בניהול השרתים הבסיסיים.
למידת מכונה ובינה מלאכותית:
ניתן להשתמש ב-Azure Functions לפריסת מודלים של למידת מכונה כממשקי API עבור חיזויים בזמן אמת,
עיבוד תמונות או ניתוח תוכן וידאו בתגובה לטריגרים.
טיפול בהיקפים גבוהים של אירועים:
בתרחישים שבהם יישומים צריכים לטפל באירועים בנפח גבוה, כגון עיבוד הודעות ממרכזי אירועים או שירות,
ניתן להשתמש ב-Azure Functions כדי לשנות את קנה המידה דינמית על סמך העומס.
תזמור מורכב:
Durable Functions, הרחבה של Azure Functions, מאפשרת כתיבת פונקציות מורכבות בסביבה ללא שרת.
הוא שימושי עבור זרימות עבודה מורכבות הדורשות ניהול מצב ותהליכים ארוכי טווח.
מסלולים ומחירים של Azure Functions
Azure Functions מציע מספר תוכניות, כל אחת מותאמת לצרכים שונים מבחינת תכונות, קנה מידה ותמחור.
להלן סקירה של התוכניות העיקריות הזמינות:
תוכנית לפי צריכה:
תמחור: אתה משלם רק עבור המשאבים שהפונקציה שלך צורכת כשהיא פועלת.
החיוב מבוסס על מספר הביצועים, זמן הביצוע והזיכרון בשימוש.
מאפיינים: תוכנית זו מקצה ומדרגת באופן אוטומטי משאבי מחשוב על סמך הביקוש של הפונקציות שלך.
היא אידיאלית עבור יישומים עם עומסי עבודה משתנים או בלתי צפויים.
עלות: העלויות מחושבות על סמך ג’יגה-בייט שנייה (GB-s), שהוא תוצר של גודל הזיכרון וזמן הביצוע, ולכל מיליון ביצועים.
תוכנית פרימיום:
תמחור: מציעה תכונות חזקות יותר מתוכנית הצריכה ומספקת מופעים מחוממים כדי להימנע מהשהיית התחלה.
התמחור כולל תשלום חודשי קבוע לכל מופע עבור מופעים מראש בתוספת חיובים נוספים
המבוססים על זמן ביצוע וזיכרון בשימוש.
מאפיינים: תוכנית הפרימיום כוללת קישוריות VNET, משך ביצוע בלתי מוגבל (בניגוד למגבלה של 5 דקות בתוכנית הצריכה),
ואפשרויות CPU גבוהות יותר.
מקרה שימוש: מתאימה ליישומים תובעניים יותר או רגישים לחביון.
תוכנית ייעודית (שירות אפליקציות):
תמחור: פונקציות פועלות על מכשירי VM ייעודיים שיכולים לשרת גם סוגים אחרים של שירותי אפליקציות, כמו אפליקציות אינטרנט.
תוכנית זו כוללת תמחור רגיל של תוכנית App Service, המבוסס על הגודל והמספר של מופעי VM.
מאפיינים: יש יותר שליטה על הסביבה ואפשר להשתמש בתכונות כמו הגדלה למופעים חזקים יותר או קנה מידה למספר מופעים.
מקרה שימוש: אידיאלית עבור פונקציות הדורשות ביצועים עקביים יותר ומשאבים ייעודיים.
תוכנית ארגונית:
תמחור: זוהי תוכנית ברמה ארגונית המציעה את ההיקף הגבוה ביותר ויכולות אינטגרציה.
היא מספקת אבטחה משופרת ופועלת על רשתות וירטואליות מבודדות.
התמחור מבוסס על גודל ומספר המופעים.
מאפיינים: כוללת את היתרונות של תוכנית הפרימיום עם בידוד נוסף, גישה לרשת פרטית ויכולות בקנה מידה גבוה יותר.
מקרה שימוש: מתאימה לתרחישים ארגוניים הדורשים אבטחה מקסימלית, קנה מידה ובידוד רשת.

