Table of Contents
ארכיטקטורות Serverless הופכות את הדרך שבה מפתחים בונים ופרוסים יישומים בענן.על ידי מינוף שירותים כמו Azure Functions ו- Azure Logic Apps, ארגונים יכולים ליצור פתרונות מדרגיים, עלות-תועלת ללא חוד של ניהול תשתיות בסיסיות. גישה זו משנה אחריות מבצעית מקבוצת הפיתוח לספק הענן, ומאפשרת השקיה מהירה יותר, מופחתת זמן לשוק, ויעילה יותר, בין אם אתה בונה אינטרנט פשוט, מעבדים, או זרם נתונים מודרני, או עיבוד יעיל של עבודה, עיבוד נתונים מודרני, יעיל.
מהי אדריכלות ללא שרת?
אדריכלות ללא שרת אינה מתכוונת שאין שרתים – משמעה שמפתחים כבר לא צריכים לספק, להגדיר, לקבוע, לקבוע, לקבוע, לקבוע או לשמור על שרתים.ספק הענן מטפל באופן אוטומטי במשימות אלה, תוך הקצאת משאבים תואמים דינמיים בתגובה לביקוש.מודל זה מאפשר לצוותים להתמקד באופן בלעדי בכתיבה קוד והגדרת לוגיקה עסקית, בעוד שכבת התשתית הופכת לבלתי נראית, גמישה.
מאפיינים מרכזיים של מחשוב ללא שרת כוללים:
- (FLT:0) הוצאה להורג מונעת על ידי קוד פועל רק כאשר מופעלים על ידי אירועים ספציפיים כגון בקשות HTTP, שינויים מסד הנתונים או הודעות הודעות הודעות.
- (ב) ,0) ,Automaticrated Scaleing: 1:1 - המצע בקנה מידה של אפס לאלפים של הוצאות להורג במקביל המבוססות על עומס נכנס.
- (ב) ,0) תמחור שימוש ב-PayPalFLT:1 - אתה רק עבור זמן ייעודי, ללא תשלום עבור משאבים.
- (ב) ,0) הוצאה להורג ללא תנאי (FLT:1) – כל פונקציה בביטול היא בדרך כלל ללא תנאי, קידום הפרדה נקייה של דאגות ורמתיות אופקית.
Azure מציעה שני שירותים משלימים ללא שרת:0 (אזור פונקציות FLT) 1:1 עבור הפעלת חתיכות קטנות של קוד (תפקודים) בתגובה לטריגרים, ו-FLT:2אזורe LogiceursFLT 3 עבור עריכת גלגולי עבודה מרוב שלבים המשלבים מגוון רחב של מערכות ושירותים.
לשם הבנה עמוקה יותר, התייחס לסקירה הרשמית של Azure Functions של Microsoft (להלן: 2) ו-File Apps Documents (FLT 3: 3).
Azure Functions: The Compute Powerhouse
Azure Functions הוא שירות מבוסס אירוע, ללא שרת המאפשר לך לבצע קוד שנכתב במגוון שפות - כולל C#, JavaScript, Python, Java ו-PowerFi - בתגובה לפונקציות.
המונחים: Azure Functions
כל פונקציות Azure קשורות ל-FLT:0 (הראשונה ל- Azure Function is related to a FLT:2bindingsFLT 3:0) המאחד את הפונקציה למקורות נתונים או הכיור (כגון Azure Storage, Cosmos DB או Bus Service) ללא כתיבת קוד מלוטש לחיבורים ואימות.
- (FLT:0)TriggersFLT:1 - בקשות HTTP, עונים, אירועי אחסון Blob, הודעות קוויות, אירועים גריידיים ועוד.
- (FLT:0)BindingsFLT:1 - לאפשר לפונקציות לקרוא נתונים קלט ולכתוב נתוני פלט באופן ברור.
- (FLT:0uri plansFLT:1) - תוכנית החיזוי (הדרגות אוטומטיות, שכר-per-execution), תוכנית Premium (במקרים טרום-מתואר, VNET קישוריות), ותוכנית ייעודית (לכאורה ניתן לצפות עומסי עבודה על תוכנית שירות App).
פונקציות Azure מספקות את ה- 0 (automatic ScaleingFLT:1) אשר מגיב לנפח האירועים הבאים.תחת תוכנית ההנחה, הפלטפורמה מוסיפה או מסירת מקרים פונקציה בהתבסס על מספר ההדקים המתנשאים.
תכונות מפתח
- (ב) ,0) ,Automaticrated Scaleing:1 - מ- אפס לאלפים של הוצאות להורג במקביל.
- (ב) ,0) תמחור שימוש ב-PayPal (לא עולה בעת נטילת idle).
- (FLT:0) תמיכה בשפה האנגלית 1 (C#, JavaScript, Python, Java, PowerPoint, TypeScript ו-Go (באמצעות מטפלים מותאמים אישית).
- (FLT:0) אבטחה משולבת ,FLT:1 - אימות קל עם Azure Active Directory, מפתחי API וזהויות מנוהלות.
- (ב) ⁇ :0) פונקציות ניתנות להחלפה (FLT:1) – הרחבה למיזוג זרמי עבודה ארציים עם מחסומים ו-Replay.
- (FLT:0) עידוד כלי ההרחבה של 1FLT - שילוב חלק עם Visual Studio, Visual Studio Code, CLI ו- Azure Portal.
פונקציות דוריות מרחיבות את היכולות של Azure Functions על ידי מתן HTTP ארוך, תזמורות מצביות. עם דפוסים כמו שרשרת פונקציונליות, Fan-out / Fan-in, Async HTTP APIs, ואינטראקציה אנושית, פונקציות דור-אפשריות מאפשרות ליישם זרמי עבודה מורכבים (למשל, עיבוד, רשתות אישורים) ללא ניהול חיצוני.
שימוש במקרים נפוצים עבור Azure Functions
- RESTful APIs או microservices עם HTTP טריגר.
- קבצי עיבוד שהועלו ל-Blob Storage (למשל, שחזור תמונות, הפקת נתונים).
- עקבו אחרי Azure Event Hubs
- הפעלת משימות מתוכננות (למשל, דו"ח יומי, בדיקות בריאות).
- תגובה לשינויים ב- Cosmos DB או SQL Server באמצעות שינויים בהזנת חומרים.
- יישום אוטומציה חוזרת עבור יישומים ניידים ומכשירי IoT.
Azure Logic Apps: Orchestrating Workflows
Azure Logic Apps היא פלטפורמה אוטומציה ללא שרת אשר מאפשרת לך מודל ולבצע תהליכים עסקיים מורכבים באמצעות מעצב חזותי או קוד (שפה זרימה) לוגי Apps לחבר מאות מחברים שנבנו מראש עבור שירותים כגון Office 365, Dynamics 365, Salesforce, Dropbox, Server ו- API מותאם אישית, מה שהופך את זה קל להשתלב על מערכות ענן ופרסום ללא קוד אינטגרציה נרחב.
כיצד Apps לוגיים לעבוד
יישום לוגי מורכב מ-FLT:0 (triggertureFLT:1) שמתחיל את זרימת העבודה וסדרה של FLT:2actionsFLT 3 אשר פועל באופן זמני או במקביל.הטריגר יכול להיות לוח זמנים חוזר, בקשה HTTP, קובץ חדש בחשבון אחסון, או אירוע מתוכנה כשירות (aaS) יכול לשלוח רשומות חיצוניות, הפעלת מסד נתונים חיצוני, הפעלת קבצים, או הפעלת נתונים חיצוניים, או הפעלת קבצים של Azure, או הודעה של Microsoft.
יישומי לוגי פועלים ב-FLT:0 (serverlessFancy:1) באופן תחת תוכנית ה-Contion, שבו אתה משלם על ביצוע פעולה ורמת הטיפול מטופל באופן אוטומטי.עבור הצרכים של החברה, התוכנית הסטנדרטית מספקת יכולת ייעודית, רשתות פרטיות, ושילוב מובנה עם Azure Functions ו- App Service Hosting.
תכונות מפתח
- (ב) ,0) מעצבי ויסקיאל (Visual DesignerFLT:1) - יוצרים זרימות עבודה על ידי גרירת וחיבור רכיבים, עם אימות מובנה וניתוק.
- (FLT:0) אינטגרטיבית חיבורי שילוב של נרגילים:1) SAP, IBM MQ, Oracle DB ומערכות מורשת אחרות.
- (FLT:0) טרנספורמציה של נתונים (FLT:1) - השתמש בתבניות נוזליות, JSON schemas, ומיפוי כלים כדי להמיר בין פורמטים שונים של נתונים.
- (ב) [15] ,בטעות טיפול בשגיאות (FLT:1) - מדיניות חוזרת, מדיניות מקבילה, ביצוע מבוסס תנאי.
- (ב) ,0) הוצאת להורג של הוראת סעיף 1 (הופנה מהדף הוצאתו להורג)
- (FLT:0) אינטגרציה עם Azure FunctionsFirLT:1) - יישומי לוגיקה יכולים להפעיל את Azure function כפעולות מותאמות אישית, שילוב של התאמות ותזדורות.
שימוש במקרים נפוצים עבור לוגיקה Apps
- צינורות איסוף נתונים אוטומטיים - למשוך נתונים ממקורות מרובים, להפוך אותו, ולאחסן אותו במחסן נתונים.
- הצגת זרימות עבודה - כאשר מקבל הזמנה חדשה של רכישה, לאמת אותו, דרך למנהל המתאים, ולעדכן את מערכת ERP.
- חיבור על מערכות קדם לשירותי ענן באמצעות שער הנתונים של On-premises.
- שליחת התראות והודעות ברחבי דואר אלקטרוני, צוותים, Slack או SMS כאשר מתרחשים אירועים ספציפיים.
- חדור עם CRMs ו ERPs כדי לסנכרן נתוני לקוחות, לעדכן הזמנות או לנהל מלאי.
- עיבוד מסמך אוטומטי - המרת PDF לטקסט, מסווג אותם עם Azure Cognitive Services, והצלת תוצאות למסד נתונים.
עבור מדריך מעמיק על בניית זרימת העבודה הראשונה שלך, בקר ב-FLT:0 Zonee Logic Apps FaststartveFLT:1.
פתרון משולב ללא Server
בעוד ש- Azure Functions ו-Logical Apps יכולים לשמש באופן עצמאי, הם מאירים כאשר הם משולבים.תבנית טיפוסית היא להשתמש ב- Azure function כדי לבצע משימה מסוימת של compute משימה – כגון עיבוד תמונה, אימות נתונים, או קריאה ל- API של צד שלישי – ולאחר מכן להשתמש באפליקציית לוגיקה כדי לזמר פונקציות ושירותים מרובים לתוך צינור cohesive.
אדריכלות: Order Processing Pipeline
שקול מערכת מסחר אלקטרוני שבו הזמנות ממוקמות באמצעות REST API.הזרם יכול להיות:
- (FLT:0 HTTP מפעילה את הפונקציה FunctionFLT:1) מקבל את ההזמנה JSON ומאמת אותו כנגד כללים עסקיים (למשל, לבדוק מלאי באמצעות שיחת מסד נתונים).
- אם בתוקף, הפונקציה כותבת את ההזמנה לאחסון Azure Queue או אירוע גרייד.
- (FLT:0Logic AppeurFLT:1) מופעל על ידי הודעת תור.It משחזר את פרטי ההזמנה, קורא שירות לקוחות פונקציונלי כדי לחשב מס (תפקוד אחר), ולאחר מכן משתמש מחבר כדי לפרסם את ההזמנה ל- ERP (למשל, Dynamics 365).
- לבסוף, אפליקציית Logic שולחת הודעת אישור הזמנה באמצעות Office 365 ו-Golds את העסקה למסד נתונים של SQL.
אדריכלות זו מפרידה בין חששות: לוגיקה מותנית ב- Azure Functions, בעוד שלוגיקה התזמורתית והאינטגרציה חיים ב-Logical Apps.כל רכיב יכול לפתח, לבדוק ולהקנה באופן עצמאי.
שיטות טובות ביותר לשלב את שני השירותים
- (FLT:0) פונקציות ללא תנאי, לוגיקה המדינהית AppsveFLT:1) - לשמור על פונקציות חסרות מדינה; להשתמש ב-Logical Apps כדי לנהל את המדינה (למשל, רטיבות, המתנה לקלט אנושי).
- (FLT:0)Use מפעילה ביעילות את 1FLT - להימנע מתפקודים ארוכי טווח שחוסמים את הסקאלה; במקום זאת, מזרז תהליכים ארוכי טווח לתפקודים דוריים או לאפליקציות לוגיות.
- (ב)[דרוש מקור]] ,[דרוש מקור]: [ה] [ה]] [ה]], [ה], [ה], [ה],] יישם את הטיפול בטעויות באפליקציות הלוגיות עם מדיניות של דחייה, היקף ופעולות פיצוי.
- (FLT:0) סודות וחיבורים מאובטחים (FLT:1) - השתמש ב- Azure Key Vault כדי לאחסן מפתחות API, מיתרי חיבור ותעודות.ניהול זהויות מאפשרות פונקציונליות ו-Logical Apps לאמת את שירותי Azure ללא סודות.
- (FLT:0)Monitor ו- LogFLT:1 - מאפשר תובנות יישומים עבור פונקציות Azure ו- Azure Monitor עבור יישומי לוגיקה כדי לקבל טלמטרי מקצה לקצה.
היתרונות של Azure Functions ו-Logical Apps ביחד
השילוב מביא יתרונות ברורים על ארכיטקטורות מונוליטיות מסורתיות או מיקרו-שירותים:
- (FLT:0) ניהול תשתיות אספקת 1:1 - אין צורך לספק VMs, לקבוע מאזן עומס, או תיקון מערכת ההפעלה.
- (FLT:0) יעילות ההשתנות של FLT:1 - לשלם רק על מה שאתה משתמש בו. Standalone פונקציות על תוכנית קונפורציה לא עולה דבר כאשר idle.Log Apps לטעון לפעולה, כך שזרימות עבודה נמוכות ונמוכות הן מאוד כלכליות.
- (FLT:0) פיתוח ופריסת הפריסה של פריים 1:1 - מעצב הראייה של יישומי לוגיקה וכלי עשיר עבור פונקציות לאפשר למפתחים ואדריכלים להאיץ במהירות.
- (FLT:0) יכולות שילוב של אינטגרציה מתקדמות (Enhancedאינטגרציה) 103: Apps לוגיים מציעים מאות מחברים, בעוד פונקציות ניתן להרחיב עם מטפלים מותאמים אישית עבור כל שפה או זמן ריצה.
- (FLT:0) רגישות לטיפול בעומסי עבודה משתנים: 2 השירותים עולים באופן אוטומטי. תעבורה של יום שישי השחור?
- (FLT:0) ,Ut-oriented ReactivityFLT:1 - יישומים מגיבים לאירועים בזמן אמת, המאפשרים תרחישים כמו זיהוי הונאה בזמן אמת, עיבוד טלמטרי של IoT, או ניתוח רגשות חברתיים.
המונחים: real-World Implementation Spotlight
ארגונים רבים אימצו את Azure Functions ו-Logical Apps כדי לחדש את מערכות המורשת.לדוגמה, חברת הביטוח החליפה תהליך בן לילה עם צינור מונחה אירוע.טענת הגשת תביעה גורמת לתפקוד המאמת נתונים ומצילה תובנות באמצעות AI (שירותים קוגניטיביים) A Logic App מארגן את זרימת העבודה, שילוב עם הבקשות הקיימות על-premises Database באמצעות הנתונים על-premisess.
דוגמה נוספת: ספק שירותי הבריאות משתמש ב- Azure Functions כדי לעבד הודעות HL7 מבתי חולים ולהפוך אותם לתבנית FHIR, בעוד ש-Logical Apps מתזמרים את ההסתה למערכות אחוריות מרובות (EHR, Analytics, חיובים), הטבע המונע על ידי האירוע מבטיח כי נתונים של המטופל זמין במהירות וביעילות, עם שבילי ביקורת מלאים.
מתחילים
כדי להתחיל לבנות יישומים ללא שרת עם Azure, בצע את השלבים הבאים:
- (ב) אם אין לך אחד, Azure מציעה שכבה חופשית עם אשראי למשך 30 הימים הראשונים.
- (ב) ,0) למד את היסודות של LT:1 - השתמש ב- (FLT:2אזור למידה ללא שרת נתיב למידה ללא תשלום 3 כדי לקבל ניסיון עם פונקציות ואפליקציות לוגיות.
- (FLT:0) ,Set up Local DevelopmentFLT:1 - להתקין את Azure Functions Core Tools ואת Azure Logic Apps (VS Code הרחבה או להשתמש מעצב הפורטל).
- (FLT:0Build a simple to-end דוגמה פשוטה ל- End-to-end LT:1) - ליצור פונקציה HTTP-triggered שמאחסן נתונים בקוסמוס DB, ולאחר מכן לבנות אפליקציה הגיונית שמשחזרת נתונים אלה ושולחת הודעה.
- (FLT:0)Implement CI/CDFLT:1) - להפיץ את הקוד שלך באמצעות Azure DevOps או GitHub פעולות עבור בנייה אוטומטית ושחרור.
זכור לאמץ (FLT:0) חשיבה ללא תנאי: עיצוב לכישלון, אימוץ תקשורת סינכרונית, להתמקד בלוגיקה עסקית ולא בדאגות תשתיתיות.
מסקנה
יישום ארכיטקטורות ללא שרת עם Azure Functions ו-Logical Apps מעצימה ארגונים לחדש מהר יותר, להפחית את עלויות התפעוליות ולייעל עלויות. Azure Functions לספק את השכבה המותאמת - מונחה על ידי אירועים, חסכוניים, וחסכוניים - בעוד Azure Logic Apps לספק את שכבת התזמורת, המאפשרת אינטגרציה מורכבת ללא קוד דבק.
בין אם אתה סטארט-אפ המחפש להשיק במהירות, חברה בגודל בינוני רוצה להיות תהליכים ידניים, או ארגון מודרניזציה מערכות מורשת, הגישה ללא השרת עם Azure Functions ו-Logical Apps מציעה דרך פרגמטית קדימה.המערכת האקולוגית בוגרת, מנוהלת היטב, ונתמכת על ידי קהילה גלובלית.התחל עם הוכחה קטנה של מושג, למדוד את היתרונות, ולאחר מכן בקנה מידה גבוה העתיד של הענן הוא גמיש, יישום הוא אינסופי, פיתוח Azure הוא קדמית.