مدت زمان تقریبی مطالعه: ۱۰ دقیقه

راهنمای مهاجرت از سیستم‌های قدیمی (Legacy Migration) به سامانه‌های مدرن بدون توقف عملیات

مهاجرت از سیستم‌های قدیمی (Legacy Systems) به معماری‌های مدرن و مقیاس‌پذیر، بزرگ‌ترین چالش فنی پیش روی مدیران ارشد فناوری سازمان‌ها است. در قلب بسیاری از سازمان‌های دولتی، کارخانجات بزرگ، بانک‌ها و نهادهای خدماتی کشور، سامانه‌های نرم‌افزاری حضور دارند که بیست یا بیست و پنج سال پیش توسعه داده شده‌اند: برنامه‌های تحت داس یا ویندوز مبتنی بر فاکس‌پرو (FoxPro)، فرم‌های قدیمی اوراکل (Oracle Forms 6i)، سیستم‌های دلفی یا پایگاه‌های داده‌ای قدیمی که هیچ مستندات فنی مدونی از آن‌ها باقی نمانده است. برنامه‌نویسان اصلی سال‌هاست سازمان را ترک کرده‌اند و مدیران فناوری اطلاعات همواره در هراس‌اند که با خاموش شدن این سیستم‌ها، نبض عملیاتی سازمان متوقف شود.

این سامانه‌ها اصطلاحاً «سیستم‌های موروثی یا لگاسی» (Legacy Systems) نامیده می‌شوند. نگهداری آن‌ها سالانه صدها میلیون تومان هزینه بیهوده دارد، ارتقای امنیتی آن‌ها ناممکن است، و ممیزی‌های امنیتی مرکز افتا آن‌ها را به دلیل آسیب‌پذیری‌های حاد رد صلاحیت می‌کنند. با این حال، پرسش کلیدی این است: چگونه می‌توان بدون توقف عملیات روزمره پرسنل و بدون از دست رفتن حتی یک رکورد از داده‌های تاریخی، این سیستم‌های فرسوده را با سامانه‌های مدرن تحت وب و ابری جایگزین کرد؟

چرا استراتژی «بازنویسی همه‌چیز از صفر» (Big Bang) به شکستی فاجعه‌بار می‌انجامد؟

نخستین واکنشی که معمولاً مدیران و مهندسان جوان به یک سیستم قدیمی نشان می‌دهند این است: «این کدها غیرقابل استفاده است؛ بیایید قرارداد ببندیم و همه‌چیز را از صفر بازنویسی کنیم و در یک روز سیستم قدیمی را خاموش و سیستم جدید را روشن نماییم!» تجربه چند دهه گذشته در صنعت نرم‌افزار نشان داده است که بیش از ۸۰ درصد پروژه‌هایی که با این رویکرد (موسوم به انفجار بزرگ یا Big Bang Rewrite) آغاز می‌شوند، با شکست مطلق، اتمام بودجه و بازگشت به همان سیستم فرسوده قبلی خاتمه می‌یابند. دلایل این شکست چیست؟

  • دانش نانوشته فرآیندی (Implicit Business Logic): در طول ۲۰ سال، صدها باگ و استثنای کاری در دل کدهای سیستم قدیمی گنجانده شده که در هیچ سند تحلیلی نوشته نشده است. بازنویسی از صفر بخش عمده‌ای از این ظرافت‌ها را نادیده گرفته و پس از استقرار، باعث هرج‌ومرج عملیاتی می‌شود.
  • ریسک خطای فاجعه‌بار در مهاجرت یکباره داده‌ها: تبدیل همزمان میلیون‌ها رکورد داده قدیمی دارای ساختار نامتعارف به ساختار مدرن، مغایرت‌های مالی و اداری سنگینی پدید می‌آورد که رفع آن‌ها غیرممکن خواهد بود.
  • مقاومت روانی پرسنل در برابر تغییرات دفعی: کاربرانی که ۲۰ سال با کلیدهای میانبر کیبورد در سیستم‌های قدیمی کار کرده‌اند، در مواجهه ناگهانی با یک سامانه کاملاً دگرگون‌شده دچار افت شدید کارایی و اعتراض می‌شوند.

الگوی مهندسی تاک خفه‌کننده (Strangler Fig Pattern) مارتین فاولر؛ مسیر امن در مهاجرت از سیستم‌های قدیمی

مارتین فاولر، از صاحب‌نظران برجسته معماری نرم‌افزار، الگویی به نام «تاک خفه‌کننده» را معرفی کرد که از طبیعت الهام گرفته است: درختی که تاکی به دور تنه آن پیچیده و به تدریج با رشد خود، جایگزین تنه فرسوده قدیمی می‌شود بدون آنکه درخت واژگون گردد. در مهندسی نرم‌افزار، این فرآیند در چهار گام عملیاتی اجرا می‌شود:

گام اول: استقرار لایه گیت‌وی و نما (Facade / API Gateway)

پیش از هر تغییری در کدهای قدیمی، یک لایه واسط نرم‌افزاری (Reverse Proxy / API Gateway) در ورودی سیستم مستقر می‌شود. کلیه درخواست‌های کاربران از این به بعد از طریق این درگاه هدایت می‌شوند. کاربران همچنان همان خروجی گذشته را دریافت می‌کنند، اما معماران اکنون می‌توانند مسیر ترافیک را کنترل کنند.

گام دوم: شناسایی و توسعه اولین ماژول حاشیه‌ای مستقل

