הבנה של אדריכלות ללא Server

ארכיטקטורות Serverless מייצגת שינוי פרדיגמה במחשוב ענן, המאפשרת למפתחים לבנות ולרוץ יישומים ללא מתן הוראות ידני, קנה מידה או ניהול שרתים. במודל זה, ספקי ענן - כגון Amazon Web Services עם AWS Lambda, Microsoft Functions, ו-Google Cloud Functions - החלים את זמני הבחינה הבסיסית של השימוש, ומאפשרים לצוותים להתמקד רק בכתיבה עסקית לוגיקה, המונח "חסרי זמן" הוא מעט; הם עדיין קיימים, אך ורק על ידי דרישות סטנדרטיות, אך ורק על ידי דרישות זמניות, אך ורק על ידי דרישות זמני למידה, אך ורק על ידי דרישות סטנדרטיות, אך ורק על ידי דרישות סטנדרטיות, אך ורק על ידי פונקציות למידה, ורק על ידי פונקציות יעילות זמניות, ורק על ידי פונקציות יעילות זמניות, ורק על ידי פונקציות גמישות, אך ורק על ידי פונקציות יעילות של זמן, ורק על ידי פונקציות למידה, אך ורק על ידי פונקציות למידה, בתנאי יעילות גמישות, אשר ממות, אשר מקודמות, ורק על ידי פונקציות למידה, אשר מקודמות, אשר מקודמות, בתנאי שרתי תיבות של פונקציות יעילות מוגבלת, אך ורק על ידי פונקציות יעילות גמישות, אשר מקודמות, אשר מקודמות, אשר מקודמות, אשר מקודמות, אשר מקודמות

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

חוסר יכולת ללמידה אישית

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

עם זאת, בניית פלטפורמה למידה מותאמים אישית כוללת יותר מאלגוריתמים בלבד.זה דורש עמוד אחורי תוכן חזק, ניהול פרופיל משתמש, וסנכרון חלקה בין יישומים לפני end ולוגיקה אחורית.זה המקום שבו CMS חסר ראש כמו RESTFLT:0Directus GraphFLT 1 מגיע לשחק. Directus מספק שכבת נתונים גמישה לניהול קורסים, חידון, התקדמות משתמשים, ו metadata, בעוד ש-Cdatas יכול ליצור פונקציות לחץ מיידיות של מערכת ההפעלה ללא הפעלת ממשקים.

יתרונות של Serverless for Education Platforms

אלסטיאל סקאביה ללא סייגים

אחד היתרונות המשכנעים ביותר של ללא שרת הוא היכולת שלה בקנה מידה מאפס לאלפים של משתמשים במקביל ללא התערבות ידנית.פלטפורמת למידה עשויה להיות 50 משתמשים פעילים ביום שלישי ישן ו-5,000 במהלך בחינה חיה של שרת מסורתית דרישות או יתר על המידה (ולשלם עבור משאבים idle) או סיכון ביצועים תחת עומס.

עלויות יעילות עם תשלום-Per-Execution

תקציבי טכנולוגיה חינוכיים הם לעתים קרובות הדוקים, במיוחד עבור מוסדות ללא מטרות רווח או סטארט-אפים בשלבים מוקדמים. Serverless מבטל את העלות של יכולת שרת idle.עם AWS Lambda, למשל, מיליון הבקשות הראשונים בחודש הם בחינם, ולאחר מכן, תמחור מבוסס על מספר הבקשות והמשך - כלפי מטה השניות של החברה, מודל זה הוא יתרון במיוחד עבור פלטפורמות שרואים דפוסים עונתיים של שימוש במקום לשרתים, ללא תשלום זמניים, או תשלום מותאם אישית, או תשלומים, רק עבור תוכניות למידה, רק עבור תוכניות למידה, או תשלום אישי, או שעות עבודה, או תוכניות למידה, רק עבור שעות עבודה, או שעות עבודה, או תשלום, או שעות עבודה, רק עבור תוכניות למידה, עבור תוכניות למידה, 000.

פיתוח מהיר וחלוקת

ארכיטקטורות ללא שרת מעודדות גישה דמוית מיקרו-שירותים שבה לכל פונקציה יש אחריות אחת.הגרנריות הזו מפשטת את הפיתוח כי צוותים יכולים לעבוד על תכונות עצמאיות - כגון חידון, המלצה תוכן או מעקב אחר התקדמות - מבלי לדרוך על קוד זה. Deployment הופכת טריוויאלית: לדחוף קוד למחסן, ואת CI /CD / צנרת עם פונקציות עם אפס, יתר על פני מעבדים של זמן, כמו מעבדיפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטפטים, או מעבדים אחר, כלומר, תכונות חדשות, כמו מעבדים של צוות עיבוד.

גמישות עם אינטגרציה

