1. مقدمة
في هذا الدرس التطبيقي حول الترميز، ستتعرّف على كيفية نشر تطبيق يتضمّن حزمة كاملة باستخدام مركز تصميم التطبيقات (ADC) من Google Cloud. ستنشئ تطبيق "The Cymbal London Concierge" الذي يتضمّن واجهة مستخدم أمامية Vue 3 وواجهة خلفية FastAPI وخادم MCP يحتوي على بيانات التطبيق.
تتيح لك ميزة "تصميم التطبيق" تحديد بنية تطبيقك بشكل مرئي ونشره كوحدة واحدة، وإدارة التبعيات والروابط تلقائيًا.
الإجراءات التي ستنفذّها
- إعداد "مركز تصميم التطبيقات"
- تجميع مكوّنات التطبيق بشكل مرئي
- نشر بنية التطبيق
- تحقَّق من التطبيق الذي يتم تشغيله.
- تأكَّد من تسجيل التطبيق في "مركز التطبيقات".
- تحقَّق من مقاييس التطبيق وعمليات التتبُّع والسجلات في "مراقبة التطبيق".
المتطلبات
- متصفّح ويب، مثل Chrome
- مشروع Google Cloud تم تفعيل الفوترة فيه
هذا الدرس التطبيقي حول الترميز مخصّص للمطوّرين من جميع المستويات، بما في ذلك المبتدئين.
المدة المقدَّرة: 45 دقيقة التكلفة المقدَّرة: أقل من 2.00 دولار أمريكي
2. الإعداد
إعداد المشروع
إنشاء مشروع على Google Cloud
- في Google Cloud Console، في صفحة اختيار المشروع، اختَر مشروعًا على Google Cloud أو أنشِئ مشروعًا.
- تأكَّد من تفعيل الفوترة لمشروعك على السحابة الإلكترونية. كيفية التحقّق مما إذا كانت الفوترة مفعَّلة في مشروع
بدء Cloud Shell
Cloud Shell هي بيئة سطر أوامر تعمل في Google Cloud ومحمّلة مسبقًا بالأدوات اللازمة.
- انقر على تفعيل Cloud Shell في أعلى "وحدة تحكّم Google Cloud".
- بعد الاتصال بـ Cloud Shell، تحقَّق من مصادقتك باتّباع الخطوات التالية:
gcloud auth list - تأكَّد من إعداد مشروعك باتّباع الخطوات التالية:
gcloud config get project - إذا لم يتم ضبط مشروعك على النحو المتوقّع، اضبطه باتّباع الخطوات التالية:
export PROJECT_ID=<YOUR_PROJECT_ID> gcloud config set project $PROJECT_ID
3- إعداد "مركز تصميم التطبيقات"
قبل أن تتمكّن من تجميع تطبيقك، عليك إعداد مساحة العمل في "مركز مطوّري تطبيقات Android".
- في Google Cloud Console، ابحث عن مركز تصميم التطبيقات وانتقِل إليه.
- إذا كانت هذه هي المرة الأولى التي تستخدم فيها "إعلانات Google للعملاء" في هذا المشروع، ستظهر لك شاشة إعداد.
- انقر على الانتقال إلى الإعداد.

- سيُطلب منك تفعيل واجهات برمجة التطبيقات المطلوبة إذا لم يسبق لك تفعيلها. انقر على تفعيل للمتابعة.

