1. الخطة الأساسية، وضع الأساس
قبل أن نتمكّن من بناء منزلنا، علينا تأمين الأرض وتحديد طريقة لدفع ثمن المواد وفتح صندوق الأدوات. في السحابة الإلكترونية، يتم تحويل هذه المفاهيم إلى مشاريع وفوترة.
ما هو مشروع Google Cloud؟
يمكنك اعتبار Google Cloud مستودعًا رقميًا ضخمًا مليئًا بالأدوات والخدمات الفعّالة. المشروع هو مساحة خاصة وآمنة ضمن هذا المستودع. وهو عبارة عن حاوية تضم جميع مواردك (مثل الخوادم وقواعد البيانات والتعليمات البرمجية)، وتتتبّع جميع تكاليفك، وتدير المستخدمين المسموح لهم بالدخول إلى الأدوات واستخدامها. سيتم تنفيذ كل إجراء نتخذه اليوم داخل حدود هذا المشروع.

على الرغم من أنّ "المشروع" هو محور تركيزنا اليوم، من المفيد فهم موقعه في البنية الأكبر التي تستخدمها الشركات. تنظّم Google Cloud كل شيء في تسلسل هرمي واضح من الأعلى إلى الأسفل.
Organization (The entire Corporation, e.g., "MegaCorp Inc.")
└── Folders (The Corporate Divisions, e.g., "Research & Development")
├── Project (A specific team's lab, e.g., "Project Phoenix - R&D")
│ └── Resources (The tools in the lab, e.g., a specific server)
└── Project (Another team's workshop, e.g., "Q4 Marketing Campaign")
└── Resources (The tools for that campaign, e.g., a storage bucket)
في ما يلي مستويات هذا التسلسل الهرمي، من الأعلى إلى الأسفل:
- عقدة المؤسسة:
- هذا هو المقرّ الرئيسي للشركة بأكملها (مثل،
yourcompany.com)، ويقع في أعلى الصفحة حيث يتم ضبط سياسات الأمان والفوترة على مستوى الشركة. في الإصدار التجريبي المجاني من Google Cloud، يمكنك عادةً العمل بدون عقدة مؤسسة، وهذا مناسب تمامًا للتعلم.
- هذا هو المقرّ الرئيسي للشركة بأكملها (مثل،
- المجلدات:
- هذه هي الأقسام أو الإدارات داخل الشركة (مثلاً، الهندسة والمالية). وهي طبقة اختيارية تُستخدَم لتجميع المشاريع وتطبيق السياسات على الفرق بأكملها في آنٍ واحد. لن نستخدم المجلدات في ورشة العمل هذه.
- المشاريع (مجال تركيزنا):
- هذه ورشة عمل أو جلسة تدريبية خاصة بفريق. هذا هو المكان الذي يتم فيه العمل الفعلي، وهو المستوى الأكثر أهمية في ورشة العمل. يجب أن تكون جميع الموارد التي تنشئها ضمن مشروع. المشروع هو أيضًا المستوى الذي يمكنك فيه تفعيل واجهات برمجة التطبيقات (الخدمات) وربط حساب فوترة.
- المراجع:
- هذه هي الأدوات والآلات الفردية داخل ورشة العمل. تطبيق Cloud Run الذي سننشره هو أحد الموارد. الجهاز الظاهري أو قاعدة البيانات أو حزمة التخزين هي أمثلة على الموارد.
تجربة عملية: إنشاء مشروع وإعداده
- يمكنك طلب رصيدك
goo.gle/devfest-boston-ai/. والموافقة على بنود خدمة Google Cloud Platform بعد تطبيق الرمز، ستظهر لك رسالة تفيد بأنّه تم تطبيق الرصيد.
- انتقِل إلى .
- في شريط التنقّل العلوي، انقر على اختيار مشروع، ثمّ على مشروع جديد.

- أدخِل اسمًا فريدًا لمشروعك (مثلاً،
idea-to-launch-yourname) ثم انقر على إنشاء. اختَر "بدون مؤسسة".
- تأكَّد من اختيار مشروعك الجديد من القائمة المنسدلة في أعلى الصفحة.
لماذا تُعدّ الفوترة مهمة للغاية؟
حساب الفوترة هو الأساس المالي لمشروعك، وهو عبارة عن "بطاقة الائتمان المسجّلة" التي يتم من خلالها دفع تكاليف الموارد التي تستخدمها. في ورشة العمل هذه، ستستخدم الفترة التجريبية المجانية من Google Cloud التي تمنحك أرصدة مجانية. هذه بيئة آمنة ومحمية. لن يتم تحصيل الرسوم منك تلقائيًا بعد استخدام رصيدك أو انتهاء الفترة التجريبية ما لم ترقِّ حسابك يدويًا. فهم الفوترة هو الخطوة الأولى للتحكّم في التكاليف. تتيح لك أفضل الممارسات، مثل ضبط الميزانيات والتنبيهات، تلقّي إشعارات عبر البريد الإلكتروني إذا اقترب إنفاقك من حدّ معيّن، ما يمنع حدوث أي مفاجآت.
تجربة عملية: ربط حساب الفوترة
- انتقِل إلى .
- انقر على ربط حساب فوترة.

- اختَر حساب فوترة تجريبي على Google Cloud Platform من القائمة المنسدلة، ثم انقر على "ضبط الحساب". (إذا لم تظهر لك القائمة المنسدلة، انتظِر دقيقة واحدة إلى أن يتم تطبيق الرصيد وأعِد تحميل الصفحة).
تجربة عملية: ضبط تنبيه بشأن الميزانية (أفضل الممارسات)
بعد تفعيل الفوترة، لننفّذ الآن إحدى أفضل الممارسات المهمة للتحكّم في التكاليف، وهي تحديد ميزانية. لا يؤدي ذلك إلى إيقاف خدماتك عند بلوغ المبلغ، بل يرسل إليك تنبيهات عبر البريد الإلكتروني لتكون على دراية دائمًا بإنفاقك.
- في القائمة اليمنى من صفحة "الفوترة"، انقر على الميزانيات والتنبيهات.
- في أعلى الصفحة، انقر على + إنشاء ميزانية.

- تسمية ميزانيتك: امنحها اسمًا بسيطًا مثل
Workshop-Alert. - النطاق: احتفِظ بالإعدادات التلقائية التي من المفترض أن يكون مشروعك الحالي محدّدًا فيها. انقر على التالي.

- المبلغ: في قسم "مبلغ الميزانية"، اختَر مبلغ محدّد في "نوع المبلغ". أدخِل مبلغًا صغيرًا، مثل
10. وهذا يعني أنّ ميزانيتنا هي 10 دولارات أمريكية. انقر على التالي.
- الإجراءات: يمكنك هنا ضبط التنبيهات. سيتم تلقائيًا ضبط التنبيهات عند تجاوز إنفاقك %50 و%90 و% 100 من مبلغ ميزانيتك (5 و9 و10 دولارات أمريكية).
- ضَع علامة في المربّع بجانب تنبيهات البريد الإلكتروني لمشرفي الفوترة والمستخدمين ضمن "إشعارات البريد الإلكتروني". سيؤدي ذلك إلى إرسال الإشعارات إلى عنوان البريد الإلكتروني المرتبط بحسابك.
- انقر على إنهاء.

لقد أعددت الآن أداة استباقية لإدارة التكاليف. في مشروع حقيقي، هذه إحدى أهم الخطوات الأولى لضمان عدم حدوث مفاجآت مالية.
ما هي "الخدمات" ولماذا نفعّلها؟
بعد إعداد مركز التحكّم في مختبرك الخاص، سنتحدّث الآن عن المعدّات المتوفّرة لك. توفّر Google Cloud أكثر من 200 منتج مختلف، بدءًا من قواعد البيانات وصولاً إلى نماذج الذكاء الاصطناعي. يُطلق على كلّ منها اسم خدمة. يمكنك اعتبار Cloud Run "خدمة الشحن والخدمات اللوجستية الآلية" وGemini "خدمة الابتكار والنماذج الأولية المستندة إلى الذكاء الاصطناعي". لاستخدام أيّ من هذه الخدمات الفعّالة، يجب أولاً تفعيل واجهة برمجة التطبيقات (Application Programming Interface) الخاصة بها لمشروعك.

لنواصل التشبيه بالمستودع والمختبر. لنفترض أنّ مشروعك على Google Cloud هو ورشة العمل المخصّصة لك داخل المستودع الضخم. تم تجهيز ورشة العمل بمحطات عمل متقدّمة مختلفة: محطة لتحليل الذكاء الاصطناعي، ومحطة للنشر العالمي، ومحطة لتخزين البيانات، وما إلى ذلك. لضمان السلامة والكفاءة، يتم إيقاف تشغيل قناة الطاقة الرئيسية لكل محطة عمل متخصصة من هذه المحطات تلقائيًا.
تفعيل واجهة برمجة التطبيقات هو إجراء يشبه الانتقال إلى محطة عمل معيّنة في مختبرك، مثل "محطة تصميم نماذج الذكاء الاصطناعي"، وتحويل مفتاح الطاقة الرئيسي إلى وضع "تشغيل".
ولكن لماذا تكون جميع الإعدادات غير مفعّلة تلقائيًا؟ هذا خيار تصميم مدروس لعدة أسباب مهمة:
- الأمان: يفرض هذا الإعداد مبدأ منح أقل أذونات ممكنة على مستوى المشروع. إذا كنت لا تستخدم إحدى الخدمات، تكون عمليات الربط بينها وبين مشروعك غير نشطة، ما يقلّل من "مساحة الهجوم" المحتملة.
- الحوكمة والتحكّم في التكاليف: يتطلّب ذلك اتّخاذ إجراء مدروس وقابل للتدقيق لبدء استخدام خدمة قد تكون مكلفة. يمنع ذلك الاستخدام غير المقصود ويساعد المؤسسات في التحكّم في الأدوات التي تستخدمها فِرقها.
- البساطة: تحافظ على نظافة بيئة مشروعك. لن تكون أذوناتك ولوحات البيانات مليئة بخيارات الخدمات التي لا تنوي استخدامها.
التطبيق العملي: تهيئة البيئة
2. تأمين تطبيقك: مَن (أو ما) يمكنه التحكّم في تطبيقك؟
مقدمة مفاهيمية
تطبيقاتنا متاحة على الإنترنت، وهذا إنجاز رائع. ولكن هذا يطرح سؤالاً مهمًا: كيف سُمح بحدوث أيّ من هذه الأمور؟ عند نشر الرمز، تمّت سلسلة من "عمليات المصافحة" الآمنة المستندة إلى الأذونات في الخلفية. ويعدّ فهم هذه المفاهيم أساسيًا لأمان السحابة الإلكترونية.
تتم إدارة كل ذلك من خلال إدارة الهوية وإمكانية الوصول (IAM).
- الصيغة الأساسية لإدارة الهوية وإمكانية الوصول تعمل إدارة الهوية وإمكانية الوصول على مبدأ بسيط ولكن فعّال: مَن يمكنه تنفيذ إجراء على أي مورد.
- نوعا "المستخدم" (الجهات الرئيسية) لقد رأينا حتى الآن في ورشة العمل نوعين أساسيين من الهويات:
- المستخدمون: هذا هو أنت. هوية مرتبطة بشخص، مثل حسابك الشخصي على Gmail
- حسابات الخدمة: هي هويات خاصة غير بشرية لتطبيقاتك وخدماتك. يمكنك اعتبارها بطاقة تعريف لرمزك. عندما تحتاج إحدى خدمات Google Cloud (مثل Cloud Build) إلى التفاعل مع خدمة أخرى (مثل Artifact Registry لحفظ حاوية)، تستخدم حساب الخدمة لإثبات أنّ لديها الإذن بذلك.
عند نشر أي تطبيق، تم استخدام كلا نوعَي الهويات:
- كان حساب المستخدم لديه الإذن ببدء عملية النشر.
- كان حساب الخدمة لخدمة Cloud Build لديه إذن بإنشاء الرمز البرمجي وحفظ الحاوية الناتجة.
إدارة أذونات الوصول
لنستخدِم وحدة تحكّم "إدارة الهوية وإمكانية الوصول" للتحقيق في الأذونات التي أتاحت عملية النشر، ثم نمنح مستخدمًا آخر إذن وصول محدّدًا.
- التحقيق: الانتقال إلى وحدة تحكّم إدارة الهوية وإمكانية الوصول
- العثور على هويتك (المستخدم)
- في قائمة "الجهات الرئيسية"، ابحث عن عنوان بريدك الإلكتروني. لاحظ أنّ الدور هو "المالك". يمنح دور "المالك" إذنًا كاملاً وغير مقيّد لتنفيذ أي إجراء في المشروع. لهذا السبب تم منحك الإذن بتفعيل واجهات برمجة التطبيقات وتنفيذ الأمر
gcloud run deploy.
- في قائمة "الجهات الرئيسية"، ابحث عن عنوان بريدك الإلكتروني. لاحظ أنّ الدور هو "المالك". يمنح دور "المالك" إذنًا كاملاً وغير مقيّد لتنفيذ أي إجراء في المشروع. لهذا السبب تم منحك الإذن بتفعيل واجهات برمجة التطبيقات وتنفيذ الأمر
- العثور على هوية الخدمة (حساب الخدمة)
- ابحث الآن عن جهة مسؤولة تحمل اسمًا مثل
[PROJECT_NUMBER]-compute@developer.gserviceaccount.com. هذا هو حساب الخدمة التلقائي الذي تستخدمه خدمة Cloud Build. - اطّلِع على دوره. سيكون له دور مثل "وكيل خدمة Cloud Build". يحتوي هذا الدور على الأذونات المحدّدة اللازمة لتنفيذ مهامه، مثل استرداد رمز المصدر وكتابة صور الحاويات في سجلّ. هذه هي الهوية التي تولّت المهام الصعبة في عملية النشر.

- ابحث الآن عن جهة مسؤولة تحمل اسمًا مثل
- إدارة أذونات الوصول (المهمة العملية)
- لننفّذ الآن مهمة أمان ذات صلة. لنفترض أنّ زميلاً جديدًا يحتاج إلى مراقبة الأداء والتحقّق من السجلات للتطبيقَين اللذين تم نشرهما للتو (
fact-app-manualوfact-app-cli)، ولكن لأسباب أمنية، يجب ألا يتمكّن من نشر إصدار جديد أو حذفهما. - في أعلى صفحة "إدارة الهوية وإمكانية الوصول"، انقر على + منح إذن الوصول.
- في حقل الأعضاء الجدد، أدخِل عنوان بريد إلكتروني وهميًا، مثل
dev-intern@example.com. - في القائمة المنسدلة اختيار دور، استخدِم الفلتر للعثور على الدور "مستعرض Cloud Run" واختياره. هذا الدور هو مثال مثالي على مبدأ الحدّ الأدنى من الامتيازات. يمنح هذا الدور إذنًا بالقراءة فقط لخدمات Cloud Run ولا يمنح أي أذونات أخرى. (أو جرِّب استخدام ساعدني في اختيار الأدوار)
- انقر على حفظ.

- لننفّذ الآن مهمة أمان ذات صلة. لنفترض أنّ زميلاً جديدًا يحتاج إلى مراقبة الأداء والتحقّق من السجلات للتطبيقَين اللذين تم نشرهما للتو (
- مراجعة النتيجة
- لقد أضفت الآن مستخدمًا جديدًا بنجاح ومنحته دورًا دقيقًا بأقل امتيازات ممكنة ومرتبطًا بشكل مباشر بالموارد التي أنشأتها في ورشة العمل هذه. يمكنهم الاطّلاع على تطبيقات الحقائق الخاصة بك، ولكن لا يمكنهم تغييرها. لقد رأيت كيف تعمل حسابات المستخدمين وحسابات الخدمة معًا لإنشاء بيئة سحابة إلكترونية آمنة وقابلة للتدقيق.
والآن، لنمارس منح الإذن ليس لشخص، بل لتطبيق أو خدمة أخرى. لنفترض أنّ هناك أداة خارجية مبرمَجة، يمثّلها حساب الخدمة vertex-express@...، يجب أن تكون قادرة على استخدام خدمات الذكاء الاصطناعي ضمن مشروعنا. علينا منحها الدور الصحيح.
- الانتقال إلى صفحة "حسابات الخدمة":
- في صفحة "إدارة الهوية وإمكانية الوصول"، انتقِل إلى حسابات الخدمة.
- تحديد موقع حساب الخدمة المستهدَف:
- في قائمة حسابات الخدمة، ابحث عن الحساب الذي يحمل الاسم
vertex-express@ecstatic-acumen-{PROJECT_NUMBER}-c9.iam.gserviceaccount.com. (عليك استبدال{PROJECT_NUMBER}برقم مشروعك الفعلي). هذه هي الهوية التي نريد منح الأذونات لها.
- في قائمة حسابات الخدمة، ابحث عن الحساب الذي يحمل الاسم
- إدارة أذونات حساب الخدمة:
- في عمود الإجراء على اليسار، انقر على النقاط الثلاث، وستظهر لك قائمة منسدلة.
- لإدارة الإجراءات التي يمكن لحساب الخدمة هذا تنفيذها، انقر على إدارة الأذونات.
- منح دور "مستخدم Vertex AI":
- في القائمة المنسدلة إسناد الأدوار، استخدِم الفلتر للعثور على الدور "مستخدم Vertex AI" واختياره.
- انقر على حفظ.

لقد انتقلت الآن بنجاح من صفحة حساب الخدمة المحدّدة إلى صفحة أذونات المشروع الصحيحة ومنحتها الإذن باستخدام إمكانات الذكاء الاصطناعي في مشروعك.
3- إنشاء رمز برمجي باستخدام مساعد مستنِد إلى الذكاء الاصطناعي
مقدمة مفاهيمية
يبدأ كل تطبيق برمز برمجي. عادةً ما يكون هذا الجزء هو الأكثر استهلاكًا للوقت. واليوم، سنتعاون مع شريك في مجال الذكاء الاصطناعي، وهو Gemini، لتسريع هذه العملية. ولكن قبل كتابة الأمر الأول، من المهم فهم مجموعة أدوات الذكاء الاصطناعي التي يقدّمها Google Cloud.
يمكن تصنيف عروض الذكاء الاصطناعي من Google إلى ثلاث فئات رئيسية، من الأبسط إلى الأكثر تطورًا:
يمكنك التفاعل مع "محرك تصميم الإعلانات" (Gemini) من خلال واجهتَين أساسيتَين، كلّ منهما مصمّمة لغرض مختلف.
- Google AI Studio (
aistudio.google.com)- الميزات: أداة مجانية مستندة إلى الويب تتيح إنشاء نماذج أوّلية وتجربة Gemini بسرعة. إنّها الطريقة الأسرع لبدء كتابة الطلبات والاطّلاع على إمكانات النماذج.
- طريقة العمل: يمكنك البدء في استخدامه من خلال حسابك على Google فقط. لاستخدامها في تطبيق، عليك إنشاء مفتاح لواجهة برمجة التطبيقات. لاستخدامها في ورشة العمل هذه، عليك تفعيل خدمة "Generative Language API" في مشروعك.
- تشبيه: يمكن تشبيه AI Studio بالمكتبة العامة أو ورشة العمل المفتوحة. يمكنك الدخول إلى أيّ من هذه المراكز والبدء في تجربة الأدوات مجانًا.
- Vertex AI
- الميزة: هذه هي منصة Google Cloud الشاملة لإدارة دورة حياة تعلُّم الآلة بالكامل. إنّها بيئة عمل احترافية متكاملة يمكنك فيها استخدام النماذج الأساسية، مثل Gemini، بالإضافة إلى إنشاء نماذج تعلُّم الآلة المخصّصة وتدريبها ونشرها من البداية. تم تصميمها لتوفير الأمان وقابلية التوسّع والإدارة على مستوى المؤسسة. وتوفّر أيضًا إصدارًا على مستوى المؤسسة من الأدوات نفسها، وهو مدمج بالكامل في مشروعك على Google Cloud.
- طريقة العمل: تستخدم هذه الخدمة النماذج الفعّالة نفسها، ولكنها تستفيد من جميع ميزات الأمان والتحكّم في الوصول (إدارة الهوية وإمكانية الوصول) وإدارة البيانات في مشروعك. هذه هي الخدمة التي فعّلناها في الجزء 1 من خلال تفعيل واجهة برمجة التطبيقات
aiplatform.googleapis.com. - تشبيه: منصة Vertex AI هي مختبر خاص وآمن لأبحاث وتطوير الشركات. يتم تسجيل كل ما تفعله وتأمينه وربطه بموارد مشروعك الأخرى.
تجربة عملية: إنشاء رمز برمجي للتطبيق في Vertex AI Studio
لنرى ما سيحدث عند إنشاء تطبيقنا باستخدام الأدوات المرئية داخل Vertex AI.
- الانتقال إلى Vertex AI Studio:
- إنشاء الموقع الإلكتروني:
- في مربّع الطلب، أدخِل الطلب نفسه الذي سنستخدمه لاحقًا:
Create the code for a simple web application that shows Halloween fun facts. The application should be built using the Python functions_framework for Cloud Run. The entry point function must be named 'hello_http'. When a user visits the main page, the server should randomly display one fact from a list. The page should have a separate 'index.html' file for the structure and a 'style.css' file to give it a spooky theme
- اضغط على Enter. سينشئ النموذج الرمز البرمجي، ومن المحتمل أن يكون في ثلاث مجموعات مختلفة: واحدة لـ Python (
main.py)، وواحدة لـ HTML (index.html)، وواحدة لـ CSS (style.css).
يُرجى إبقاء علامة تبويب المتصفّح هذه مفتوحة. عليك نسخ الرمز من هذه الأقسام الثلاثة في القسم التالي. لاحظ كيف فصل الذكاء الاصطناعي الملفات بشكل صحيح. هذه ممارسة جيدة، ولكن كما سنرى، تتطلّب عدة خطوات يدوية لتنفيذها.
4. نشر التطبيقات في جميع أنحاء العالم باستخدام Cloud Run
مقدمة مفاهيمية
تم إنشاء الرمز، ولكنّه مجرّد نص في المتصفّح. ولتقديم الخدمات للعملاء، يجب تشغيلها على خادم. Cloud Run هي منصة "بدون خادم"، ما يعني أنّنا نوفّر الرمز البرمجي، وتتولّى Google كل ما عدا ذلك، أي الخوادم والتوسيع والأمان. وأهم ميزة فيه هي التوسّع إلى الصفر، أي أنّه إذا لم يزر أحد تطبيقك، لن تدفع أي رسوم مقابل وقت عدم النشاط.
- ما هي "الحوسبة بلا خادم"؟ في السابق، كان نشر تطبيق يعني استئجار خادم (جهاز افتراضي) وتثبيت نظام تشغيل وإعداد الشبكات والأمان وصيانته باستمرار. الحوسبة بدون خادم هي أسلوب حديث للحوسبة السحابية يركّز فيه المطوّر على التعليمات البرمجية فقط. ما عليك سوى تسليم الرمز إلى خدمة مثل Cloud Run، وهي تتولّى كل ما تبقى، أي الخوادم والتوسيع والأمان والشبكات.
- طريقة عمل Cloud Run: سحر التوسيع عند النشر على Cloud Run، يتم تجميع الرمز البرمجي في حاوية (حزمة موحّدة وقابلة للنقل من تطبيقك وجميع العناصر التابعة له). عندما يزور مستخدم عنوان URL الخاص بتطبيقك، يبدأ Cloud Run حاويتك على الفور للتعامل مع الطلب. إذا زار ألف مستخدم الموقع الإلكتروني في الوقت نفسه، سيبدأ تلقائيًا ألف نسخة. الميزة الأقوى هي التوسّع إلى صفر. عندما لا يزور أي مستخدم تطبيقك، يقلّل Cloud Run عدد الحاويات النشطة إلى صفر. وهذا يعني أنّك لن تدفع أيّ تكلفة مقابل وقت الخمول، ما يجعلها فعّالة من حيث التكلفة بشكلٍ لا يُصدّق.
بالنسبة إلى عملية النشر الأولى، سنستخدم المحرّر المضمّن في وحدة تحكّم Cloud Run، وسننسخ الرمز يدويًا إلى المكان المناسب.
تجربة عملية: نشر تطبيقك
- ابدأ معالج إنشاء Cloud Run باتّباع الخطوات التالية:
- ضبط الخدمة:
- اختَر استخدام محرّر مضمّن لإنشاء دالة.
- أدخِل اسمًا لخدمتك:
fact-app-manual. - اختَر وقت التشغيل
Python 3.13. - اختَر منطقة
us-central1. - انقر على السماح بالوصول العام.
- اترك جميع الإعدادات الأخرى على الإعدادات التلقائية.
- انقر على الزر إنشاء (CREATE) في أسفل الصفحة.

- إدخال الرمز:
- سيظهر لك محرّر يحتوي على ملف
main.pyوملفrequirements.txtتلقائيَين. - main.py: انتقِل إلى علامة التبويب Vertex AI Studio. انسخ مجموعة رموز Python بالكامل. ارجع إلى أداة تعديل Cloud Run واستبدِل المحتوى التلقائي
main.pyبالرمز الذي نسخته للتو. - requirements.txt:* انقر على الملف
requirements.txtفي المحرّر. يجب أن يتضمّن رمز Pythonfunctions-framework. استبدِل محتوى الملف بما يلي:functions-framework - index.html: في مستكشف الملفات الخاص بالمحرّر، انقر على "+" لإضافة الملف الجديد. اكتب اسمًا للملف
index.html. انتقِل إلى علامة التبويب Vertex AI Studio، وانسخ كتلة رمز HTML والصِقها في ملفindex.htmlالجديد هذا. - style.css: انقر على "+" لإضافة الملف الجديد. أطلِق عليه اسم
style.css. انتقِل إلى علامة التبويب Vertex AI Studio، وانسخ كتلة رمز CSS، ثم الصِقها في ملفstyle.cssالجديد هذا.
- سيظهر لك محرّر يحتوي على ملف
- نشر الخدمة:
- بعد وضع الملفات الثلاثة بشكل صحيح، انقر على الزر حفظ ونشر .
- الوصول إلى تطبيق البث المباشر:
- ستستغرق عملية النشر بضع دقائق. عند الانتهاء، ستظهر صفحة تفاصيل الخدمة مع عنوان URL متاح للجميع في أعلى الصفحة.
- انقر على عنوان URL هذا. أصبح تطبيقك متاحًا الآن. هذه الطريقة فعّالة، ولكنّها تتطلّب الكثير من عمليات النسخ واللصق اليدوية.

5- تحسين سير العمل لدى المطوّر
وحدة التحكّم رائعة للتعلم، ولكنّها بطيئة في التطوير التكراري. سنرى الآن سير العمل المفضّل لدى المطوّر، باستخدام Cloud Shell وGemini CLI لتحويل هذه العملية الكاملة المتعدّدة الخطوات إلى محادثة مبسطة. 
ما هو Cloud Shell وGemini CLI؟
Cloud Shell هو كمبيوتر Linux كامل في متصفّحك، ويتم تحميله مسبقًا بأدوات المطوّرين، مثل gcloud CLI (جهاز التحكّم عن بُعد في Google Cloud).
Gemini CLI هو مساعد تفاعلي للترميز مستنِد إلى الذكاء الاصطناعي ومتاح في نافذة الأوامر.
ما هي إضافات Gemini؟
يمكنك اعتبار Gemini CLI بمثابة هاتف ذكي قوي. وهو بحد ذاته يتمتّع بقدرات عالية. الإضافات هي مثل التطبيقات التي تثبّتها من متجر تطبيقات. تمنح هذه الأدوات واجهة سطر الأوامر في Gemini قدرات جديدة ومتخصّصة لا تتوفّر فيها تلقائيًا. على سبيل المثال، الإضافة nanobanana هي "تطبيق" يربط واجهة سطر الأوامر في Gemini بنماذج إنشاء الصور الفعّالة من Google، ما يتيح لنا إنشاء الصور مباشرةً من سطر الأوامر.
تجربة عملية: سير العمل المبسّط
- إنشاء مفتاح واجهة برمجة تطبيقات
- تفعيل Cloud Shell وضبطه:
- في أعلى "وحدة تحكّم Google Cloud"، انقر على رمز تفعيل Cloud Shell (
>_).
- نفِّذ الأوامر التالية في الوحدة الطرفية لإعداد بيئتك، مع الحرص على استبدالها بمعرّف مشروعك.
اضبط NANOBANANA_GOOGLE_API_KEY. استبدِلها بمفتاح واجهة برمجة التطبيقات. (قُل# Set your Project ID export PROJECT_ID="[your-project-id-goes-here]"Yلمواصلة التثبيت). في الوحدة الطرفية، شغِّل الأمر التالي لتثبيت الإضافة:gcloud config set project $PROJECT_ID # REPLACE with your API Key. export NANOBANANA_GOOGLE_API_KEY="[your-api-key-goes-here]"# Configure the CLI to use your project with Vertex AI export GOOGLE_CLOUD_PROJECT=$PROJECT_ID export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=true # Install the image generation extension gemini extensions install https://github.com/gemini-cli-extensions/nanobanana
- في أعلى "وحدة تحكّم Google Cloud"، انقر على رمز تفعيل Cloud Shell (
- سنستخدم Gemini CLI، وهي واجهة سطر أوامر فعّالة تعمل كمساعد ترميز مستند إلى الذكاء الاصطناعي. تتيح لنا وصف الرمز الذي نريده باللغة الإنجليزية البسيطة، وستنشئ البنية لنا، ما يؤدي إلى تسريع عملية التطوير بشكل كبير.
- بدء جلسة تفاعلية مع الذكاء الاصطناعي:
- لننشئ دليلًا جديدًا لمشروعنا ونبدأ واجهة سطر الأوامر Gemini في وضعها التفاعلي. نفِّذ الأمر التالي في الوحدة الطرفية.
mkdir ~/2025-website cd ~/2025-website cat <<EOF > .env GOOGLE_CLOUD_PROJECT=$PROJECT_ID GOOGLE_CLOUD_LOCATION=$GOOGLE_CLOUD_LOCATION GOOGLE_GENAI_USE_VERTEXAI=true NANOBANANA_GOOGLE_API_KEY=$NANOBANANA_GOOGLE_API_KEY EOF clear gemini --yolo
- لننشئ دليلًا جديدًا لمشروعنا ونبدأ واجهة سطر الأوامر Gemini في وضعها التفاعلي. نفِّذ الأمر التالي في الوحدة الطرفية.
- إنشاء تطبيقك وتكرار عملية إنشائه:
- أنت الآن في جلسة محادثة مع مساعدك المستند إلى الذكاء الاصطناعي. ألصِق الطلب التالي لإنشاء الموقع الإلكتروني بالكامل باستخدام أمر واحد:
Write a simple web app that shows Halloween fun facts using the Python Flask. When a user visits the main page, it should show one random fact. Include a button that fetches and displays a new fact when clicked. Create a simple, clean index.html, a separate style.css with a spooky theme, and a requirements.txt file. After creating the files, attempt to start the web app locally on port 8080. - الاختبار محليًا: ستنشئ الذكاء الاصطناعي الملفات وتبدأ خادم ويب. (في بعض الأحيان، لا يتوقف التحميل. إذا رأيت أنّه يحاول بدء تشغيل الخادم، يمكنك الانتقال إلى الخطوة التالية. )
- انقر على رمز معاينة الويب في شريط أدوات Cloud Shell، ثم انقر على المعاينة على المنفذ 8080، وسيظهر موقعك الإلكتروني في علامة تبويب جديدة.

- في Gemini CLI، اضغط على
Escلإلغاء الطلب أو اطلب من Gemini CLI تنفيذStop the web server.
- أنت الآن في جلسة محادثة مع مساعدك المستند إلى الذكاء الاصطناعي. ألصِق الطلب التالي لإنشاء الموقع الإلكتروني بالكامل باستخدام أمر واحد:
- تعديل الموقع الإلكتروني باستخدام صور من إنشاء الذكاء الاصطناعي:
- لنستخدم الإضافة الآن. الأمر الذي يبدأ بـ
/هو "أمر شرطي" موجّه إلى أداة، وليس طلبًا موجّهًا إلى الذكاء الاصطناعي./generate 3 images of spooky halloween fun - ستنشئ الإضافة ثلاث صور. الآن، لنطلب من الذكاء الاصطناعي تعديل الموقع الإلكتروني لاستخدامها.
Update the website so it will display and rotate between the 3 newly generated images each time the button is clicked. And do NOT start the server.
- لنستخدم الإضافة الآن. الأمر الذي يبدأ بـ
- الاستعداد للنشر:
- تنشر Cloud Run الرموز باستخدام الحاويات.
Dockerfileهي وصفة لإنشاء حاوية. لنطلب من الذكاء الاصطناعي إنشاء فيديو لنا.Create a Dockerfile suitable for deploying this Python Flask app to Cloud Run.
- تنشر Cloud Run الرموز باستخدام الحاويات.
- النشر باستخدام أمر واحد:
- اخرج من Gemini CLI بالضغط على
CtrlCمرتين. أو اكتب/quitفي الطلب - الآن، استخدِم واجهة سطر الأوامر
gcloudلنشر التطبيق بأكمله من الدليل الحالي.gcloud run deploy fact-app-cli \ --source . \ --region us-central1 \ --allow-unauthenticated
- اخرج من Gemini CLI بالضغط على
- الاطّلاع على الفرق:
- بعد بضع دقائق، ستحصل على عنوان URL جديد لموقعك الإلكتروني الذي تم إنشاؤه بالكامل باستخدام الذكاء الاصطناعي ويتضمّن جميع الميزات. انتقِل إلى وحدة تحكّم Cloud Run، وستظهر لك كلتا الخدمتين:
fact-app-manualوfact-app-cli. لقد جرّبت للتو سرعة وفعالية سير عمل المطوّرين باستخدام سطر الأوامر.
- بعد بضع دقائق، ستحصل على عنوان URL جديد لموقعك الإلكتروني الذي تم إنشاؤه بالكامل باستخدام الذكاء الاصطناعي ويتضمّن جميع الميزات. انتقِل إلى وحدة تحكّم Cloud Run، وستظهر لك كلتا الخدمتين:
تهانينا
لقد أكملت دورة حياة التطوير بأكملها على Google Cloud بنجاح. بدأت بمشروع فارغ وأصبح لديك الآن:
- تم إعداد مشروع آمن مع تفعيل الفوترة.
- استخدام مساعد مستنِد إلى الذكاء الاصطناعي لكتابة طلب كامل
- نشر هذا التطبيق على منصة قابلة للتوسّع وبدون خادم
- تعرّفت على كيفية إدارة أمانها باستخدام "إدارة الهوية وإمكانية الوصول".
أصبحت لديك الآن المهارات الأساسية لإنشاء تطبيقات أكثر تعقيدًا وفعالية على Google Cloud.

