שילוב פונקציות ללא שרת עם מערכות מורשת קיימות

חידוש תשתית IT מבוססת לעתים קרובות מרגיש כמו הימור בסיכון גבוה. הצבת מערכות מורשת שלמות הוא יקר, זמן-consuming, ויכול לשבש פעולות עסקיות קריטיות.קרקע ביניים פרגמטית היא לשלב פונקציות ללא שרת עם המערכות הקיימות האלה. גישה זו מאפשרת לארגונים להוסיף יכולות מודרניות - כגון עיבוד נתונים בזמן אמת, חשיפה של API, או זרימת עבודה אוטומטית - ללא rewritings הליבה על ידי חיבור קטן, פונקציות ענן, בהדרגה, כדי להרחיב את מסדי נתונים גמישים, או תוכניות.

הבנת פונקציות Serverless בקונטקסט

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

כאשר הם מוחלים על שילוב מורשת, פונקציות ללא שרת לפעול כשכבה בינונית קלה. הם יכולים לשנות פורמטים נתונים מורשת, Orchestrate קורא ל-SOAP מיושן או HTTP APIs, או להגיב לאירועים ממערכות על-ידי מערכות טרום-מדומים. כי אין צורך בניהול השרת, צוותים יכולים לטיפוס ולשלב לוגיקה תוך שעות ולא שבועות.