פלטפורמות למידה מודרניות קיימות לעתים רחוקות בבידוד.הם צריכים אינטראקציה עם מערכות ניהול למידה (LMS), ספקי אימות (למשל, OAuth, SAML), שירותי הזרמת וידאו, כלי הערכה, ומערכת ניטור Analytics. פונקציות ללא שרת יכול להיות כתוב להגיב לאירועים מכל אחד מהשירותים האלה.לדוגמה, כאשר סטודנט משלים חידון בכלי חיצוני, Webhook יכול לגרום לשרת ללא תשלום כי פונקציות באמצעות אינטגרציה חזקה, כגון שירותי iPhone / תכנות וידאו, כאשר זה משתמש אופטימיזציה של שירות וידאו, אם זה, כולל פרוטוקולים, אם זה, אם זה, תכנות וידאו שירות מחשבי תיבות של שירותי קובצי Cookie של Skype, כולל תכנות וידאו, כולל תכנות וידאו, כולל תכנות וידאו, כולל תכנות ענן, אם זה, אם זה, אם זה, כולל תכנות וידאו, אם זה מאפשר קובצי API של שירותי תכנות וידאו, אם זה, אם זה, אם זה מאפשר קובצי API של שירותי תכנות ענן שירות פרוטוקולים, אם זה, כולל תכנות ענן של שירותי קובצי API של שירותי תכנות ענן שירות פרוטוקולים, אם זה, אם זה, כולל תכנות ענן שירות פרוטוקולים ידני, כולל תכנות ענן שירות פרוטוקולים, כולל תכנות ענן, לדוגמה, לדוגמה, אם זה, אם זה, אם זה, כולל תכנות ידני, אם זה, אם זה, לדוגמה, אם

כיצד ניתן לקבל אישור אמיתי-Time

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

  1. סטודנטים נכנסים ומתחילים שיעור על שבריריות.
  2. לאחר השלמת קבוצה של בעיות, החזית שולחת את התוצאות לנקודת קצה ללא שרת (למשל, שער API של AWS המחובר לתפקוד של Lambda).
  3. הפונקציה מחשבת את הדיוק והמהירות של התלמיד, ואז שאילתות Directus כדי לאחזר את רמת המיומנות הנוכחית של התלמיד ואת ההיסטוריה של הלמידה.
  4. בהתבסס על עץ החלטות או מודל למידה מכונה פשוט, הפונקציה מחזירה רשימה של שלבים מומלצים הבאים: אם התלמיד הבקיע מעל 90%, לעבור לנושא הבא; אם מתחת ל -70%, מציע וידאו מתווך ושלוש בעיות תרגול נוספות.
  5. החזית מקצה דינמית מעדכנת את הפנינת הלקח ומאגדת את האינטראקציה חזרה ל-Directus לניתוח עתידי.

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

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

אסטרטגיות יישום: שילוב של Directus עם פונקציות Serverless

הגדרת שכבת הנתונים

Directus משמש כמרכז נתונים מרכזי עבור הפלטפורמה.You יכול להגדיר אוספים עבור משתמשים, קורסים, שיעורים, שאלות חידון, ניסיונות, והמלצות. כי Directus הוא חסר ראש, זה חושף API נקי ו- GraphQL קצהpoint כי כל פונקציה ללא שרת יכול להתקשר. לדוגמה, פונקציה בכתב Nodejs או Python יכול להשתמש בספריות סטנדרטיות HTTP כדי להביא ועדכון ישיר, באמצעות אימות של שרת ישירות כדי להפעיל את הפונקציה JWKL.

בניית מנוע ההתאמה

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

  • (FLT:0) הפונקציה Recommendation:FLT:1 לוקח מזהה משתמש והקשר (למשל, השיעור הנוכחי) וחוזר רשימת השלבים הבאים המוצעים.זה שאילתות ישירות לרמה המאסטרית של דרישות המשתמש ומיישם אלגוריתם מבוסס חוק או מבוסס ML.
  • (FLT:0)Grading function:FLT:1 העריך את הבקשות, חישוב ציונים ועדכונים את ההתקדמות של המשתמש ב Directus.It יכול גם לגרום לעיון מחדש של מסלולי למידה.
  • (FLT:0) Notification function:veFLT:1 מגיב לטריגרים המבוססים על זמן (למשל, לעיכול יומי) או גורמים המבוססים על אירועים (למשל, תג חדש הרוויח) לשלוח הודעות באמצעות דואר אלקטרוני, SMS או דחיפה.

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

ניהול Cold Starts

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

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

אתגרים ושיקולים

פרטיות נתונים והתאמה

פלטפורמות חינוכיות מטפלות בנתונים רגישים של סטודנטים, ביצוע עמידה בתקנות כמו FERPA, GDPR ו-COPPA בראש סדר העדיפויות. אדריכלות ללא השרתים, מטבעם, להפיץ עיבוד נתונים על פני פונקציות קצרות מועד, אשר יכול לסבך ביקורת והתאמה של נתונים.

המונחים: Lock-In

