أين تستضيف Odoo؟ مقارنة Odoo Online وOdoo.sh وAWS وGoogle Cloud
القرار المباشر: اختر Odoo Online للتطبيقات القياسية بلا وحدات غير قياسية، وOdoo.sh للتطوير المخصص عبر Git على منصة Odoo مُدارة، وAWS أو Google Cloud ذاتية الإدارة فقط عندما يبرر التحكم أو التكامل امتلاك عمليات الإنتاج.
هذه المقالة لا تقدم مزوداً فائزاً لكل الحالات ولا رقماً سحرياً للسعة أو التكلفة. تقدم طريقة قابلة للمراجعة، ثم تطلب قياسها على عبء العمل الحقيقي. راجعت المصادر الرسمية في 2026-08-28، وأي مقارنة مع Google Cloud هنا مبنية على الوثائق وليست ادعاء خبرة تشغيل مباشرة.
القرار في دقيقة
- حدد Community أو Enterprise والإصدار المدعوم وخطة المستخدم والوحدات والتعريب والتكامل أولاً.
- يقلل Odoo Online عمل البنية لكنه لا يقبل التطبيقات غير القياسية.
- يضيف Odoo.sh الفروع والبناء وStaging والنسخ والسجلات وتشغيل المنصة، ويبقى الفريق مسؤولاً عن جودة الكود والتوافق مع الترقية.
- تتيح السحابة الذاتية التحكم بالشبكة والقاعدة والتخزين والمراقبة وجسر الأجهزة، وتحمّل الفريق الترقيع والنسخ والاستعادة والمناوبة.
- احسب الاشتراك والبنية مع عمل النشر والقاعدة وfilestore والمراقبة والترقية والأعطال.
إذا لم يستطع الفريق الإجابة عن هذه النقاط، فالمشكلة ليست نقص خدمة سحابية. المشكلة أن عقد التشغيل لم يكتمل بعد. اكتب الافتراضات، وافصل المعلومة المؤكدة عن الحساب التقريبي، وحدد ما سيقاس قبل الشراء أو النشر.
الأداة القابلة لإعادة الاستخدام
| البند | القرار | دليل القبول |
|---|---|---|
| تطبيقات قياسية فقط | Odoo Online | أقل ملكية للبنية |
| وحدات مخصصة ومنصة مُدارة | Odoo.sh | فروع وبناء وStaging ونسخ |
| تحكم كامل بالشبكة والتشغيل | AWS أو Google Cloud | الفريق يملك هندسة الإنتاج |
| جسر أجهزة أو POS | أي نموذج مناسب مع جسر مصمم | اختبار انقطاع وأمان وإعادة ودعم |
| الخروج | قاعدة وfilestore وكود وDNS وجرد أسرار | نفذ استعادة قبل التوقيع |
ضع هذه المصفوفة داخل قرار المعمارية أو تذكرة التنفيذ. كل صف بلا مالك أو دليل قبول هو خطر مؤجل.
كيف تستخدم الأداة فعلياً
1. تطبيقات قياسية فقط
القرار المقترح هنا هو: Odoo Online، أقل ملكية للبنية. لا تنسخ القيمة بلا سياق. اكتب مصدر المدخل والبيئة التي ينطبق عليها ومالكها وتاريخ مراجعتها. حوّلها إلى فحص يمكن تكراره قبل النشر وبعده، وسجل الحالة الخاطئة التي يجب أن يرفضها النظام. إذا تغيرت البيانات أو المنطقة أو نمط الحركة، افتح القرار من جديد بدلاً من افتراض أن الإعداد القديم ما زال مناسباً.
2. وحدات مخصصة ومنصة مُدارة
القرار المقترح هنا هو: Odoo.sh، فروع وبناء وStaging ونسخ. لا تنسخ القيمة بلا سياق. اكتب مصدر المدخل والبيئة التي ينطبق عليها ومالكها وتاريخ مراجعتها. حوّلها إلى فحص يمكن تكراره قبل النشر وبعده، وسجل الحالة الخاطئة التي يجب أن يرفضها النظام. إذا تغيرت البيانات أو المنطقة أو نمط الحركة، افتح القرار من جديد بدلاً من افتراض أن الإعداد القديم ما زال مناسباً.
3. تحكم كامل بالشبكة والتشغيل
القرار المقترح هنا هو: AWS أو Google Cloud، الفريق يملك هندسة الإنتاج. لا تنسخ القيمة بلا سياق. اكتب مصدر المدخل والبيئة التي ينطبق عليها ومالكها وتاريخ مراجعتها. حوّلها إلى فحص يمكن تكراره قبل النشر وبعده، وسجل الحالة الخاطئة التي يجب أن يرفضها النظام. إذا تغيرت البيانات أو المنطقة أو نمط الحركة، افتح القرار من جديد بدلاً من افتراض أن الإعداد القديم ما زال مناسباً.
4. جسر أجهزة أو POS
القرار المقترح هنا هو: أي نموذج مناسب مع جسر مصمم، اختبار انقطاع وأمان وإعادة ودعم. لا تنسخ القيمة بلا سياق. اكتب مصدر المدخل والبيئة التي ينطبق عليها ومالكها وتاريخ مراجعتها. حوّلها إلى فحص يمكن تكراره قبل النشر وبعده، وسجل الحالة الخاطئة التي يجب أن يرفضها النظام. إذا تغيرت البيانات أو المنطقة أو نمط الحركة، افتح القرار من جديد بدلاً من افتراض أن الإعداد القديم ما زال مناسباً.
5. الخروج
القرار المقترح هنا هو: قاعدة وfilestore وكود وDNS وجرد أسرار، نفذ استعادة قبل التوقيع. لا تنسخ القيمة بلا سياق. اكتب مصدر المدخل والبيئة التي ينطبق عليها ومالكها وتاريخ مراجعتها. حوّلها إلى فحص يمكن تكراره قبل النشر وبعده، وسجل الحالة الخاطئة التي يجب أن يرفضها النظام. إذا تغيرت البيانات أو المنطقة أو نمط الحركة، افتح القرار من جديد بدلاً من افتراض أن الإعداد القديم ما زال مناسباً.
تسلسل التنفيذ
- حدد Community أو Enterprise والإصدار المدعوم وخطة المستخدم والوحدات والتعريب والتكامل أولاً. ابدأ في بيئة غير إنتاجية، واجعل نتيجة الخطوة 1 ملفاً أو إعداداً أو مقياساً قابلاً للمراجعة.
- يقلل Odoo Online عمل البنية لكنه لا يقبل التطبيقات غير القياسية. ابدأ في بيئة غير إنتاجية، واجعل نتيجة الخطوة 2 ملفاً أو إعداداً أو مقياساً قابلاً للمراجعة.
- يضيف Odoo.sh الفروع والبناء وStaging والنسخ والسجلات وتشغيل المنصة، ويبقى الفريق مسؤولاً عن جودة الكود والتوافق مع الترقية. ابدأ في بيئة غير إنتاجية، واجعل نتيجة الخطوة 3 ملفاً أو إعداداً أو مقياساً قابلاً للمراجعة.
- تتيح السحابة الذاتية التحكم بالشبكة والقاعدة والتخزين والمراقبة وجسر الأجهزة، وتحمّل الفريق الترقيع والنسخ والاستعادة والمناوبة. ابدأ في بيئة غير إنتاجية، واجعل نتيجة الخطوة 4 ملفاً أو إعداداً أو مقياساً قابلاً للمراجعة.
- احسب الاشتراك والبنية مع عمل النشر والقاعدة وfilestore والمراقبة والترقية والأعطال. ابدأ في بيئة غير إنتاجية، واجعل نتيجة الخطوة 5 ملفاً أو إعداداً أو مقياساً قابلاً للمراجعة.
لا تنقل الإعداد يدوياً بين البيئات. ضع السياسة والبنية ومسار النشر تحت التحكم بالإصدار عندما تسمح الخدمة، وافصل سر الإنتاج عن Build. يجب أن يتمكن شخص آخر من إعادة الخطوات من المستودع وRunbook دون معرفة مخفية.
عقد التسليم بين DevOps والمطورين
يبدأ التسليم بطلب قابل للتنفيذ: ما Commit أو Digest المطلوب؟ ما المتغيرات غير السرية؟ ما أسماء الأسرار ومن يملكها دون نسخ قيمها في التذكرة؟ ما فحص الصحة؟ ما الترحيل؟ وما السلوك المقبول عند فشل الاعتماد الخارجي؟ يجب أن يرفق المطور طريقة تشغيل محلية أو في بيئة اختبار، وعينة إعداد آمنة، واختبارات المسارات الحرجة، وأثر التغيير على البيانات والتوافق للخلف.
يعيد مسؤول DevOps عنوان البيئة وحدود الصلاحية ومسار السجلات ولوحة القياس ومدة الاحتفاظ وخطة النشر والرجوع. قبل الموافقة يتفق الطرفان على مسؤول مراقبة الإصدار ومدة نافذة القرار وحد الإحصائي الذي يوقف Canary أو يعيد النسخة. بعد النشر لا تكفي رسالة «تم». أرفق Digest المنشور ووقت النشر ونتيجة Smoke والرابط الفعلي وحالة الترحيل وأي انحراف مقبول مع تذكرة متابعة. هذا العقد يمنع أن يصبح فشل الإعداد مشكلة مجهولة بين فريقين.
أنماط الفشل التي يجب تصميم الاختبار حولها
اختيار Odoo Online قبل اكتشاف وحدة مخصصة إلزامية.
لا يعتمد هذا القرار قبل تحديد المالك والبيئة وحد النجاح. سجّل الإعداد الفعلي أو Digest أو استعلام السجل الذي يثبته، ثم أضف اختبار فشل متعمداً يوضح أن الضابط يرفض الحالة الخطأ. بهذه الطريقة تتحول النصيحة إلى عقد تشغيل يمكن للمطور ومسؤول DevOps ومراجع الأمان قراءته بالطريقة نفسها.
اعتبار نجاح بناء Odoo.sh قبولاً وظيفياً للعملية.
لا يعتمد هذا القرار قبل تحديد المالك والبيئة وحد النجاح. سجّل الإعداد الفعلي أو Digest أو استعلام السجل الذي يثبته، ثم أضف اختبار فشل متعمداً يوضح أن الضابط يرفض الحالة الخطأ. بهذه الطريقة تتحول النصيحة إلى عقد تشغيل يمكن للمطور ومسؤول DevOps ومراجع الأمان قراءته بالطريقة نفسها.
الانتقال إلى VM سحابية لتقليل الاشتراك مع تجاهل عمل التشغيل والترقية.
لا يعتمد هذا القرار قبل تحديد المالك والبيئة وحد النجاح. سجّل الإعداد الفعلي أو Digest أو استعلام السجل الذي يثبته، ثم أضف اختبار فشل متعمداً يوضح أن الضابط يرفض الحالة الخطأ. بهذه الطريقة تتحول النصيحة إلى عقد تشغيل يمكن للمطور ومسؤول DevOps ومراجع الأمان قراءته بالطريقة نفسها.
نسخ PostgreSQL دون filestore والوحدات المطابقة وإجراء الاستعادة.
لا يعتمد هذا القرار قبل تحديد المالك والبيئة وحد النجاح. سجّل الإعداد الفعلي أو Digest أو استعلام السجل الذي يثبته، ثم أضف اختبار فشل متعمداً يوضح أن الضابط يرفض الحالة الخطأ. بهذه الطريقة تتحول النصيحة إلى عقد تشغيل يمكن للمطور ومسؤول DevOps ومراجع الأمان قراءته بالطريقة نفسها.
بوابات الاختبار والنشر
ابن مصفوفة صغيرة تربط كل خطر باختبار ومالك ودليل. اختبر المسار السليم، ثم اختبر الرفض أو الفشل المتوقع. افصل نجاح المصدر عن نجاح البناء، ونجاح البناء عن نشر المزود، ونشر المزود عن استجابة الرابط العام. وفي الأنظمة التي تتعامل مع بيانات أو طوابير، أضف سلامة البيانات وعمر الطابور إلى فحص الصحة.
قبل الإنتاج شغّل الاختبارات الحتمية في CI، واختبارات البيئة والترحيل وSmoke في CD، ثم تحقق من الرحلة الحرجة على الرابط الفعلي. عرّف حد إيقاف تلقائياً لمعدل الخطأ أو p95 أو فشل الاعتماد، واحتفظ بالنسخة السابقة وإجراء استعادة البيانات. النجاح هو دليل يمكن قراءته، لا لون أخضر وحده.
التكلفة دون رقم تسويقي
احسب الحوسبة والتخزين والطلبات ونقل البيانات والسجلات والنسخ الاحتياطية والمفاتيح والدعم والسعة الاحتياطية ووقت المهندس. استخدم أسعار المنطقة الفعلية في يوم القرار، ثم شغّل إنذار ميزانية ومراقبة شذوذ. لا تجعل خفض التكلفة يزيل هامش الفشل أو يطيل RTO بلا موافقة.
أفضل تحسين تكلفة هو حذف مورد لا تحتاجه أو تقليل عمل الأصل بقياس صحيح. أما الحجز أو الالتزام طويل الأجل فيأتي بعد ثبات الحمل. اكتب وحدة القياس لكل بند، ومن يراجعها، وما الذي يحدث إذا تجاوزت الحد.
ملاحظة من التشغيل
الدرس القابل للتعميم هو أن الحالات المختلفة لا تتساوى: الكود في المستودع، والنسخة المبنية، وحالة المزود، واستجابة المتصفح، وسلامة البيانات لكل منها دليل مستقل. كثير من الأعطال تطول لأن الفريق يرى خطوة ناجحة ويفترض أن السلسلة كلها نجحت. احفظ التوقيت والهوية والمسار والإعداد الفعلي قبل توسيع الصلاحية أو تغيير عدة طبقات معاً.
هذه ملاحظة مجهولة لا تكشف عميلاً أو حساباً أو نتيجة رقمية. فائدتها في الإجراء: غيّر شيئاً واحداً قابلاً للرجوع، راقب الإشارة المتوقعة، ثم حدّث الخط الزمني.
الخطوات العملية التالية
- انسخ الأداة أعلاه واملأها بأرقام النظام ومسؤوليه لا بتوقعات المبيعات.
- اختر أخطر فرضيتين ونفذ لهما اختبار فشل واستعادة في بيئة غير إنتاجية.
- سجل القرار والبدائل والتكلفة ودليل القبول وتاريخ المراجعة.
- اربط هذه المقالة بالمقالات الأخرى في سلسلة DevOps والسحابة واختر الخطوة التالية حسب الفجوة.
إذا كنت تحتاج مراجعة عملية للبنية أو مسار النشر، ابدأ بنطاق صغير عبر خدمة تطوير الويب والتطبيقات يحدد المخاطر والدليل المطلوب قبل أي التزام كبير.
تابع السلسلة
- السابق: استضافة موقع ليست استضافة تطبيق: اختر البنية قبل أن تدفع
- التالي: ليس كل تطبيق Odoo يتوسع بالطريقة نفسها: العمال وPostgreSQL والملفات والمهام
- قراءة مرتبطة من المكتبة: مقال عملي مكمل لهذا القرار
استخدم الروابط كمسار تعلم، لكن نفذ كل قرار على بيانات النظام الفعلية.
المصادر وتاريخ المراجعة
- Odoo 19 hosting guidance
- Odoo.sh getting started
- Odoo 19 production deployment
- Odoo 19 upgrade guidance
- Google Cloud web serving overview
- AWS web application hosting guidance
آخر مراجعة: 2026-08-28. راجع الأسعار والحصص وتوافر الميزات في المنطقة مباشرة قبل التنفيذ.