عرض محتوى ديناميكي واستضافة خدمات مصغّرة باستخدام "استضافة Firebase"

Firebase Hosting تتكامل مع خيارات الحوسبة بدون خادم، بما في ذلك Cloud Functions for Firebase و Cloud Run. باستخدام Firebase Hosting مع هذه الخيارات، يمكنك استضافة الخدمات المصغّرة من خلال توجيه طلبات HTTPS لتشغيل وظائفك وتطبيقاتك المضمّنة في حاويات في بيئة مُدارة وآمنة.

Cloud Functions for Firebase: يمكنك كتابة ونشر وظيفة، وهي رمز برمجي في الخلفية يستجيب لمشغّل معيّن. بعد ذلك، باستخدام Firebase Hosting، يمكنك توجيه طلبات HTTPS لتشغيل وظيفتك لتشغيلها.

Cloud Run: يمكنك كتابة تطبيق ونشره في صورة حاوية. بعد ذلك، باستخدام Firebase Hosting، يمكنك توجيه طلبات HTTPS لتشغيل تطبيقك المضمّن في حاوية.

حالات الاستخدام

كيف يمكنك استخدام خيارات الحوسبة بدون خادم مع Firebase Hosting؟

  • عرض المحتوى الديناميكي : بالإضافة إلى عرض المحتوى الثابت على موقعك الإلكتروني Hosting، يمكنك عرض استجابات يتم إنشاؤها ديناميكيًا من وظيفة أو تطبيق مضمّن في حاوية يؤدي منطقًا من جهة الخادم.

    على سبيل المثال، يمكنك توجيه نمط عنوان URL (مثل /blog/<blog-post-id>) إلى وظيفة تستخدم مَعلمة معرّف مشاركة المدوّنة في عنوان URL لاسترداد المحتوى ديناميكيًا من قاعدة البيانات.

  • إنشاء واجهات برمجة تطبيقات REST : يمكنك إنشاء واجهة برمجة تطبيقات للخدمات المصغّرة باستخدام الوظائف.

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

  • تخزين المحتوى الديناميكي مؤقتًا : يمكنك إعداد التخزين المؤقت للمحتوى الديناميكي على شبكة CDN عالمية.

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

  • العرض المسبق لتطبيقاتك ذات الصفحة الواحدة : يمكنك تحسين تحسين محركات البحث (SEO) ورفع كفاءة المشاركة على مختلف الشبكات الاجتماعية من خلال إنشاء علامات meta ديناميكية. لمعرفة المزيد، شاهد هذا الفيديو أو اطّلع علىهذا النموذج مفتوح المصدر.

اختيار خيار بدون خادم

يتكامل كل من Cloud Functions for Firebase و Cloud Run مع Firebase Hosting ويوفران بيئة حوسبة بدون خادم مُدارة بالكامل وآمنة ومزوّدة بميزة القياس التلقائي، ولكن يمكن الاستفادة من الخيارَين في حالات استخدام مختلفة ومستوى مختلف من الإعدادات المخصّصة.

عند استخدام أي من الخيارَين بدون خادم، من الأفضل وضعهما مع الخوادم لـ Firebase Hosting من خلال النشر في إحدى المناطق التالية:

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

يصف الجدول التالي بعض الاعتبارات الأساسية لاستخدام Cloud Functions for Firebase مقابل Cloud Run. للاطّلاع على قائمة كاملة بالحِصص والحدود والمقاييس، يُرجى الرجوع إلى المستندات التفصيلية لكل منتج (Cloud Functions for Firebase أو Cloud Run).

التفكير في الشراء Cloud Functions for Firebase Cloud Run
الإعداد تجمع واجهة سطر الأوامر في Firebase مهام متعددة في أوامر فردية، بدءًا من الإعداد إلى الإنشاء والنشر. توفر الحاويات خيارات أكثر قابلية للتخصيص، لذا تتضمن مهام الإعداد والإنشاء و النشر خطوات منفصلة.
بيئة وقت التشغيل يتطلّب Node.js، ولكن يمكنك تحديد إصدار Node.js الذي تريد استخدامه. عند إنشاء الحاوية ، يمكنك تحديد بيئة وقت التشغيل.
اللغات والأُطر المعتمَدة

JavaScript وTypeScript

تتوفّر إمكانية استخدام أُطر الويب، مثل Express.js.

أي لغة تتوافق مع ملفات Docker، بما في ذلك Go وNode.js وPython وJava وغيرها

تتوفّر إمكانية استخدام أُطر الويب لكل لغة.

المهلة المحدّدة لطلب Hosting 60 ثانية (راجِع الملاحظة أدناه) 60 ثانية (راجِع الملاحظة أدناه)
التزامن طلب واحد لكل مثيل وظيفة
(ما مِن تزامن لكل مثيل)
ما يصل إلى 1,000 طلب متزامن لكل مثيل حاوية
الفوترة Cloud Functions استخدام

تتوفّر حصة استخدام مجانية، ولكن يجب أن يكون لديك حساب على Cloud Billing account. راجِع الأسئلة الشائعة حول Firebase.

Cloud Run الاستخدام + Container Registry مساحة التخزين

تتوفّر حصة استخدام مجانية، ولكن يجب أن يكون لديك حساب على Cloud Billing account