4. استكشاف ميزات "إعلانات التطبيقات أثناء المشاهدة"
في هذه المهمة، ستتعرّف على المكوّنات الأساسية في ADC، وهي المساحات والفهارس والنماذج.
مساحات ADC
المساحة هي مكان لإنشاء النماذج ونشر التطبيقات. تنتمي كل مساحة إلى مشروع على Google Cloud. ينشئ ADC مساحة تلقائية أثناء الإعداد الأوّلي، ولكن يمكنك لاحقًا إنشاء مساحات أخرى في مناطق مختلفة.
لعرض مساحاتك من خلال نافذة الأوامر، اتّبِع الخطوات التالية:
- انقر على فتح المحرّر في شريط أدوات Cloud Shell أو استخدِم الوحدة الطرفية.
- نفِّذ الأمر التالي:
gcloud alpha design-center spaces list \
--project="your PROJECT ID" \
--location=us-central1
من المفترَض أن تظهر لك نتيجة مشابهة لما يلي تشير إلى أنّ المساحة التلقائية متوفّرة في المنطقة.
createTime: '20XXXX-XX-XXT09:19:29.456016967Z'
displayName: default-space
enableGcpSharedTemplates: true
name: projects/your-project-id/locations/us-central1/spaces/default-space
5- تجميع النموذج
في هذه الخطوة، ستتولّى دور مهندس فريق المنصة. هدفك هو إنشاء نموذج آمن ومتوافق وقابل لإعادة الاستخدام للتطبيقات المستندة إلى الوكلاء في مؤسستك. ستضيف مكونات وتضبط قيودًا لضمان امتثال أي تطبيق يتم نشره من هذا النموذج لسياسات السحابة الإلكترونية في شركتك.
1. إنشاء تصميم جديد
- في وحدة تحكّم ADC، انقر على النماذج > إنشاء نموذج.
- أضِف اسمًا للنموذج
simple-3-tier-agentic-app، لأنّ هذا النموذج سيُستخدَم لنشر تطبيقCymbal London Conciergeوالتطبيقات الأخرى المشابهة.
2. إضافة خادم Data MCP
يتعامل هذا المكوّن مع تفاعلات قاعدة البيانات والبحث المتّجه.
- انقر على إضافة مكون (Add Component) > Cloud Run (الخدمة). إذا نقرت على هذا المكوّن، سيظهر لك معرّف المكوّن في أعلى يسار الصفحة. سيكون بالتنسيق
cloud-run-1. يمكننا تغييرها إلىdata-mcp-serverمن خلال تعديلها في طريقة عرض الرمز (سيتم توضيح ذلك لاحقًا)، ولكن لنتركها كما هي.
- أدخِل اسم الخدمة:
data-mcp-server. - ضمن عرض الإعدادات المتقدّمة، اضبط الأعضاء على:
allUsers. (ملاحظة: في بيئة الإنتاج، من المحتمل أن يتم تقييد ذلك، ولكننا نستخدمه هنا لتبسيط الدروس التطبيقية.) - ضمن عرض الإعدادات المتقدّمة، اضبط الوصول إلى شبكة VPC، واضبط الخروج على:
PRIVATE_RANGES_ONLY. - يمكنك اختياريًا إزالة العلامة من المربّع تفعيل Prometheus Sidecar ضمن عرض الإعدادات المتقدّمة.

- انقر على حفظ.
3- إضافة Agent Backend
هذا هو تطبيق FastAPI الذي ينسّق سلوك الذكاء الاصطناعي الوكيل.
- انقر على إضافة مكون (Add Component) > Cloud Run (الخدمة).
- أطلِق عليها الاسم
agent-backend. - ضمن عرض الحقول المتقدّمة، ضَع علامة في المربّع بجانب إنشاء حساب خدمة وأضِف الأدوار التالية ضمن أدوار حساب الخدمة في المشروع واحدًا تلو الآخر:
roles/monitoring.metricWriterroles/logging.logWriterroles/cloudtrace.agentroles/telemetry.writerroles/serviceusage.serviceUsageConsumer. ستسمح هذه الأدوار للوكيل باستخدام Cloud Monitoring وCloud Logging وCloud Trace. إعدادات التوافق: يفرض فريق المنصة مبدأ الحدّ الأدنى من الامتيازات من خلال إدراج الأدوار المطلوبة بشكلٍ صريح.

