تجاوز إلى المحتوى الرئيسي

خدمة 5.6 · بنية تحتية

الأتمتة الإنتاجية، لا الـ prototype

معمارية صحيحة، طبقات رصد أخطاء، تتبّع حالات، تقارير تكلفة — منظومات تعمل 24/7 بلا مفاجآت.

TL;DR — نبني منظومات أتمتة إنتاجية بمعمارية Master + Sub، طبقات رصد أخطاء مستقلة، إعادة محاولة ذكية، تتبّع حالات في DB، وتقارير تكلفة per-run. عشرات المنظومات في الإنتاج عند عملاء فعليين.

ما الفرق بين منظومة «سريعة» وأخرى إنتاجية؟

جدول مقارنة بين منظومة سريعة وأخرى إنتاجية
الجانب Quick إنتاجي (نحن)
التعقيد منظومة واحدة تفعل كل شيء معمارية Master + Sub
Error handling try/catch في node طبقة رصد أخطاء مستقلة
Retries لا شيء Exponential backoff + dead letter queue
State في المنظومة نفسها State Machine في Postgres
Cost tracking غير معروف Per-run ledger + شهري
Testing «يعمل عندي» 3 سيناريوهات (سعيد/حافة/فشل)

ما الأنماط المعمارية الأساسية؟

  • معمارية Master + Sub

    معمارية
    فصل مسؤوليات

    طبقة Master للتنسيق، وطبقات Sub للمهام الذرية. تغيير Sub لا يُؤثّر على Master.

    النتيجة: تعديل بدون كسر.

  • Async Processing

    أداء
    run_id tracking

    عمليات طويلة لا تحجب — run_id للمراقبة، webhook للإخطار عند الانتهاء.

    النتيجة: لا timeouts.

  • Error Triggers

    موثوقية
    طبقة مستقلة

    كل فشل في أي عملية يُرسَل لطبقة الرصد المستقلة — تنبيه + سجل + استرداد.

    النتيجة: لا فشل صامت.

ما الممارسات الصارمة في كل منظومة؟

  • معمارية Master + Sub

    طبقة Master تنسّق، وطبقات Sub تُنفّذ. تغيير مهمّة ذرّية لا يكسر الباقي. اختبار مستقل لكل قطعة.

  • Async مع run_id

    العمليات الطويلة (مثل تصدير تقرير كبير) لا تحجب. run_id يُتتبَّع، webhook عند الانتهاء.

  • Error Triggers مستقلة

    طبقة خاصة تستقبل كل الأخطاء. يُصنّف (critical/warning/info)، يُرسِل تنبيه، ويُسجّل.

  • Retry Exponential Backoff

    خطأ مؤقّت (rate limit، timeout)؟ إعادة بـ 1s → 2s → 4s → 8s... حتى 5 محاولات قبل الدخول للـ DLQ.

  • State Machine في DB

    كل run له state في Postgres: pending/running/succeeded/failed. قابل للاستعلام، للإعادة، للتحليل.

  • Cost per Run Tracking

    كل خطوة تُسجّل تكلفتها (API calls، tokens، compute). تقرير شهري: أي عملية الأغلى؟ أي خطوة تحتاج تحسين؟

كيف نبني تنسيق المنظومة من الصفر؟

  1. Architecture Design

    خريطة عالية: ما الـ Master؟ ما الـ Subs؟ أي الاتصالات بينها؟ على ورق قبل أي بناء.

  2. Contract Definition

    JSON Schema بين كل Master و Sub. تغييرات مستقبلية لا تكسر التكامل.

  3. Build Sub-Layers

    بناء كل طبقة Sub مستقلاً مع اختبارات. Happy + Edge + Failure scenarios.

  4. Build Master

    Master يستدعي Subs بالترتيب. منطق الـ decision + error handling.

  5. Error Trigger Setup

    طبقة منفصلة تستقبل أخطاء كل العمليات. تُصنّف ويوجّه التنبيه.

  6. State Tracking

    جدول runs في Postgres. كل استدعاء Master يُنشئ run_id ويُحدّث الحالة.

  7. Cost Instrumentation

    كل node يُسجّل تكلفته في جدول cost_ledger. لوحة شهرية مُحضَّرة.

  8. Documentation

    notes في كل خطوة تشرح «لماذا». README للـ architecture. مهندس جديد يفهم بلا اجتماع.

الأثر — على عمليات الصيانة والأداء

جدول الأثر — المقاييس قبل وبعد تنسيق المنظومات الإنتاجية
المقياس قبل بعد
Debug time عند الفشل ساعات بحث دقائق عبر Error logs
Cost visibility مجهولة per-run breakdown
Onboarding مهندس جديد أيام + اجتماعات يقرأ notes ويفهم
Re-run عند الفشل يدوي + مخاطر تكرار Idempotent + automated

أسئلة شائعة عن تنسيق المنظومات في الإنتاج

لماذا منصّة الأتمتة المعتمدة عندنا بدلاً من Make، Zapier، أو Airflow؟

منصّة self-hosted = تحكّم كامل، بلا vendor lock-in، تكلفة منخفضة لحجم كبير. Make/Zapier رائعان لـ prototypes لكنهما يصبحان باهظين مع النموّ. Airflow ممتاز للـ data pipelines لكنه مُعقّد لـ business automation. الذي نعتمده = التوازن الأمثل.

هل تستضيفون منصّة الأتمتة لنا أم نستضيفها؟

كلا الخيارين. Self-hosted عندكم (Docker أو Kubernetes) لأقصى خصوصية. أو نستضيفه على بنية تحتية مخصّصة لكم. نُوصي بـ Self-hosted للأعمال الحسّاسة.

ما الحد الأقصى من المنظومات التي تتعاملون معها؟

منظومات في الإنتاج حالياً. المعمارية تدعم المئات. المنصّة نفسها تدعم الآلاف مع scaling أفقي. لم نصطدم بحد تقني بعد.

هل المنظومات قابلة للنقل إلى أنظمة أخرى إن احتجنا؟

كل المنظومات = JSON files. قابلة للتصدير والنسخ الاحتياطي كاملاً. الانتقال لمنصّة أخرى يتطلب إعادة بناء لكن المنطق موثّق. نحافظ على architecture documentation قابلة للنقل.

كم التكلفة الشهرية النمطية؟

Self-hosted: $50-$200 VPS. API costs (Claude/OpenAI): تختلف حسب الحجم ($50-$1000 شهرياً). تكلفتنا كدعم مستمر: منفصلة عن infra. الأغلب: $300-$1500 شهرياً total.

ماذا لو منصّة الأتمتة رفعت إصداراً جديداً؟

Staging أولاً. اختبار كل منظومة. production update بعد أسبوع من staging stability. نُشرف على upgrades كخدمة مستمرة.

لديك مهام متكرّرة أو تأخذ وقتاً طويلاً؟

احجز جلسة مجانية (45 دقيقة). نخرج منها بتقدير واضح: هل الأتمتة تستحق الاستثمار، وكم ستوفر، وفي كم أسبوع.