USE CASES

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

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

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

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

שלב ראשון: יציבות לפני חדשנות בניית תשתית VM מבצעית על AWS

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

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

ההמלצה הייתה להתחיל מסביבת מכונות וירטואליות (VMs) מוכחת על גבי AWS שתספק:

  • אמינות ותחזוקה גבוהה
  • זמני הקמה קצרים
  • סיכון תפעולי נמוך
  • מקסימום שקיפות למפתחים
  • תשתית CI/CD המוכנה מראש למעבר עתידי לKubernetes

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

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

שלב שני: מעבר הדרגתי לשירותים מנוהלים ול-Kubernetes בלי לעצור את הלקוח

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

מעבר MongoDB לשירות מנוהל (MongoDB Atlas)

אחד השלבים הראשונים והמשמעותיים היה העברת מסד הנתונים MongoDB מתשתית מנוהלת עצמית לשירות MongoDB Atlas.

המהלך הזה:

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

עבור הלקוח זו הייתה קפיצת מדרגה משמעותית גם בביצועים וגם בעלויות.

העברת תהליכי בנייה והרצה ל-Kubernetes ללא שינוי קוד

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

ההישג: מודרניזציה מלאה Zero Downtime ו-Zero Code Change

אחד ההישגים הגדולים בפרויקט היה היכולת להחזיק תקופה ממושכת של דואליות תשתיתית:
המערכת עבדה בו זמנית גם בתשתית הישנה וגם ב-Kubernetes עם אותו קוד ואותם נתונים, מה שאיפשר:

  • בדיקות הדרגתיות ללא סיכון
  • מעבר מדוד בלי "שיפוץ גדול"
  • ניטור ובקרות הדוקות בכל שלב
  • אמינות תפעולית מלאה

במונחי DevOps מדובר בשילוב נדיר של:
Zero Downtime Migration + Zero Code Change
השילוב הזה העניק ללקוח ביטחון מלא וביצועים משופרים מבלי לשנות את חוויית המשתמש או להכביד על צוותי הפיתוח.
הלקוח התרשם מהתוצאה עד כדי כך, שכשהסתיים החוזה המקורי הוא בחר להמשיך איתנו גם מעבר לפרויקט המודרניזציה עצמו.
מאז, שיתוף הפעולה ממשיך כבר יותר מחמש שנים, כולל הרחבות נוספות באבטחה, סקלביליות ואופטימיזציית עלויות.

תובנות מרכזיות מהפרויקט

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

השורה התחתונה

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

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

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

מאמרים מקושרים

איך צוות האוטומציה של גליל סופטוור שומר על איכות ואמינות במוצרי תקשורת וסייבר במשך למעלה מעשור

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

כיצד הקמנו סביבת ענן מאובטחת ומבוססת AI עבור חברת SaaS גלובלית

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