מערכת שעובדת על זמן שאול

מודרניזציה של מערכות ישנות

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

מה נכנס לפרויקט

  • סקירת מערכת קיימת
  • השתלטות ותיעוד
  • ריפקטורינג ושדרוג תשתית
  • החלפה הדרגתית (strangler fig)

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

מה זה כולל

מה נכנס לפרויקט מודרניזציה של מערכות

סקירת מערכת קיימת

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

השתלטות ותיעוד

מקימים סביבת פיתוח שמשקפת את השרת האמיתי, מכניסים את הקוד לניהול גרסאות (Git) ומתעדים את מה שאף אחד לא כתב - כדי שהעסק לא יהיה תלוי באדם אחד.

ריפקטורינג ושדרוג תשתית

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

החלפה הדרגתית (strangler fig)

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

שכתוב מלא, כשזה מוצדק

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

העברת נתונים (Data migration)

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

למי זה מתאים

מתי כדאי לפנות אלינו

  • עסקים שהמערכת שלהם נבנתה לפני עשור ומי שכתב אותה כבר לא עונה לטלפון
  • חברות שמנהלות תהליך ליבה בגיליון אקסל עם מאקרו או בבסיס נתונים Access שרק אדם אחד מבין
  • עסקים שספק האחסון הודיע להם שגרסת השרת או ה-PHP שלהם מגיעה לסוף חייה
  • ארגונים שכל שינוי קטן במערכת לוקח שבועות, שובר משהו אחר, ואף אחד לא יודע להסביר למה

טכנולוגיות

מה שאנחנו עובדים איתו

  • PHP 5 עד PHP 8
  • Laravel
  • MySQL / PostgreSQL
  • Microsoft Access
  • Excel VBA
  • Classic ASP
  • Git
  • Docker

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

תהליך העבודה

איך זה עובד בפועל

01

שיחת היכרות

שיחה קצרה שבה אנחנו מבינים מה העסק עושה, מה הבעיה ומה נחשב הצלחה. בלי עלות ובלי התחייבות.

02

אפיון והצעה

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

03

עיצוב ואישור

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

04

פיתוח ובדיקות

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

05

עלייה לאוויר וליווי

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

שאלות נפוצות

שאלות שחוזרות על מודרניזציה של מערכות

איך מחליטים בין שדרוג, שכתוב או החלפה?

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

אתם מוכנים לעבוד על קוד שמישהו אחר כתב?

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

העסק יצטרך להפסיק לעבוד בזמן השדרוג?

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

ומה אם עדיף בכלל לא לגעת במערכת?

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

הנתונים ההיסטוריים שלנו יישמרו?

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

כמה זמן זה לוקח וכמה זה עולה?

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

דברו איתנו

נדבר על הפרויקט שלכם

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

נא להזין שם מלא

נא להזין מספר טלפון ישראלי תקין

נא לכתוב כמה מילים על הפרויקט

הפרטים נשלחים כהודעת וואטספ ל־050-701-0358. ההודעה תיפתח מוכנה - רק ללחוץ שליחה.

שירותים קשורים

מה עוד קשור לזה

פיתוח מוצרי SaaS

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

להעמקה

מאמרים בנושא