التعرّف على خدمة استضافة التطبيقات وطريقة عملها

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

بنية Google Cloud وApp Hosting

ينظّم App Hosting مجموعة من منتجات Google Cloud حتى تتمكّن من نشر تطبيق الويب وعرضه ومراقبته. يتم إنشاء التطبيقات باستخدام Cloud Build، ويتم عرضها على Cloud Run وتخزينها مؤقتًا في Cloud CDN. تحافظ الخدمات المدمجة، مثل Cloud Secret Manager، على أمان مفاتيح واجهة برمجة التطبيقات.

مخطّط بياني للبنية الموضّحة في هذه الصفحة

  1. عند دفع عملية إرسال إلى فرعك المنشور، تُرسِل أداة Google Cloud Developer Connect حدثًا إلى Firebase App Hosting.
  2. استجابةً لهذا الحدث، يبدأ Firebase App Hosting عملية طرح جديدة لكل خلفيّة متصلة بالمستودع.
  3. ينشئ Firebase App Hosting إصدارًا جديدًا من Cloud Build لملف الالتقاط. في هذه المهمة، تُحدِّد حِزم الإنشاء من Google Cloud الإطار الذي يتم استخدامه في تطبيقك لإنشاء حاوية وإعدادات (بما في ذلك متغيّرات البيئة والأسرار والحد الأدنى أو الحد الأقصى للأجهزة الافتراضية وإعدادات ذاكرة المعالجة المتزامنة ووحدة المعالجة المركزية وشبكة VPC) التي تناسب تطبيقك.
  4. بعد اكتمال مهمة Cloud Build، يتم تخزين الحاوية في مستودع Artifact Registry مخصّص لخدمة Firebase App Hosting. بعد ذلك، تضيف Firebase App Hosting Cloud Runمراجعة جديدة إلى Cloud Run خدمة باستخدام صورتك وإعداداتك. بعد التأكّد من أنّه تمت معالجة Cloud Run المراجعة بشكل سليم، يعدّل Firebase App Hosting إعدادات الزيارات لتوجيه جميع الطلبات الجديدة إلى Cloud Run المراجعة الجديدة. في هذه المرحلة، اكتمل الطرح.
  5. عند إرسال طلب إلى موقع إلكتروني مستضاف على Firebase App Hosting، يتم عرض الطلب من خلال "موازنة تحميل Google Cloud" مع تفعيل Cloud CDN. يتم إرسال الطلبات غير المخزّنة مؤقتًا إلى خدمة Cloud Run.

دمج إطار العمل

يوفّر App Hosting إمكانية إعداد عملية الإنشاء والنشر مسبقًا لتطبيقات الويب التي تم تطويرها باستخدام الإطارات التالية:

  • الإصدار 13.5.x من Next.js والإصدارات الأحدث
  • Angular 18.2.x والإصدارات الأحدث

اطّلِع على جداول الدعم للحصول على تفاصيل حول إصدارات ومستويات دعم معيّنة.

بالإضافة إلى Next.js وAngular، يتوافق App Hosting أيضًا مع أي إطار عمل ويب يمكنه توفير ناتج إنشاء يتطابق مع مواصفات حِزمة الإخراج. اطّلِع على الإطارات الأساسية والأدوات المخصّصة لتطبيق App Hosting للحصول على مزيد من المعلومات حول الإطارات الأساسية ومحوِّلات الإطارات الأساسية والأدوات ذات الصلة المتوافقة مع App Hosting.

آلية عمل دمج مستودع App Hosting

تُجري أداة Developer Connect عملية الربط المهمة بين مستودع GitHub وApp Hosting الخلفية، وهي منصّة الربط في Google Cloud لأدوات DevOps الخارجية. أثناء إنشاء App Hosting خلفية، ترشدك سير عمل واجهة مستخدِم Developer Connect خلال عملية تثبيت تطبيق Firebase على GitHub. في ما يلي الخطوات الرئيسية في هذه العملية:

  1. يمكنك منح Developer Connect دور مشرف أداة إدارة الأسرار. ويسمح ذلك للنظام بتخزين بيانات الاعتماد بأمان كـ "أسرار" في Cloud Secret Manager.
  2. عليك تفويض تطبيق Firebase GitHub بالوصول إلى مستودع GitHub.
  3. تخزِّن أداة Developer Connect رمز مميّزًا لمنح الأذونات على GitHub في مستودع أداة إدارة الأسرار في مشروعك، ولا تعدِّل هذا الرمز المميّز أو تحذفه.

