forumفتح موضوع جديد
فتح موضوع جديد

نجدد نظامنا القديم بعد 10 سنوات والمطور يقترح "مايكروسيرفس" — هل هذا خيار مناسب لمنتج صغير؟

SSerkan Ç***محارب قديمعضو المجتمع
تاريخ الانضمام
مايو 2023
رسالة
294
#1

نقدم خدمات برمجية B2B لوكالات الخدمات اللوجستية في الولايات المتحدة. لدينا تطبيق أساسي موحد (Monolith) تم تطويره عام 2014 وكبر بمرور الوقت عبر إضافات متتالية. يدخل النظام يومياً حوالي 1,200 مستخدم نشط من الشركات لإدخال البيانات. صيانة النظام أصبحت صعبة جداً لدرجة أن مجرد تعديل بسيط على الفواتير قد يُعطل أجزاء غير متوقعة. لذلك خصصنا ميزانية قدرها 70,000 دولار لتجديد النظام من الصفر ببنية تحتية حديثة.

المبرمج الخبير (Senior) الذي انضم إلينا مؤخراً يصر على ضرورة تقسيم النظام إلى معمارية الخدمات المصغرة (مايكروسيرفس)، وإنشاء خدمات منفصلة للمصادقة والفواتير والعمليات والتقارير. لكن فريقنا يتكون من 3 مطورين فقط ولا يوجد لدينا متخصص مستقل في البنية التحتية السحابية.

لنظام بهذا الحجم وفريق من 3 أشخاص، هل التوجه نحو المايكروسيرفس خطوة صحيحة أم سنحمّل أنفسنا عبئاً تشغيلياً يفوق طاقتنا؟ في عملية تجديد البرمجيات القديمة، كيف ينبغي أن نوازن بين المايكروسيرفس والبنية الأحادية (Monolith) النظيفة؟

NNuri G***مشاركعضو المجتمع
تاريخ الانضمام
يونيو 2025
رسالة
158
الأكثر إفادة#2

باختصار: اختيار معمارية المايكروسيرفس لفريق تطوير من ثلاثة أشخاص وقاعدة مستخدمين تضم 1,200 مستخدم نشط هو خطأ تشغيلي فادح. ما تحتاجونه بهذا الحجم ليس نظاماً موزعاً؛ بل تطبيق أحادي (Monolith) حديث، منظم بشكل جيد، ومبني بوحدات نمطية مع كتابة اختبارات مؤتمتة.

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

خارطة الطريق الصحيحة لحالتكم يجب أن تكون كالآتي: 1) تنظيف البنية الأحادية عن طريق تحديد حدود العمل بدقة وتقسيم قاعدة الأكواد إلى وحدات نمطية مستقلة (Modular Monolith)، 2) إعادة تنظيم قاعدة البيانات (Normalization) ورفع تغطية الاختبارات الآلية، 3) إذا وُجدت عمليات تحتاج بالفعل لتوسع مستقل أو تستهلك موارد كبيرة في الخلفية (مثل استخراج فواتير PDF مجمعة أو التقارير الثقيلة)، افصلوها كخدمة قائمة انتظار خلفية (Background Queue Service) منفصلة فقط. لا تهدروا ميزانية 70,000 دولار على تعقيدات البنية التحتية وإدارتها، بل استثمروها في الجودة الوظيفية للمنتج.

KKoray C***مشاركعضو المجتمع
تاريخ الانضمام
أكتوبر 2022
رسالة
180
#3

على الأرجح أن مبرمجكم يريد فقط إضافة مصطلحات ومعماريات شائعة لسيرته الذاتية. 1,200 مستخدم يمكنهم العمل بكل راحة على سيرفر واحد مهيأ جيداً مع قاعدة بيانات علائقية قياسية. محاولة 3 أشخاص إدارة مايكروسيرفس ستضاعف مدة التسليم لديكم مرتين على الأقل.

TTülay A***مشارك
المسمى الوظيفي
موظف متجر
قطاع
تغليف
نوع المنظمة
فريق من 8 أشخاص
تاريخ الانضمام
ديسمبر 2023
رسالة
64
#4