הצעות ללא שרת מספקים שונים יש ממשקי API נפרדים, סביבות ריצה ואפילו סוגי מקור אירועים.כתיבה את הפונקציות שלך בצורה ספק-אגנוסטית - לדוגמה, באמצעות מסגרת Serverless Framework או AWS SAM עם שכבות מופשטות - יכול להקל על הגירה אם יש צורך.עם זאת, עמוק יותר אתה משלב עם שירותים ספציפיים ספק (למשל, דינמויי, אלגוריתם), אלגוריתם Bridge), כך קשה יותר לעבור גישה מתודולוגית כדי לעבור את ה-APTD.

ציות ועקשנות

כלים מסורתיים של ניטור השרת לעתים קרובות נופלים קצר כאשר חלים על אלפי תפקוד אמפירי בייעודים.אימוץ ערמת observability חזקה מההתחלה.ספקי ענן מציעים פתרונות ילידים כמו AWS CloudWatch, Azure Monitor ו-Google Cloud Operations, אבל כלים של צד שלישי כגון Datadog, Lumigo, או New Relic לעתים קרובות לספק ביצועים מבוזרים יותר על פני פונקציות מרובות של התלמיד על פני פונקציות הפעלה (retexa) של פונקציות הפעלה ישירה של ממשקי זמן (D) באמצעות תפקוד זה דורשות).

בדיקות ו- CI/CD

פונקציות ללא שרת הן קטנות, אך הן אינן טריוויאליות לבחינה. כי הן תלויות במקורות אירוע ענן, בדיקות מקומיות יכולות להיות מאתגרות. השתמש בתוספים הלא-מודעים המסופקים על ידי המסגרת ללא שרת או על ידי השימוש המקומי של AWS SAM כדי לדמות את ביצוע הפונקציה.לכתוב בדיקות יחידה עבור לוגיקה הליבה מחוץ לנגב, ובדיקות אינטגרציה כי פעילות נגד מבחן של Directus/CD, לטפל בפונקציה שלך כמו כל יישום אחר (ת) לפני ביצוע בדיקות אבטחה.

תחזית לעתיד: Serverless and the Next Generation of EdTech

הצומת של מחשוב ללא שרת ולמידה מותאמים אישית הוא עדיין צעיר, אבל כמה מגמות מצביעות על אימוץ מואץ.ראשון, העלייה של מחשוב קצה - שבו פונקציות ללא השרתים מבצעים קרוב יותר למשתמשים באמצעות ספקים כגון עובדי Cloudflare או AWS Lambda@Edge - יפחיתו את הגמישות עוד יותר, מה שיאפשר לחוויות immersive כמו מדריכים בזמן אמת ו שיעורי AR / VR.

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

לבסוף, דחיפה לעבר סטנדרטים פתוחים והתאמה הדדית (כמו הסטנדרטים של IMS Global Learning Consortium) יניעו את הצורך באדריכלות גמישות, API-First. פונקציות ללא שרת הן ידידותיות ל- API; הן יכולות להיות מאובטחות עם תקן OAuth2, לחשוף את webhooks לאינטגרציה חיצונית, ולעמוד במפרט OpenAPI.

מפת דרכים מעשית

שלב 1: בחר את ספק הענן שלך

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

שלב 2: הגדר את היישרות כתוכן שלך

Deploy Directus על התשתית המועדפת שלך (Cloud VM, מכולה, או כפרויקט Directus Cloud) Define את מודל הנתונים שלך כדי להתאים את היררכיה התוכן של הלמידה שלך: נושאים, קורסים, שיעורים, שאלות והתקדמות של משתמשים.

שלב 3: בנה ולקדם את התפקוד הראשון שלך

התחל פשוט: לכתוב פונקציה ללא שרת אשר משחזר פרופיל של התלמיד מ Directus וחוזר הודעה בברכה.חבר אותו לנקודת קצה HTTP.מבחן עם כלי כמו פולש או Postman. ברגע שעובד, להרחיב את הפונקציה כדי לקבל תוצאה חידון ולעדכן את הציון של התלמיד ב Directus. Gradually שכבה בהגיון.

שלב 4: הגדר מעקב ואזהרות

ניתן למקם ריצוף מפורט ולהגדיר לוחות נתונים עבור שיעורי שגיאות תפקוד, משך, ו invocations. Conforms עבור anomalies (למשל, עלייה פתאומית שגיאות או התחלה קרה ארוכה). כתוביות סקירה באופן קבוע כדי לתפוס בעיות אינטגרציה עם זמני API Directus או מגבלות ריבית.

שלב 5: מבוסס על נדל"ן אמיתי

התאמה היא תהליך של I / B בדיקות על אלגוריתמי ההמלצה שלך על ידי פריסת גרסאות פונקציונליות מרובות. Analyze מעורבות סטודנטים ותוצאות כדי לתקן את לוגיקה ההחלטה.מודל חסר השרת עושה את זה זול לניסוי: אתה יכול לרוץ מאות אלגוריתמים שונים בו זמנית ללא מתן שרתים ייעודיים, ואת ההבדל העלות הוא רשלנות כל עוד פונקציה נשארת יעילה.

מסקנה

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