تخطّي إلى المحتوى
ENابدأ مشروعك

إعادة بناء منصة قديمة دون كسر ما تحتها

تفشل معظم عمليات إعادة بناء الأنظمة القديمة بإحدى طريقتين.

إمّا أن تواصل ترقيع نظام يتآكل بصمت — إضافة أخرى، وإصلاح عاجل آخر، وليلة طويلة أخرى — حتى ينهار أخيرًا تحت ثقله. وإمّا أن تحرق كل شيء وتبدأ من الصفر، فتكتشف يوم الإطلاق أنك تخلّصت من الأشياء التي كانت تمسك العمل بهدوء: حسابات العملاء، وترتيب الموقع في نتائج البحث، والمحتوى الذي لم يوثّقه أحد.

العمل الحقيقي يقع بين هذين الخطأين. وسأشرح طريقتي فيه من خلال مشروع إعادة بناء قريب.

كان العميل بيت تعليق صوتي عربي متميّز يعمل على أربعة مواقع WordPress منفصلة — أربع قواعد شيفرة، ثلاث منها قديمة، وواحدة مخترقة فعليًا. كان باب خلفي مخفيّ يغذّي محركات البحث بالسبام، وقد حقن نحو 48,650 رابطًا مزعجًا؛ غير مرئية للزوار، ومرئية تمامًا لـ Google. وكان الحجز يجري عبر تبادل رسائل بريد يدويًا. وكان السوق الإلكتروني يسند نفسه بـ 11,415 مراجعة خمس نجوم مُفتعلة. وكان نموذج الطلب في أحد المواقع يرسل بياناته إلى خادم شخص غريب، خارج سيطرة العميل. كان النظام، بكل معنى الكلمة، ممسوكًا بشريط لاصق.

وهكذا تعيد بناء شيء كهذا دون كسر ما تحته.

احتوِ الخطر قبل أن تبني

الغريزة الأولى أن تفتح أداة التصميم. قاوِمها.

حين يكون النظام يفقد الثقة فعليًا — باب خلفي حيّ، وسبام محقون، ودورة اختراق متكررة — فأول عمل ليس التصميم، بل إيقاف النزيف. لا يمكنك البناء على أساس مشتعل. قبل إعادة رسم شاشة واحدة، كانت الأولوية قطع الاختراق وفهم ما كان يفعله النظام القديم بالضبط، بما في ذلك الأجزاء التي لم يقصد أحد بناءها.

الاحتواء يشتري لك شيئًا ثمينًا: حرية إعادة البناء بتأنٍّ بدل الارتجال تحت الضغط.

افصل ما يستحق البقاء عمّا يجب أن يذهب

كل منظومة قديمة خليط من أصول وأعباء، والعمل كله هو فصل أحدهما عن الآخر.

في جانب الأصول هنا: 263 صوتًا حقيقيًا وبيانات دخولهم القائمة، والملفات الصوتية الأصلية، وموقعان شقيقان ما زال تصميمهما يؤدي عمله، ونطاقات راسخة تحمل سنوات من سجل البحث. وفي جانب الأعباء: الباب الخلفي، وشبكة السبام، و11,415 مراجعة مزيفة، وأربع قواعد شيفرة منفصلة لا أحد يريد صيانتها.

الخطأ أن تعامل النظام كله بوصفه مقدّسًا أو قابلًا للرمي. وهو ليس هذا ولا ذاك. تنقل القيمة معك وتترك المخاطرة خلفك — والصدق في تمييز أيّهما أيّ هو معظم العمل.

رحّل البيانات كأنها لا تُعوَّض، لأنها كذلك

هنا تنحرف عمليات إعادة البناء بصمت، بعد أن يكون التصميم الظاهر قد اكتمل بوقت طويل.

نُقل 263 صوتًا مع بقاء كلمات مرورهم تعمل كما هي — لأن مطالبة كل مستخدم بإعادة تعيين بياناته هي الطريقة التي تخسر بها نصفهم في أسبوع. وانتقلت الملفات الصوتية إلى تخزين دائم كي تتوقف روابط العيّنات عن التعطّل كما يحدث دائمًا للملفات المتناثرة. وحُفظت قائمة الاعتماد كما هي. أما الـ48,650 رابط سبام فقد أُوقفت بالطريقة الصحيحة — أُعيدت برمز 410 نظيف، مع تحويلات حقيقية للصفحات التي كانت تهمّ فعلًا — فاختفى الركام دون أن يأخذ معه سجل الموقع في البحث.

