معمارية التطبيقات والأنظمة

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

متى تحتاج إلى قرار معماري مدروس؟

1

مشروع كبير قبل بدء التطويروأكثر من فريق سيعمل عليه.

2

منصة ستخدم عدة شركات أو فروعوقرار عزل البيانات يحدد مستقبلها.

3

نظام قائم يتباطأ مع النمووكل ميزة جديدة تكسر شيئًا آخر.

4

متطلبات استضافة داخلية أو هجينةبسبب سياسات البيانات أو الجهة.

5

نية للانتقال إلى الخدمات المصغرةوتريد معرفة إن كان ذلك مبررًا فعلًا.

6

لجنة تقنية تطلب وثيقة معماريةضمن متطلبات منافسة أو مراجعة أمنية.

ما تتضمنه أعمال المعمارية

التقسيم

  • حدود الوحدات ومسؤولية كل منها
  • ما يُفصل وما يبقى معًا
  • طريقة تواصل الوحدات
  • المشترك بين الوحدات

البيانات

  • نموذج البيانات
  • قاعدة واحدة أم متعددة
  • العزل بين المستأجرين
  • النسخ والأرشفة

التكامل

  • نهج API-First
  • الأحداث والطوابير
  • الربط مع الأنظمة الخارجية
  • إصدارات الواجهات

الاستضافة

  • سحابة، أو داخلية، أو هجينة
  • البيئات
  • التوسع والتوافر
  • التعافي من الكوارث

الجوانب العابرة

  • الأمن والهوية
  • التسجيل والمراقبة
  • التخزين المؤقت
  • الإعدادات والأسرار

الحوكمة

  • سجل القرارات المعمارية
  • معايير الكود
  • مراجعة التغييرات الكبيرة
  • خارطة تطور المعمارية

أنماط المعمارية بلغة صاحب القرار

لا يوجد نمط أفضل مطلقًا. هذا متى يناسب كل نمط:

النمطما هومتى يناسبما ثمنه
معمارية موحدة Monolithتطبيق واحد يُنشر دفعة واحدةالمشاريع الصغيرة والنسخ الأولىيصعب تقسيمه لاحقًا إن لم يُنظم
موحدة مقسمة إلى وحداتتطبيق واحد بوحدات منفصلة داخليًا بحدود واضحةأغلب المشاريع، وهو اختيارنا الافتراضييحتاج إلى انضباط في احترام الحدود
خدمات مصغرة Microservicesخدمات مستقلة تُنشر كل منها وحدهافرق متعددة مستقلة، أو أجزاء بأحمال متباينة جدًاتشغيل ومراقبة أعقد، وتكلفة أعلى
Serverlessدوال تعمل عند الطلب دون خوادم دائمةمهام متقطعة أو أحمال غير منتظمةارتباط بمزود سحابي، وصعوبة الاختبار المحلي
معمارية الأحداثالأجزاء تتواصل بأحداث عبر طوابيرعمليات لا يجب أن تنتظر بعضها، وتكاملات كثيرةتتبع مسار العملية أصعب
متعددة المستأجريننظام واحد يخدم عدة منشآت ببيانات معزولةمنصات SaaSقرار العزل مبكر ومكلف تغييره

سحابة أم خوادمك؟تطبيقات متعددة الشركاتالبنية السحابية

ما تستلمه

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

ما يمكن ربطه بالخدمة

قرارات معمارية تتكرر

الحالةفريق يريد خدمات مصغرة لمشروع ناشئ
كيف نتعامل معها

نبدأ بمعمارية موحدة مقسمة إلى وحدات بحدود واضحة، فيسهل فصل أي وحدة لاحقًا حين يبرر الحجم ذلك.

الحالةتقرير ثقيل يبطئ المعاملات اليومية
كيف نتعامل معها

فصل القراءة التحليلية عن التشغيلية، بنسخة قراءة أو مخزن بيانات.

الحالةعملية طويلة تجعل المستخدم ينتظر
كيف نتعامل معها