وقعنا في نفس الخطأ العام الماضي بفريق مكون من 4 أشخاص. قسمنا النظام إلى خمس خدمات مصغرة، وقضينا أول 6 أشهر في حل مشاكل التواصل بين الخدمات. وقفزت فواتير البنية السحابية لدينا من 400 دولار شهرياً إلى 2,300 دولار. في النهاية أعدنا النظام لبنية أحادية نمطية وتضاعفت سرعة التطوير لدينا ثلاث مرات.

SSelinمشارك
المسمى الوظيفي
مطور واجهات أمامية
نوع المنظمة
شركة من 20 شخصاً
تاريخ الانضمام
فبراير 2024
رسالة
164
#5

عند الانتقال للمايكروسيرفس لا تكتفون بكتابة الكود البرمجي فقط؛ بل يتعين عليكم بناء أنظمة لاكتشاف الخدمات (Service Discovery)، وطوابير الرسائل، وتسجيل السجلات الموزع (Distributed Logging)، وإدارة العمليات الموزعة. ولأنكم ستقسمون قواعد البيانات أيضاً، حتى استعلام SQL البسيط سيتحول لنداءات API معقدة بين الخدمات. إذا لم يكن لديكم خبير بنية تحتية مخصص، فالنظام لن يصبح أسرع، بل سيتباطأ.

FFerhat K***مشارك
المسمى الوظيفي
قائد فريق البرمجيات
قطاع
تصنيع الآلات
نوع المنظمة
شركة ضمن مجموعة استثمارية
تاريخ الانضمام
يناير 2023
رسالة
377
#6

عند التجديد اتبعوا هذه الخطوات الثلاث: 1) نظفوا مخطط قاعدة البيانات الحالي واربطوه مباشرة بمنطق العمل، 2) رتبوا مجلدات الأكواد بنظام المايكروسيرفس مع إبقائها ضمن مشروع واحد (Modular Monolith)، 3) اكتبوا اختبارات شاملة للوحدات والتكامل (Unit & Integration Tests) لتقليل مخاطر الإطلاق الفعلي إلى الصفر.

UUfuk S***محارب قديم
المسمى الوظيفي
مدير الشبكة
قطاع
تصنيع الأثاث
نوع المنظمة
ورشة تصنيع
تاريخ الانضمام
أكتوبر 2024
رسالة
187
#7

احنا كمان دخلنا بنفس الحماس قبل سنتين.. وسقوط خدمة وحدة كان يجر الباقي وراها، وتتبع اللوجات صار عذاب حقيقي. المونوليث لفريق صغير نعمة، ما في داعي للمغامرة أبداً.

VVildan U***مشاركعضو المجتمع
تاريخ الانضمام
ديسمبر 2025
رسالة
32
#8

طيب إذا بنينا نظام أحادي (Monolith)، هل سنضطر لرميه بالكامل في المستقبل لو وصل عدد المستخدمين إلى 10 آلاف أو 50 ألفاً؟ ألا نكون بذلك قد سددنا طريق النمو؟

PPınar K***عضو جديدعضو المجتمع
تاريخ الانضمام
أغسطس 2026
رسالة
410
#9

حتى 50 ألف مستخدم يمكن أن يعملوا بكل سلاسة على سيرفر واحد تم تحسينه بشكل جيد. منصات SaaS عالمية ضخمة تنفذ ملايين العمليات لا تزال تعمل حتى اليوم بمعمارية Monolith نمطية. وفي المستقبل، إذا ظهر عنق زجاجة في وحدة معينة، يمكن تحويل تلك الوحدة وحدها لخدمة مستقلة، لا يوجد أي داعٍ لبناء نظام موزع من الآن.

ÖÖmer E***مشاركعضو المجتمع
تاريخ الانضمام
أغسطس 2023
رسالة
71
#10