מאפיינים מרכזיים שהופכים את השרת ללא תשלום מתאים לשילוב של Legacy

  • (FLT:0) הוצאה להורג מונחת: FLT:1 Functions להגיב לאירועים כגון שורה חדשה במאגר מורשת או הודעה שהוגדרה בתור.זה מקטין את ההיגיון המודרני מבסיס הקוד המורשתי.
  • (ב) [15] ,ב[[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]
  • (FLT:0) הקצאת אוטומטי: FLT:1 Spikes בביקוש - לדוגמה, קבוצה של בקשות של דוחות מורשת - מטופלים באופן שקוף ללא מתן שרתים נוספים.
  • (ב) תמחור שימוש: 0 (Pay-per-use תמחור: FLT:1) אתה אף פעם לא משלם עבור יכולת idle, ביצוע ניסויים בהורדת עלויות.

האתגרים האמיתיים של מערכות Legacy

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

  • (FLT:0) אדריכלות מונוליטית 1EsFLT:1ir כי זוג מצגת, לוגיקה עסקית ושכבות נתונים, מה שהופך שינוי מצטבר מסוכן.
  • (FLT:0) פרוטוקולי תקשורת פרופרטיטריים 1 (Proprietary Communications Protocols) כמו IBM MQ, Tuxedo, או קידודים מבוססי TCP, שמסגרות מודרניות אינן יכולות לצרוך בקלות.
  • (FLT:0Outdated APIssFLT:1 (למשל, SOAP / XML או פורמטים בינאריים בהתאמה אישית) הדורשים שינוי נרחב לעבוד עם שירותים מונעים על ידי RESTful או אירוע.
  • (FLT:0) מגבלות אחסון נתונים: 1FLT:1 מאגרי מידע מתמשכים עבור עומסי עבודה של OLTP לעתים קרובות נאבקים עם שאילתות אנליטיות או פעולות קריאה גבוהה.
  • (FLT:0) מגבלות אבטחה: מערכות מורשת 1:1 לא יכולות לתמוך באימות מודרני (OAuth, SAML) או הצפנה (TLS 1.2+) ללא שדרוגים.

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

אסטרטגיות שילוב פרובנס ותבניות

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

ראשי > AP Gateway as a Unified Front Door

§ עומק שער API (AWS API Gateway, Azure API Management, או Google Cloud Apigee) שמקבל בקשות חיצוניות ומסלול אותן למערכת המורשת או לתפקוד חסר השרת.התפקוד יכול לשנות את הבקשה, להתקשר למערכת המורשת באמצעות פרוטוקול מולדתה, ולהחזיר תגובה מודרנית של JSON.תבנית זו מסתירה את המורכבות של הצרכנים ומאפשרת החלפת הדרגתית של נקודות קצה.

נתונים נהיגה-Driven Data Synchronization

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

המונחים: Layer

כאשר מערכת המורשת משתמשת פורמט סידוריזציה לא סטנדרטי (כמו ASN.1, EDI, או פורמט בינארי קנייני), פונקציה ללא שרת יכול לפעול כמתרגם.התפקיד מקבל תשלום מודרני (JSON, Protobuf), מקודמת את התבנית המורשת, וגם יכול לקודד תגובות.תבנית זו היא שימושית במיוחד עבור שילובי B2B שבו שותפים המסחר לצפות ל- EDI X12 מסמכים, יכול להחזיר את הפונקציה ERP, כדי לתקן את הפונקציה.

מסד נתונים Wrapper עם שינוי נתונים לכידת (CDC)

מסדי נתונים מודרניים כמו PostgreSQL ואמזון אורורה תומכים בזרמים CDC. מסדי נתונים מורשת רבים, עם זאת, לא.גשר הפער הזה, אתה יכול להשתמש בתפקוד חסר השרת אשר מעת לעת מדגימים את מסד הנתונים המורשת לשינויים (באמצעות פרק הזמן או עמודה רצף) ולאחר מכן דוחף עדכונים למערכת מודרנית. לחלופין, אתה יכול להשתמש בכלי CDC קל משקל שכותב שינויים להודעה; תפקוד ללא שרת הוא פחות משינוי של תהליכים אלה.

אחריות פיקודית (CQueryאחריות) עבור עומסי עבודה מעורבים

אם מערכת המורשת מטפלת הן קורא והן כותב אך איטי עבור שאילתות, אתה יכול לפצל את האחריות.כתובים להמשיך ישירות למערכת המורשת, תוך קריאה מוגשים מ- Cched או קורא-replica המאוכלס על ידי פונקציות ללא שרת. לדוגמה, אתר מסחר אלקטרוני עשוי לכתוב הזמנות ל- ERP אבל סדר פני השטח באמצעות פונקציה ללא תשלום הקוראת מ- Redis cache על ידי פונקציות נוספות להאזנה למסד נתונים.

שיקולים ביטחוניים כאשר בריידיד ישן וחדש

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

  • (ב) סעיף:0 Network פלמנטציה:0 Network:FLT:1 Placeless function in a VPC אשר הגבילו את התוקפנות למערכת המורשת. השתמש במארחי הבזה או VPC המלווים במקום לחשוף את שירותי המורשת על האינטרנט הציבורי.
  • ניהול:0 (FLT:1hil) השתמש במנהל סודות (מנהל סודות AWS, Azure Key Vault, או HashiCorp Vault) לאחסון סיסמאות מסדי נתונים מורשת או מפתחי API.לעולם אל תהססו קוד הפונקציה.
  • (FLT:0) ,Input אימות ו-Ssanitization: מערכות Legacy לעיתים קרובות סומך על קלטות פנימיות ועשויות להיות פגיעות להתקפות הזריקה.תפקודים ללא שרת חייבים לאמת ולהעריך את כל הנתונים לפני שקידם אותם למערכת המורשת.
  • (FLT:0) Audit logging:FLT:1 ⁇ מפורטים בתפקיד חסר השרת ותואמים אותם עם יומני מערכת מורשת.ספקי ענן מציעים מבנים וטיולים (CloudWatch, Azure Monitor).
  • (FLT:0) אסימונים של אישורים: 1FIRLT) השתמש בסימון קצר מועד או ב- TLS הדדי בין הפונקציה ללא השרת לבין מערכת המורשת אם אפשר.אם המערכת המורשת תומכת רק באימות בסיסי, להבטיח שהאישורים מופעלים באופן קבוע.

מעקב ו Observability באדריכלות היברידית

מעקב מופץ הופך מורכב יותר כאשר פונקציה ללא שרת מכנה מונוליטית מורשת.אתה צריך חשיפה מקצה לקצה כדי לפתור בעיות איטיות או כישלונות.

  • (FLT:0) תואמים מזהה: FLT:1hil יוצר מזהה ייחודי בנקודת הכניסה (שערAPI או מקור אירוע) ולהעביר אותו דרך הפונקציה ללא השרת ובתוך המערכת המורשת (באמצעות כותרת או כניסה לרישום).
  • (FLT:0) Instrument שני הצדדים: FLT:1 פונקציות ללא שרת יכול להשתמש OpenTelemetry SDKs כדי פולטים את הסבבים לחזרת עקבות (AWS X-Ray, Azure Application Insights, או Jaeger). מערכות מורשת עשויים להיות מרתיעים עם מתאם מבוסס-דלוק.
  • (FLT:0) קיצור שגיאות: FLT:1hil מציג אזעקה לטעויות ייעוד, תהלוכות זמן (הגבלת הגבלת 15 דקות בפונקציות של Google Cloud), ותגובה של שגיאות מערכת מורשת (למשל, HTTP 500s).
  • (FLT:0)Cold Start Detection: FLT:1 פונקציות ללא שרת עשויים להיות בעלי נטיות של כמה מאות שניות. עבור אינטגרציה רגישה לעקביות, לשמור על תפקוד חם עם ייעוד תקופתי או להשתמש במטבע קונפדרציונפי (AWS Lambda).

ניהול עלויות: הימנעות מהפתעות

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

  • (FLT:0) ייעודים גבוהים לבקשה: FLT:1 אם פעולה אחת של משתמשים גורמת לקריאות פונקציה מרובות (למשל, סקר מסד נתונים מורשת), מצמצם את מספר הביטולים על ידי אצווה או שימוש בפונקציות שלב.
  • עלויות העברת נתונים:0 (FLT:1) העברת נתונים ממערכת מורשת על גבי תעריפים לתפקוד ענן עלולות לעכב את ההאשמות על תוקפנות.
  • (FLT:0) הגבלת ההנעה: 1FLT נמנע מתפקודים ארוכי טווח הפונים ל-Timeout השירות (בדרך כלל 15 דקות) אם עיבוד עבודה זומנת מורשת לוקח יותר זמן, לשבור אותו לתוך נתחים ולהשתמש בשירות תזמורת כמו פונקציות AWS Steps.
  • (FLT:0Database Connectioning:FLT:103) מסדי נתונים לעתים קרובות יש מספר מוגבל של קשרים מקבילים.פתח חיבור חדש לתפקוד בייעוד יכול להשמצה את הבריכה. השתמש ב Proxy חיבור (למשל, אמזון RDS proxy) או קו-שיתוף קשר.

מדד השימוש האמיתי בעולם: פיתוח מערכת עיבוד תביעות

לחברת ביטוח גדולה הייתה מערכת ניהול תביעות מורשת שנבנתה בשנות ה-90.It רץ על מסגרת עיקרית, השתמש פרוטוקול בינארי מותאם אישית עבור העברות קובץ אצווה, ומאוחסנים נתונים במאגר מידע היררכי.העסק נדרש להציע אפליקציה ניידת ללקוחות להגיש תביעות עם תמונות.במקום לכתוב מחדש את ה-Postframes הראשי, הם הציבו פונקציה ללא שרת (AWS Lambda המחוברת ל-APIOS שולחת קובץ מותאם אישית, כלומר, קובץ ה-SD) קובץ קובץ ® ® ® , כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, כל אחת מ-SDOSDOSD.com, קובץ ראשי, קובץ ראשי תיבות של קובץ ראשי תיבות של קובץ ® ® ® ® ® ® ® ®STR.com, כלומר, כלומר, כלומר, כלומר, כלומר, כלומר, קובץ ® ® ® ® ® ®SAPR.com, כלומר, קובץ ראשי תיבות של קובץ ראשי תיבות של קובץ ראשי תיבות של קובץ ®STR.com, קובץ ® ® ®S.com, כלומר, כלומר, כלומר, כדי לענות עלות ראשי תיבות של קובץ ראשי תיבות של קובץ ראשי תיבות של קובץ ראשי תיבות של קובץ ®

גישות חלופיות ומתי לשקול

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

  • (FLT:0) סטרנגלר Fig דפוס:FLT:1 Gradually להחליף פונקציונליות מורשת עם microservices, ניתוק שיחות באמצעות פרוקסי עד שמערכת המורשת מוזנחת לחלוטין.זה פולשני יותר, אך מניב מערכת מודרנית מלאה בסופו של דבר.
  • (FLT:0) מיכלי עזר: FLT:1ir להפעיל מיכל קל משקל ליד היישום המורשת כדי להתמודד עם תרגום פרוטוקול או צ'נג.זה שימושי כאשר מערכת המורשת פועלת בסביבה מקוטבת.
  • (FLT:0Cloud-native Database Replication: FIRLT:1) עבור אינטגרציה ממוקדת נתונים, כלים כמו AWS DMS (שירות הגירה בסיס נתונים) יכולים לשכפל טבלאות מסד נתונים מורשת למסד נתונים ענן במשרה חלקית, אשר פונקציות ללא שרת יכולות לאחר מכן לשאול.

הגישה ללא השרת היא הטובה ביותר כאשר אתה צריך הרחבות מהירות, בסיכון נמוך, למנוע את זה אם מערכת המורשת דורשת תשובות סינכרוניות, נמוכות יחסית מתחת 10 מ"תות, או אם ספק הענן אינו תומך ברשת הנדרשת (למשל, Direct Connect, VPN).

להתחיל: צעדים מעשיים לשילוב הראשון שלך

  1. (FLT:0) זיהוי אזור פונקציונלי בסיכון נמוך.אנדרט 1 (איור 1) בחר נקודת קצה אחת או אירוע שאינו דורש עקביות עסקה. לדוגמה, מראה לקריאה בלבד, הודעה או דו"ח אצווה.
  2. (FLT:0)Map the data Flow.FLT:1 Document the Legacy's API או לייצא פורמט. Define the Expectיפקוד והפלט לצרכן המודרני.
  3. (FLT:0) הפעלת פונקציה חסרת אבטיפוס.ראהFLT:1) השתמש בקונסולת ספק הענן לכתוב פונקציה פשוטה הקוראת ממסד נתונים מורשת או קובץ, משנה את הנתונים, וחוזרת תגובה JSON. Test באופן מקומי באמצעות חיקוי של הספק אם זמין.
  4. (FLT:0Set up Security and Network.FLT: 1 Conform VPC, סודות ו- IAM תפקידים.להבטיח שהתפקוד יכול להגיע למערכת המורשת (מבחן בתוך VPC).
  5. (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  6. (FLT:0)Deploy ו- Monitor.FLT:1 Gradually תוואי אחוז קטן של תנועה אל הנתיב ללא השרת.השוואה בין תוצאות עם המערכת הישנה. השתמש בדגלים או פריסות פחיות כדי לחזור אם יש צורך.
  7. (ב) ,0) ,[[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]]

מסקנה

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

(ב) לקריאה נוספת, להתייעץ עם ה-FLT:0 (AWS LambdaeursFLT) 1 למקורות אירועים ותצורת VPC, ולחקור את הניתוח של מרטין FLT:2 Martin Fowler של ארכיטקטורות ללא שרת: 3.10 כדי להבין את ה- Trading-offs. Cloud ספקים מציעים גם מדריכים מפורטים על תבניות שילוב היברידיות - לדוגמה, של Microsoft Stranglers Figangeurs של Microsoft:5 יכול להשלים עם גישה מלאה.