- ضمن عرض الإعدادات المتقدّمة، اضبط الأعضاء على:
allUsers. - ضمن عرض الإعدادات المتقدّمة، اضبط الوصول إلى شبكة VPC، واضبط الخروج على:
PRIVATE_RANGES_ONLY. - يمكنك اختياريًا إزالة العلامة من المربّع تفعيل Prometheus Sidecar ضمن عرض الإعدادات المتقدّمة.
- اربط بين
agent-backendوdata-mcp-serverعن طريق سحب خط ربط منagent-backendإلىdata-mcp-server. - انقر على حفظ.
4. إضافة الواجهة الأمامية
واجهة المستخدم الأمامية
- انقر على إضافة مكون (Add Component) > Cloud Run (الخدمة).
- أدخِل اسم الخدمة:
frontend. - ضمن عرض الإعدادات المتقدّمة، أزِل العلامة من المربّع بجانب إنشاء حساب خدمة.
- ضمن عرض الإعدادات المتقدّمة، اضبط Ingress على:
INGRESS_TRAFFIC_INTERNAL_LOADBALANCER. إعدادات التوافق: يتم حظر الوصول المباشر إلى حاوية الواجهة الأمامية، ما يفرض توجيه الزيارات من خلال موازن التحميل. - ضمن عرض الإعدادات المتقدّمة، اضبط الأعضاء على:
allUsers.
- يمكنك اختياريًا إزالة العلامة من المربّع تفعيل Prometheus Sidecar ضمن عرض الإعدادات المتقدّمة.
- انقر على حفظ.
- اربط بين
frontendوagent-backendعن طريق سحب خط ربط منfrontendإلىagent-backend.
5- إضافة مكوّن Vertex AI
- انقر على إضافة مكوّن > Vertex AI.
- أطلِق عليها الاسم
vertex-ai. - اربطه بالجهاز
agent-backendوالجهازdata-mcp-serverعن طريق سحب وصلتَين منvertex-aiإلىagent-backendوdata-mcp-serverعلى التوالي. سيتم تلقائيًا تعيين الأدوارaiplatform.userإلى حسابات الخدمة الخاصة بـagent-backendوdata-mcp-serverلأنّها مرتبطة بمكوّن Vertex AI.
6. إضافة موازن الحمل العام
تعرض خدمة "موازنة التحميل" الواجهة الأمامية على شبكة الإنترنت العامة. في ADC، يتم تقسيم ذلك إلى مكوّن خلفي ومكوّن أمامي.
أ. إضافة الخلفية الخاصة بموازن الحمل
- انقر على **إضافة مكون > Global Cloud Load Balancing (الخادم الخلفي).
- أطلِق عليها الاسم
galb-backend. - انقر على إضافة اتصال واربطه بـ
frontend.
ب. إضافة الواجهة الأمامية لجهاز موازنة الحمل
- انقر على **إضافة مكون > Cloud Load Balancing (الواجهة الأمامية).
- أطلِق عليها الاسم
galb-frontend. - انقر على إضافة اتصال واربطه بـ
galb-backend. - اربط بين
galb-frontendوgalb-backendعن طريق سحب خط ربط منgalb-frontendإلىgalb-backend.

مشاركة النموذج في الكتالوج
يتيح لك الكتالوج مشاركة نماذج التطبيقات على مستوى مساحات مختلفة، ما يتيح إدارة بنية التطبيق. يعمل الكتالوج كمستودع مركزي للنماذج التي أنشأها فريق المنصة ووافق عليها لمشاركتها. تجنُّب تكرار الجهد في المشاريع الشائعة وتبسيط أوقات بدء التشغيل من خلال مشاركة الفهارس بين المساحات
الآن، أضِف النموذج إلى الكتالوج:
- انقر على علامة التبويب الفهارس.
- انقر على إضافة نماذج واختَر النموذج
simple-3-tier-agentic-app. - انقر على إضافة إلى الكتالوج.

يمكنك العثور على النماذج في ثلاثة مواقع: نماذج Google (أنماط محدّدة مسبقًا) والنماذج المشترَكة (المشارَكة على مستوى مؤسستك) والنماذج (مخططات مخصّصة في مساحتك).
6. نشر التطبيق
حان الوقت الآن لتولّي دور مطوّر تطبيقات يريد استخدام هذا النموذج لنشر تطبيق cymbal-london-concierge.
- في وحدة تحكّم ADC، أعِد فتح النموذج في علامة التبويب النماذج، وانقر على الزر إعداد التطبيق.