بالإضافة إلى ذلك، يتم دمج App Hosting مع واجهة برمجة التطبيقات GitHub checks API لتقديم فحص للعمليات الطرح. يتيح لك هذا الفحص الاطّلاع على حالة الطرح في GitHub وتحديد الأخطاء في عملية النشر وإصلاحها في حال حدوث أي أخطاء.

الدمج مع Firebase وخدمات Google الأخرى

App Hosting تُعدّ كلّ من بيئتَي التصميم والتنفيذ لكي تتمكّن من تهيئة حزمة تطوير البرامج (SDK) الخاصة بمسؤول Firebase باستخدام بيانات الاعتماد التلقائية لتطبيق Google. بهذه الطريقة، يمكن للجزء الخلفي من تطبيقك التواصل مع منتجات Firebase الأخرى في وقتَي التصميم والتنفيذ. اطّلِع على مقالة دمج حِزم تطوير البرامج (SDK) لمنصّة Firebase في تطبيق الويب للحصول على مزيد من المعلومات عن بدء تشغيل تطبيقك والمواضيع الأخرى المتعلّقة بحِزم تطوير البرامج (SDK) لمنصّة Firebase.

App Hosting موقع جغرافي

App Hosting تُنشئ موارد الخلفية في موقع جغرافي محدّد يُعرف باسم المنطقة الأساسية. على الرغم من أنّ App Hosting يتم دمجه مع شبكة توصيل المحتوى (CDN) العالمية لتسليم المحتوى بشكلٍ سريع، يتم عرض المحتوى غير المخزّن مؤقتًا من المنطقة الأساسية لتطبيقك. توفّر هذه المرونة في الموقع الجغرافي لتطبيق الويب مزايا رئيسية:

  • تحسين الأداء وتقليل وقت الاستجابة من خلال تقريب البيانات جغرافيًا إلى المستخدمين
  • لن يؤثّر تعطُّل App Hosting بشكلٍ كبير في منطقة معيّنة على تطبيقات الويب التي تم نشرها في مناطق أخرى.

يمكنك اختيار أيّ من هذه المناطق عند إنشاء App Hosting خلفية من وحدة التحكّم أو Firebase واجهة سطر الأوامر:

  • us-central1 (أيوا)
  • asia-east1 (تايوان)
  • europe-west4 (هولندا)

حساب خدمة الخلفية App Hosting

أثناء عملية الإنشاء وفي وقت التشغيل، تتم مصادقة الخلفية في App Hosting مع خدمات Google الأخرى باستخدام حساب خدمة. يتم إنشاء حساب خدمة تلقائي لهذه الأغراض في المرة الأولى التي تفعّل فيها App Hosting في مشروع Firebase:

firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com

ينطبق حساب الخدمة هذا على جميع الخلفيات تلقائيًا ويحتوي على الحد الأدنى من الأذونات للسماح لك بإنشاء تطبيقك وتشغيله ومراقبته. ويحتوي أيضًا على إذن للقيام بمصادقة حزمة Admin SDK باستخدام بيانات الاعتماد التلقائية للتطبيق، وذلك بهدف تنفيذ عمليات مثل تحميل البيانات من Cloud Firestore. اطّلِع على أدوار App Hosting Firebase.

إذا كان تطبيقك بحاجة إلى التفاعل مع خدمات إضافية من Google إما في وقت الإنشاء أو من الخلفية، يمكنك تخصيص حساب الخدمة التلقائي من خلال إضافة الأدوار. على سبيل المثال، إذا كان تطبيقك يتطلّب أذونات لخدمة Vertex AI، قد تحتاج إلى إضافة roles/aiplatform.user أو دور ذي صلة.

المصطلحات والتعريفات الرئيسية

  • الخلفية: مجموعة الموارد المُدارة التي App Hosting تنشئها لإنشاء تطبيق الويب وتشغيله
  • الطرح: إصدار معيّن من تطبيقك المنشور، مرتبط بعمليات الربط في Git
  • الفرع المنشور: هو فرع مستودع GitHub الذي يتم نشره على عنوان URL المنشور. وغالبًا ما يكون هذا هو الفرع الذي يتم دمج فروع الميزات أو فروع التطوير فيه.