بالنظر إلى ميزانيتكم الحالية ومواردكم البشرية، فإن الخيار الأكثر منطقية من حيث إدارة المخاطر هو معمارية المونوليث النمطي (Modular Monolith). التركيز على وظائف المنتج وميزاته بدلاً من تعقيدات البنية التحتية سيزيد عائد الاستثمار لديكم بشكل مباشر.

TTuğçe U***خبير
المسمى الوظيفي
تخطيط الإنتاج
قطاع
كهرباء وإلكترونيات
نوع المنظمة
شركة تصنيع بـ 40 موظفًا
تاريخ الانضمام
يناير 2023
رسالة
174
#11

دعني أوضح الجانب التقني قليلاً. القرار المتسرع يصبح قراراً يُصحح بعد ستة أشهر.

صححوا لي إن أخطأت.

SSelin S***مشارك
المسمى الوظيفي
صاحب الشركة
قطاع
المحاسبة والاستشارات
نوع المنظمة
تعاونية
تاريخ الانضمام
يوليو 2024
رسالة
212
#12

صحيح بشكل عام، لكن هناك جزء ناقص... طيب القرار المتسرع يصبح قراراً يُصحح بعد ستة أشهر.

AAslı B***خبير
المسمى الوظيفي
مسؤول المشتريات
قطاع
استشارات
نوع المنظمة
شركة عائلية
تاريخ الانضمام
ديسمبر 2022
رسالة
19

Doki · نقل البنية التحتية · 2023

#13

هذا العنوان مؤرشف.

OOsman D***خبير
المسمى الوظيفي
مدير سلسلة التوريد
قطاع
إنشاء
نوع المنظمة
شركة بـ 120 موظف
تاريخ الانضمام
مارس 2025
رسالة
43
#14

أخذت ملاحظة، شكرًا لك. فعل الجميع لشيء ما لا يعني أنه صحيح.

إذا كان هناك من يفعلها بطريقة أخرى، فأنا فضولي لمعرفة ذلك.

ZZeynep A***مشاركعضو المجتمع
تاريخ الانضمام
سبتمبر 2023
رسالة
1
#15

أخذت ملاحظة، شكرًا لك.

MMehmet G***مشارك
المسمى الوظيفي
موظف محاسبة
قطاع
تدريب
نوع المنظمة
وكالة بوتيك
تاريخ الانضمام
سبتمبر 2023
رسالة
78
#16

هناك جانب قياس لهذا الأمر أيضًا. تسير الأمور على ما يرام في الأشهر الثلاثة الأولى، وتظهر المشاكل في الشهر الرابع.

اكتبوا إذا كانت لديكم أسئلة، سأجيب قدر استطاعتي.

BBora A***مشارك
المسمى الوظيفي
تخطيط الإنتاج
قطاع
تجارة إلكترونية
نوع المنظمة
شركة ضمن مجموعة استثمارية
تاريخ الانضمام
أكتوبر 2024
رسالة
65
#17

لم أكن أعلم بهذا.

EErcan Ç***مشارك
المسمى الوظيفي
مصمم جرافيك
قطاع
تصنيع الأثاث
نوع المنظمة
نشاط فردي
تاريخ الانضمام
أغسطس 2023
رسالة
57
#18

عانيت من نفس الشيء.

FFatma Ç***مشارك
المسمى الوظيفي
مدير الإنتاج
قطاع
مطبعة
نوع المنظمة
تعاونية
تاريخ الانضمام
مايو 2023
رسالة
27
#19

سأتحدث من الطرف الآخر، فأنا من جانب الموردين. فعل الجميع لشيء ما لا يعني أنه صحيح.

تدوين الملاحظات لمدة أسبوعين يعطي نتائج أفضل من التخمين لمدة ستة أشهر. صححوا لي إن أخطأت.

RRabia Ç***مشارك
المسمى الوظيفي
مدير تقنية المعلومات
قطاع
طاقة
نوع المنظمة
شركة تصنيع بـ 40 موظفًا
تاريخ الانضمام
يونيو 2025
رسالة
354
#20

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

مثبت بالتجربة.

اكتب رداً