لا شيء من ذلك برّاق. وكل ذلك هو الفارق بين ترحيل لا يلاحظه المستخدمون أبدًا، وترحيل لا يسامحون عليه أبدًا.

صحّح الأخطاء من الحافة إلى الأصل، لا داخل التطبيق وحده

تفصيلة إطلاق تستحق الذكر: في مرحلة ما كان جدار الحماية يعيد بصمت رمز 403 لأي رابط يحتوي كلمة «booking». وكانت شيفرة التطبيق سليمة تمامًا. المشكلة كانت في الطبقة التي فوقه.

الأنظمة القديمة تفشل عند الحدود بين طبقاتها — DNS، وشبكة التوصيل، وجدار الحماية، والخادم الأصلي، والتطبيق — وإن نظرت داخل التطبيق وحده فستقضي أيامًا تطارد أشباحًا. افترض أن المشكلة قد تكون في أي موضع من البنية، وصحّح من الحافة إلى الداخل.

أطلِق على مسار محكم، واحجز الأجزاء الخطرة خلف بوابات

لست مضطرًا لإطلاق كل شيء دفعة واحدة كي تطلق بأمان.

انطلقت النواة المؤمَّنة أولًا. أما الحسابات وتسجيل الدخول عبر Google والمدفوعات فقد بُنيت واختُبرت، ثم حُجزت خلف بوابات مزايا — جاهزة وتعمل ومطفأة حتى اللحظة التي تُطلب فيها. الإطلاق على مراحل، حيث يُشغَّل كل جزء خطر عن قصد، يتفوّق دائمًا على إطلاق بطولي دفعة واحدة. كما يعني أن يوم الإطلاق يمرّ بلا إثارة، وهو بالضبط ما تريده.

ما الذي يتغيّر فعلًا بالنسبة إلى العمل

إعادة التصميم تغيّر شكل النظام. إعادة البناء تغيّر ما يجب أن يقلق العمل بشأنه.

لم يكن الهدف من هذا كله «موقعًا أجمل».

بل كان هذا: اختفى السبام واختفى الباب الخلفي. ونشر صوت جديد صار يستغرق دقائق بدل طلب يُرسل إلى مطوّر. وصارت أربع قواعد شيفرة واحدة. وعاد نموذج الطلب إلى سيطرة العميل. وانخفض عبء الصيانة، وانخفض معه التعرّض الأمني. وتوقف العمل عن إنفاق انتباهه على إبقاء النظام القديم حيًّا، وبدأ ينفقه على ما يدرّ المال فعلًا.

هذا هو الخط الفاصل بين إعادة التصميم وإعادة البناء. إعادة التصميم تغيّر شكل النظام. إعادة البناء تغيّر ما يجب أن يقلق العمل بشأنه.

الهدف الحقيقي

إعادة البناء ليست مشروع تصميم ولا مشروع هندسة. إنها مشروع ثقة.

مقياس النجاح ليس كيف يبدو الشيء الجديد يوم الإطلاق — بل ألّا يختفي بهدوء أيّ شيء اعتمد عليه أحد أثناء الانتقال. احتوِ المخاطرة، وانقل القيمة معك، وأنزل التغيير على مسار محكم. افعل هذه الثلاثة، فتبدو إعادة البناء من الخارج شبه خالية من الأحداث. وهذا هو المقصود بالضبط.

إن كنت تنظر إلى منصة صارت عبئًا أكثر منها أصلًا، فهذا نوع العمل الذي أقوم به — مسؤول واحد، من أول تدقيق إلى إطلاق يصمد.

الخطوة التالية

هل لديك فكرة منتج تستحق البناء؟

أخبرني بما تريد بناءه — وسأساعدك على تحديد النسخة الأولى وأسرع مسار إلى الإطلاق.