- انقر على إنشاء تطبيق جديد.
- ضبط التطبيق:
- اسم التطبيق:
cymbal-london-concierge - مشروع النشر: رقم تعريف مشروعك
- المنطقة:
us-central1 - سمات الإدخال>البيئة:
Development - سمات الإدخال>الأهمية:
Low
- اسم التطبيق:
- انقر على إنشاء تطبيق.بالنسبة إلى عملية نشر في بيئة الإنتاج، عليك اختيار "بيئة الإنتاج" في حقل "البيئة" و"عالية" في حقل "الأهمية". هذه هي العلامات التي ستساعد مهندسي موثوقية الموقع وفريق العمليات في ترتيب وتحديد أولويات العمل على أي مشاكل تحدث.
- من المفترض أن يؤدي ذلك إلى فتح صفحة تفاصيل النشر التي تتضمّن نموذج التطبيق. بما أنّ هذا مجرّد نموذج، ما زلنا بحاجة إلى إضافة إعدادات خاصة بتطبيقنا.
- لنضبط الواجهة الأمامية. انقر على مكوّن واجهة المستخدم.
- انقر على الحاويات > تعديل الحاوية.
- علينا استبدال صورة الحاوية العامة بالصورة التي نريد استخدامها لتطبيقنا.
- اضبط صورة الحاوية على:
us-central1-docker.pkg.dev/o11y-movie-guru/london-travel-agency/frontend:codelab-c2c6-v1
- اضبط المنفذ
http1على80. - اضبط متغيّرات البيئة التالية:
-
API_BASE_URL:module.cloud-run-2.service_uri(تأكَّد من أنّcloud-run-2هو اسم الخلفية الخاصة بمكوّن الوكيل، وإذا لم يكن كذلك، استبدِله بالاسم الفعلي للمكوّن)
-
- انقر على حفظ.
- لنبدأ بضبط إعدادات الواجهة الخلفية للوكيل. انقر على مكوّن agent-backend.
- انقر على الحاويات > تعديل الحاوية.
- علينا استبدال صورة الحاوية العامة بالصورة التي نريد استخدامها لتطبيقنا.
- اضبط صورة الحاوية على:
us-central1-docker.pkg.dev/o11y-movie-guru/london-travel-agency/agent:codelab-c2c6-v1 - اضبط متغيرات البيئة التالية:
GOOGLE_CLOUD_PROJECT:GOOGLE_CLOUD_LOCATION:us-central1DATA_BACKEND_URL:module.cloud-run-1.service_uri(تأكَّد من أنّcloud-run-1هو اسم مكوّن خادم mcp للبيانات، وإذا لم يكن كذلك، استبدِله بالاسم الفعلي للمكوّن)- اضبط المنفذ
http1على8000. - انقر على حفظ.
- لنبدأ الآن ضبط خادم MCP للبيانات. انقر على مكوّن data-mcp-server.
- انقر على الحاويات > تعديل الحاوية.
- علينا استبدال صورة الحاوية العامة بالصورة التي نريد استخدامها لتطبيقنا.
- اضبط صورة الحاوية على:
us-central1-docker.pkg.dev/o11y-movie-guru/london-travel-agency/data_mcp:codelab-c2c6-v1 - اضبط متغيرات البيئة التالية:
GOOGLE_CLOUD_PROJECT:GOOGLE_CLOUD_LOCATION:us-central1DB_TYPE:sqliteEMBEDDING_MODEL:text-embedding-005- اضبط المنفذ
http1على8002. - انقر على حفظ.
- انقر على الزر الرمز في أعلى الصفحة لعرض رمز Terraform الخاص بالتطبيق. يمكنك أيضًا تنزيل رمز Terraform للتطبيق من خلال النقر على الزر الحصول على الرمز لتخزينه في قاعدة الرموز.

- انقر على الزر نشر (Deploy) في أعلى يسار الصفحة لنشر التطبيق.
- ستطلب منك صفحة النشر إنشاء حساب خدمة لخطوات النشر أو اختيار حساب حالي. انقر على إنشاء حساب خدمة (سيتم ملء الاسم تلقائيًا)، ثم انقر على متابعة. سيستغرق إنشاء حساب خدمة جديد بضع ثوانٍ.