نقلها إلى طابور ومعالجة في الخلفية، مع إشعار عند الانتهاء.

الحالةجهة تشترط الاستضافة داخليًا مع خدمات سحابية
كيف نتعامل معها

نموذج هجين يبقي البيانات الحساسة داخليًا ويستخدم السحابة لما يسمح به التصنيف.

الحالةنظام قديم يجب استبداله دون توقف
كيف نتعامل معها

نمط الاستبدال التدريجي: طبقة أمام النظام القديم تنقل الوظائف إلى الجديد واحدة تلو الأخرى.

مراحل التنفيذ

  1. فهم المتطلبات غير الوظيفية

    الحجم، والتوافر، والأمن، وموقع البيانات.

    قائمة المتطلبات
  2. الخيارات والمقارنة

    خياران أو ثلاثة بمزاياها ومخاطرها.

    مقارنة مكتوبة
  3. القرار

    مع أصحاب القرار والفريق التقني.

    قرار معتمد
  4. التصميم التفصيلي

    الوحدات والبيانات والتكاملات والاستضافة.

    وثيقة المعمارية
  5. إثبات المفهوم

    للأجزاء الأعلى مخاطرة قبل الالتزام.

    نتيجة الإثبات
  6. المتابعة

    مراجعة المعمارية مع تقدم التطوير.

    سجل القرارات

ما نحتاجه منك للبدء

لا يلزم أن يكون كل ذلك جاهزًا. ما ينقص نستكمله معك في جلسة التحليل.

  • وصف النظام وأطرافه: من يستخدمه وماذا يفعل.
  • الحجم المتوقع: المستخدمون والعمليات والبيانات اليوم وبعد سنتين.
  • متطلبات الاستضافة والأمن: وسياسات الجهة.
  • الفريق الذي سيشغّل النظام: وخبراته التقنية.

أسئلة تحسمها قبل التنفيذ

نساعدك على الإجابة عنها، لأن كل إجابة تغير النطاق والتكلفة.

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

مشكلات نمنعها من البداية

تعقيد لا يبرره الحجمأبسط معمارية تفي بالمتطلبات الحقيقية.
نظام لا يتوسعتصميم للحجم المتوقع مع مسار واضح للتوسع.
قرارات لا يعرف أحد أسبابهاسجل قرارات معمارية مكتوب.
وحدات متشابكةحدود واضحة وقواعد تمنع تجاوزها.
ارتباط كامل بمزود واحدفصل المنطق عن خدمات المزود حيث يستحق.
مفاجآت في التشغيلمراعاة المراقبة والتعافي منذ التصميم.

الجودة والأمن والتشغيل

الجودة

وثيقة معمارية تُراجع وتُعتمد قبل التطوير.

الأمن

الأمن جزء من التصميم: الهوية، والعزل، والتشفير، وتدفق البيانات.

قابلية التوسع

مسار توسع مخطط لكل جزء.

الاختبارات

إثبات مفهوم واختبار أحمال للأجزاء الحرجة.

التوثيق

المخططات، وسجل القرارات، وخارطة التطور.

الدعم

مراجعة معمارية دورية مع نمو النظام.

أسئلة شائعة

لا. هي مناسبة حين تتعدد الفرق المستقلة أو تتباين الأحمال بشدة. لأغلب المشاريع، المعمارية الموحدة المقسمة إلى وحدات أسرع وأرخص وأسهل تشغيلًا.

بعض القرارات يسهل تغييرها وبعضها مكلف، كعزل البيانات. لذلك نميز بينها في الوثيقة.

نعم، ونسلّم الوثيقة لفريقك أو لجهة التنفيذ التي تختارها.

نعم، أو بالإنجليزية، أو بالاثنتين، بحسب من سيقرؤها.

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

صف لنا النظام وحجمه المتوقع

ونقترح المعمارية المناسبة مع أسبابها وبدائلها.

اطلب عرض سعر