בדף הזה מופיעה סקירה כללית על האסטרטגיות, הכלים והדרכים שזמינים כדי להפוך אפליקציות מונוליתיות מדור קודם ועומסי עבודה ללא שרת (serverless) למיקרו-שירותים מבוססי-ענן ב- Google Cloud.
אם אתם אדריכלי ענן, מפתחי אפליקציות או מובילי הנדסה, אתם יכולים להשתמש במידע שבדף הזה כדי להעריך את מסלולי המודרניזציה של האפליקציות, להעריך את מוכנות הקונטיינרים לעומסי עבודה של Java באמצעות Google Cloud Modernization Hub, לשנות את בסיסי הקוד באמצעות AI גנרטיבי ולפרוס ב-Google Kubernetes Engine (GKE) וב-Cloud Run.
לפני שאתם קוראים את הדף הזה, אתם צריכים להבין את הארכיטקטורות הקיימות של האפליקציות, את יחסי התלות של קוד המקור ואת הדרישות של סביבת זמן הריצה של היעד.
מסלולים למודרניזציה של אפליקציות
בחרו את המסלול המתאים למודרניזציה של האפליקציה, בהתאם לארכיטקטורה של עומס העבודה במקור וליעדי הפיתוח. בתרשים הבא מוצגים שלושה מסלולים למודרניזציה של אפליקציות:
כל מסלול מתייחס לתרחיש ספציפי של מודרניזציה:
- מודרניזציה של עומסי עבודה ב-.NET וב-Java: הערכת עומסי עבודה ב- .NET וב-Java באמצעות Modernization Hub כדי לבחון נתיבי טרנספורמציה, כמו שדרוגים של מסגרות ויצירת קונטיינרים לעומסי עבודה ב-Java.
- ארגון קוד מחדש בעזרת AI: מודרניזציה של מסגרות מדור קודם ופירוק של ארכיטקטורות מונוליתיות באמצעות AI גנרטיבי.
- העברה ללא שרת (serverless): המרת פונקציות מבוססות-אירועים למיקרו-שירותים (microservices) ניידים של HTTP בקונטיינרים.
מודרניזציה של עומסי עבודה ב-.NET וב-Java
בעזרת Modernization Hub אתם יכולים להעריך עומסי עבודה של ASP.NET, .NET Framework ו-Java, ולבחון נתיבי טרנספורמציה כמו שדרוגים של מסגרות ויצירת קונטיינרים לעומסי עבודה של Java בשלושה שלבים:
- הערכת עומסי עבודה: ניתוח של ארכיוני המקור ב-Cloud Storage כדי להעריך את התאימות של בסיס הקוד ואת המאמץ הנדרש למודרניזציה, בלי להקצות מכונות נפרדות.
- זיהוי חסימות: זיהוי חסימות ספציפיות למערכת ההפעלה ול-framework (כמו קריאות ל-Windows Registry, שירותי Windows Communication Foundation (WCF), יחסי תלות של Internet Information Services (IIS) ומרחבי שמות מדור קודם של Java EE) בדוחות HTML ו-Markdown שניתנים להורדה.
- תכנון הטרנספורמציה: הערכת נתיבי הטרנספורמציה המומלצים, כולל שדרוגים של מסגרות ויחסי תלות לעומסי עבודה של .NET ו-Java, והכנסה לקונטיינרים של Linux לעומסי עבודה של Java ב-GKE או ב-Cloud Run.
למידע נוסף, קראו את המאמרים הערכת אפליקציות .NET, הערכת אפליקציות Java והעברת אפליקציות בקונטיינרים.
ארגון מחדש של קוד (Refactoring) בעזרת AI
כדי לנתח ולשדרג קוד אפליקציה מדור קודם, כמו שדרוג של .NET Framework 4.x או שדרוג של עומסי עבודה ב-Java לקונטיינרים של Linux, ב-Modernization Hub, ב-Antigravity CLI וב-Antigravity יש תמיכה בתהליך העבודה הבא:
- הערכת יחסי תלות: סריקה של מאגרי קוד מקור כדי לזהות ממשקי API שלא נתמכים, רכיבים מונוליתיים עם צימוד חזק ותאימות לסביבת זמן הריצה של היעד.
- שכתוב קוד (refactoring): משתמשים ב-Antigravity CLI כדי להמיר קריאות ל-framework מדור קודם לקריאות מקבילות מודרניות שמתאימות לכמה פלטפורמות.
- יצירת פריטי מידע שנוצרו בתהליך הפיתוח (Artifact): יצירת קובצי Docker וקובצי תצורה עם כמה שלבים לאפליקציות היעד.
העברה בלי שרת (serverless)
כדי להעביר פונקציות ללא שרת (serverless) מ-AWS Lambda ל-Cloud Run, צריך לבצע את השלבים הבאים:
- הערכת תלות בזמן ריצה: זיהוי טריגרים של אירועים, משתני סביבה ומגבלות ביצוע.
- ארגון הקוד מחדש (Refactoring) של קוד ה-wrapper להרצה: משתמשים ב-Antigravity CLI כדי להתאים את הגורמים המטפלים באירועים של AWS Lambda לגורמים מטפלים בקונטיינרים סטנדרטיים בלי שמירת מצב (stateless) של HTTP.
- פריסה ב-Cloud Run: אורזים את הפונקציה בקונטיינר ופורסים אותה ב-Cloud Run כדי לבצע התאמה אוטומטית לעומס (scaling) עם חיוב לפי שימוש.
ארכיטקטורות לדוגמה
במאמרים הבאים ב Google Cloud מרכז הארכיטקטורה תוכלו למצוא מידע מעמיק על תבניות ארכיטקטורה ומדריכים למודרניזציה:
המאמרים הבאים
- העברת אפליקציות בקונטיינרים
- סקירה כללית על מודרניזציה של מחשב מרכזי
- מסמכי התיעוד של Modernization Hub