- بعد إنشاء حساب الخدمة، سيتم تحديث الصفحة وسيظهر لك خيار "اختيار حساب الخدمة" (Select Service Account) مع علامة اختيار بجانبه.

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

- يمكنك الاطّلاع على سجلّات الإنشاء على السحابة الإلكترونية لمعرفة حالة النشر أو ما إذا كانت هناك أي أخطاء قد تحدث أثناء نشر التطبيق. يمكنك أيضًا الانتقال مباشرةً إلى سجلّات Cloud Build من خلال البحث عن Cloud Build في وحدة تحكّم Google Cloud والنقر على السجلّ. سيستغرق نشر التطبيق من 5 إلى 8 دقائق تقريبًا.

- بعد اكتمال عملية النشر، ستظهر علامة اختيار خضراء بجانب حقل حالة النشر.

7. التحقّق من التطبيق
لنختبر ما إذا كان الوكيل نشطًا. في قسم عمليات الإخراج ضمن صفحة تفاصيل النشر، سيظهر لك عنوان URL الخاص بمكوّن الواجهة الأمامية. انسخ عنوان URL هذا والصقه في المتصفّح. تأكَّد من استخدام http وليس https. يجب أيضًا قبول أي تحذيرات قد تظهر لك في المتصفّح لأنّ الواجهة الأمامية تستخدم http.
تحدّث مع التطبيق واطلب منه إنشاء برنامج رحلة إلى لندن.

8. مركز التطبيقات ومراقبة التطبيقات
- في "وحدة تحكّم ADC"، انقر على الزر عرض التطبيق في "مركز التطبيقات" في أعلى يسار الصفحة.

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

- انقر على الزر عرض في Observability. من المفترض أن يؤدي ذلك إلى فتح التطبيق في وحدة تحكّم Observability.
- افتح عرض لوحة البيانات. تمنحك لوحة البيانات نظرة عامة على أداء التطبيق وحالته من خلال توفير مقاييس مثل الإشارات الذهبية الأربع: معدّل الطلبات ومعدّل الأخطاء ووقت الاستجابة والاستخدام. وتُعدّ المراقبة التي تركّز على التطبيقات ضرورية للحفاظ على الموثوقية. يمكنك أيضًا عرض السجلات وعمليات التتبُّع للتطبيق، ما يتيح لك ربط الإشارات وتحديد المشاكل. ويُعدّ ذلك مهمًا بشكل خاص في تطبيق معقّد مثل هذا، حيث يمكن أن تؤدي الاستجابات البطيئة من Vertex AI أو خادم Data MCP إلى تدهور تجربة المستخدم.

- الاستكشاف الموجّه: اطرح على الوكيل سؤالاً محدّدًا في التطبيق (مثلاً، "ما هي أفضل الأماكن التي يمكن زيارتها في لندن؟"). بعد ذلك، ارجِع إلى وحدة تحكّم Observability واطّلِع على قائمة عمليات التتبُّع. ابحث عن التتبُّع الذي يتوافق مع طلبك. انقر على هذا القسم للاطّلاع على العرض التفصيلي للرسم البياني المتتالي. لاحظ كيف يمكنك الاطّلاع على الوقت المستغرَق في الواجهة الأمامية وخلفية الوكيل والمكالمات إلى Vertex AI. يتيح لك ذلك تحديد المكان الذي يحدث فيه وقت الاستجابة فيه بالضبط.
9- تهانينا
تهانينا! لقد نشرت بنية تطبيق من 3 طبقات باستخدام ADC.
ما تعلّمته
- كيفية تجميع بنية سحابية بشكل مرئي باستخدام ADC
- كيفية إعداد ADC وتفعيل واجهات برمجة التطبيقات من خلال واجهة المستخدم
- كيفية نشر التطبيقات باستخدام ADC
- كيفية استخدام مركز التطبيقات للحصول على عرض مركّز على التطبيقات لمواردك
- كيفية رصد حالة التطبيق باستخدام لوحة بيانات إمكانية تتبّع البيانات