مهاجرت با قلب تپنده و خطرناک سیستم (نظیر موتور ثبت اسناد حسابداری) آغاز نمی‌شود؛ بلکه یک بخش با ریسک پایین و ارزش ملموس (مانند پرتال درخواست مرخصی، ماژول گزارش‌گیری مدیریتی یا سامانه ثبت ارباب‌رجوع) انتخاب شده و با معماری مدرن تحت وب توسعه داده می‌شود.

گام سوم: همگام‌سازی لحظه‌ای داده‌ها (Dual-Write / CDC Pipeline)

در دوران گذار، برای ماه‌ها هر دو سیستم باید همزمان فعال باشند. برای جلوگیری از تناقض، یک خط لوله داده مبتنی بر تغییرات (Change Data Capture – CDC) طراحی می‌شود. هر داده‌ای که در سیستم قدیمی ثبت گردد، به صورت آنی به پایگاه داده سامانه جدید منتقل شده و بالعکس. کاربران قدیمی با سیستم خود کار می‌کنند و کاربران نوپا از سامانه جدید بهره می‌برند بدون آنکه دیتابیس دچار مغایرت شود.

گام چهارم: خاموش کردن تدریجی و خداحافظی با ماژول‌های قدیمی

با پیاده‌سازی و مهاجرت گام‌به‌گام دامنه‌های کاری، ترافیک درخواست‌ها یکی پس از دیگری به سیستم جدید سوئیچ می‌شود. سرانجام زمانی فرا می‌رسد که هیچ درخواستی به سیستم قدیمی نمی‌رسد و سرور لگاسی در کمال آرامش و بدون کوچک‌ترین اختلال در کار سازمان، بازنشسته می‌گردد.

پالایش و پاکسازی داده‌های مخدوش ۲۰ ساله (Data Cleansing)

یکی از بزرگ‌ترین موانع در مهاجرت سیستم‌های قدیمی، وضعیت فاجعه‌بار داده‌ها است: کدهای ملی ۱۰ رقمی با فرمت نامعتبر، فیلدهای آدرس نامنظم، کدهای پیگیری تکراری، و استفاده از نویسه‌های عربی به جای فارسی (ی و ک). پیش از انتقال به پایگاه داده مدرن، پایپ‌لاین‌های ETL اختصاصی باید داده‌ها را طبق استانداردهای نوین اعتبارسنجی و نرمال‌سازی کنند.

جدول روش‌های مختلف نوسازی سیستم‌های لگاسی بر اساس ماتریس ریسک و بازده

استراتژی مهاجرتنحوه اجرا و تغییراتسطح ریسک عملیاتینرخ موفقیت در ایران
بازنویسی انفجاری (Big Bang)توقف سیستم قدیمی و راه‌اندازی یکباره سیستم جدیدبسیار شدید (احتمال بالای توقف سازمان)کمتر از ۲۰٪ پروژه‌ها موفق می‌شوند
تاک خفه‌کننده (Strangler Fig)جایگزینی ماژول به ماژول با حفظ کارکرد سیستم فعلیبسیار پایین و کنترل‌شدهبیش از ۹۰٪ پروژه‌ها با موفقیت خاتمه می‌یابند
انتقال زیرساخت (Lift & Shift)انتقال همان کدهای قدیمی به محیط کانتینر یا ماشین ابریپایین، اما بدهی فنی و مشکلات سیستم پابرجا می‌ماندفقط مشکل سخت‌افزار را موقتاً حل می‌کند
بسته‌بندی رابط کاربری (Encapsulation)ایجاد وب‌سرویس REST روی سیستم قدیمی بدون دستکاری منطقمتوسط؛ گامی عالی برای آغاز فرآیند نوسازی مرحله‌ایبسیار کاربردی در مراحل نخست پروژه‌ها

پرسش‌های متداول در مهاجرت از سامانه‌های موروثی

اگر سورس‌کد سیستم قدیمی گم شده باشد، آیا امکان مهاجرت وجود دارد؟

بله. در متدولوژی مهندسی معکوس نادین‌سافت، با تحلیل ساختار جداول پایگاه داده و مهندسی داده‌های ورودی و خروجی (Black-box reverse engineering)، منطق سامانه استخراج شده و بدون نیاز به کدهای قبلی، بازمهندسی انجام می‌گیرد.

تکلیف داده‌های تاریخی و گزارش‌های مالی ۲۰ سال گذشته چه می‌شود؟

کلیه داده‌های تاریخی پس از پاکسازی و نرمال‌سازی، به یک انبار داده سازمانی (Data Warehouse) منتقل می‌شوند تا تمام گزارش‌های گذشته در کنار داده‌های نوین در دسترس مدیران باشد.

نقش نادین‌سافت در پروژه‌های نوسازی ملی چیست؟

نادین‌سافت با بهره‌مندی از گواهینامه معتبر افتا و تیمی از متخصصان معماری نرم‌افزار، پروژه‌های متعدد نوسازی سیستم‌های قدیمی در صنایع انرژی و خدمات اداری را با تضمین عدم توقف کسب‌وکار به سرانجام رسانده است.


طراحی نقشه راه مهاجرت سیستم‌های قدیمی به وب مدرن

آیا سیستم‌های قدیمی سازمان شما به پاشنه آشیل امنیت و چابکی تبدیل شده‌اند و نگران توقف خدمات در حین تعویض آن‌ها هستید؟ معماران نادین‌سافت با ممیزی سیستم‌های موروثی شما، سناریوی مهاجرت بدون توقف (Zero-downtime) را تدوین می‌کنند.

درخواست ارزیابی فنی و مشاوره نوسازی سامانه

مقالات پیشنهادی