۱. طرح اولیه، پایه و اساس را بنا نهادن
قبل از اینکه بتوانیم خانه خود را بسازیم، باید زمین را ایمن کنیم، راهی برای پرداخت هزینه مصالح ایجاد کنیم و جعبه ابزار خود را باز کنیم. در فضای ابری، این مفاهیم به پروژهها و صورتحسابها تبدیل میشوند.
پروژه ابری گوگل چیست؟
گوگل کلود را به عنوان یک انبار دیجیتال عظیم پر از ابزارها و سرویسهای قدرتمند در نظر بگیرید. یک پروژه ، گوشه خصوصی و امن شما از آن انبار است. این یک محفظه است که تمام منابع شما (مانند سرورها، پایگاههای داده و کد) را در خود جای میدهد، تمام هزینههای شما را پیگیری میکند و مدیریت میکند که چه کسی مجاز به ورود و استفاده از ابزارهای درون آن است. هر اقدامی که امروز انجام میدهیم، در داخل مرز این پروژه اتفاق خواهد افتاد.

اگرچه تمرکز امروز ما بر روی یک پروژه است، اما درک جایگاه آن در ساختار بزرگتری که شرکتها استفاده میکنند مفید است. گوگل کلود همه چیز را در یک سلسله مراتب واضح و از بالا به پایین سازماندهی میکند.
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، معمولاً بدون یک گره سازمانی فعالیت میکنید که برای یادگیری کاملاً مناسب است.
- این دفتر مرکزی کل شرکت است (مثلاً
- پوشهها:
- اینها بخشها یا دپارتمانهای درون شرکت هستند (مثلاً مهندسی، مالی). آنها یک لایه اختیاری هستند که برای گروهبندی پروژهها و اعمال سیاستها به کل تیمها به طور همزمان استفاده میشوند. ما در این کارگاه از پوشهها استفاده نخواهیم کرد.
- پروژهها (تمرکز ما):
- این کارگاه یا آزمایشگاه یک تیم خاص است. اینجا جایی است که کار واقعی اتفاق میافتد و حیاتیترین سطح برای کارگاه ماست. تمام منابعی که ایجاد میکنید باید درون یک پروژه باشند. یک پروژه همچنین سطحی است که در آن APIها (سرویسها) را فعال میکنید و یک حساب صورتحساب را پیوند میدهید.
- منابع:
- اینها ابزارها و ماشینهای مجزای داخل کارگاه هستند. برنامه Cloud Run که ما مستقر خواهیم کرد یک منبع است. یک ماشین مجازی، یک پایگاه داده یا یک مخزن ذخیرهسازی، همگی نمونههایی از منابع هستند.
عملی: ایجاد و پیکربندی پروژه
- اعتبار خود را مطالبه کنید
goo.gle/devfest-boston-ai/. و شرایط خدمات پلتفرم ابری گوگل را بپذیرید. پس از اعمال، پیامی را مشاهده خواهید کرد که نشان میدهد اعتبار اعمال شده است.
- به بروید.
- در نوار پیمایش بالا، روی «انتخاب یک پروژه» و سپس «پروژه جدید» کلیک کنید.

- برای پروژه خود یک نام منحصر به فرد (مثلاً
idea-to-launch-yourname) انتخاب کنید و روی ایجاد (Create) کلیک کنید. گزینه "بدون سازمان" (No Organization) را انتخاب کنید.
- مطمئن شوید که پروژه جدید شما از منوی کشویی بالای صفحه انتخاب شده است.
چرا صورتحساب اینقدر مهم است؟
حساب صورتحساب، ستون فقرات مالی پروژه شماست؛ این «کارت اعتباری موجود در پرونده» است که هزینه منابعی را که استفاده میکنید، پرداخت میکند. برای این کارگاه، شما از نسخه آزمایشی رایگان Google Cloud استفاده میکنید که اعتبار رایگان در اختیار شما قرار میدهد. این یک محیط امن و ایمن است. پس از استفاده از اعتبار یا پایان دوره آزمایشی، مگر اینکه حساب خود را به صورت دستی ارتقا دهید ، به طور خودکار از شما هزینه کسر نمیشود . درک صورتحساب اولین قدم برای کنترل هزینهها است. بهترین شیوهها مانند تنظیم بودجه و هشدارها به شما این امکان را میدهد که در صورت نزدیک شدن هزینههایتان به یک حد مشخص، اعلانهای ایمیلی دریافت کنید و از هرگونه غافلگیری جلوگیری کنید.
عملی: حساب صورتحساب خود را پیوند دهید
- به بروید.
- روی پیوند دادن یک حساب صورتحساب کلیک کنید.

- از منوی کشویی، حساب پرداخت آزمایشی پلتفرم ابری گوگل (Google Cloud Platform Trial Billing Account) را انتخاب کنید و روی تنظیم حساب (Set account) کلیک کنید. (اگر منوی کشویی را نمیبینید، یک دقیقه صبر کنید تا اعتبار اعمال شود و صفحه را دوباره بارگیری کنید.)
عملی: تنظیم هشدار بودجه (بهترین روش)
حالا که صورتحساب شما فعال شده است، بیایید یک روش مهم و کاربردی برای کنترل هزینهها انجام دهیم: تعیین بودجه. این کار باعث نمیشود که وقتی به مبلغ مورد نظر رسیدید، خدمات شما متوقف شود؛ در عوض، ایمیلهایی برای شما ارسال میشود تا همیشه از هزینههای خود مطلع باشید.
- در منوی سمت چپ صفحه صورتحساب، روی «بودجهها و هشدارها» کلیک کنید.
- در بالای صفحه، روی + ایجاد بودجه کلیک کنید.

- بودجه خود را نامگذاری کنید: یک نام ساده مانند
Workshop-Alertبه آن بدهید. - محدوده: تنظیمات پیشفرض را که باید پروژه فعلی شما را انتخاب کنند، رها کنید. روی بعدی کلیک کنید.

- مبلغ: در بخش «مبلغ بودجه»، برای «نوع مبلغ» ، مبلغ مشخصشده را انتخاب کنید. یک مبلغ کم، مثلاً
10، وارد کنید. این یعنی بودجه ما ۱۰ دلار است. روی بعدی کلیک کنید.
- اقدامات: اینجا جایی است که هشدارها را تنظیم میکنید. به طور پیشفرض، وقتی هزینههای شما از ۵۰٪، ۹۰٪ و ۱۰۰٪ از مبلغ بودجهتان (۵، ۹ و ۱۰ دلار) بیشتر شود، هشدارهایی تنظیم میشود.
- در قسمت «اعلانهای ایمیل»، مطمئن شوید که گزینهی «هشدارهای ایمیل به مدیران و کاربران صورتحساب» تیک خورده است. این کار اعلانها را به آدرس ایمیل مرتبط با حساب شما ارسال میکند.
- روی پایان کلیک کنید.

اکنون شما یک ابزار مدیریت هزینه پیشگیرانه راهاندازی کردهاید. در یک پروژه واقعی، این یکی از مهمترین گامهای اولیه برای اطمینان از عدم وجود غافلگیریهای مالی است.
سرویسها چیستند و چرا آنها را فعال میکنیم؟
حالا که مرکز فرماندهی خود را در آزمایشگاه خصوصیتان راهاندازی کردهاید، بیایید در مورد تجهیزات سنگین موجود برای شما صحبت کنیم. گوگل کلود بیش از ۲۰۰ محصول متمایز، از پایگاههای داده گرفته تا مدلهای هوش مصنوعی، ارائه میدهد. هر یک از اینها یک سرویس نامیده میشوند. کلود ران را به عنوان «سرویس حمل و نقل و لجستیک خودکار» و جمینی را به عنوان «سرویس اختراع و نمونهسازی هوش مصنوعی» در نظر بگیرید. برای استفاده از هر یک از این سرویسهای قدرتمند، ابتدا باید API (رابط برنامهنویسی کاربردی) مربوط به آن را برای پروژه خود فعال کنید.

بیایید با تشبیه انبار و آزمایشگاه ادامه دهیم. تصور کنید پروژه گوگل کلود شما کارگاه اختصاصی شما در داخل انبار عظیم است. این کارگاه مجهز به ایستگاههای کاری پیشرفته مختلفی است: یک ایستگاه برای تجزیه و تحلیل هوش مصنوعی، یک ایستگاه برای استقرار جهانی، یک ایستگاه برای ذخیره دادهها و غیره. برای ایمنی و کارایی، مجرای اصلی برق به هر یک از این ایستگاههای کاری تخصصی به طور پیشفرض خاموش است.
فعال کردن یک API به این صورت است که به یک ایستگاه کاری خاص در آزمایشگاه خود - مانند "ایستگاه نمونهسازی هوش مصنوعی" - بروید و کلید برق اصلی آن را در موقعیت "روشن" قرار دهید.
اما چرا همه چیز به طور پیشفرض خاموش است؟ این یک انتخاب طراحی عمدی به چند دلیل مهم است:
- امنیت: این اصل، اصل حداقل امتیاز را در سطح پروژه اجرا میکند. اگر از یک سرویس استفاده نمیکنید، اتصالات آن به پروژه شما غیرفعال است و «سطح حمله» بالقوه را کاهش میدهد.
- مدیریت و کنترل هزینه: شروع استفاده از یک سرویس بالقوه پرهزینه نیازمند یک اقدام آگاهانه و قابل حسابرسی است. این امر از استفاده تصادفی جلوگیری میکند و به سازمانها کمک میکند تا ابزارهایی را که تیمهایشان استفاده میکنند، کنترل کنند.
- سادگی: محیط پروژه شما را تمیز نگه میدارد. مجوزها و داشبوردهای شما با گزینههایی برای سرویسهایی که قصد استفاده از آنها را ندارید، شلوغ نمیشوند.
عملی: محیط خود را مقداردهی اولیه کنید
۲. ایمنسازی برنامه شما: چه کسی (یا چه چیزی) میتواند برنامه شما را کنترل کند؟
مقدمه مفهومی
برنامههای ما روی اینترنت فعال هستند که دستاورد فوقالعادهای است. اما این یک سوال اساسی را مطرح میکند: چطور به هر یک از این موارد اجازه داده شده است؟ وقتی کد خود را مستقر میکنید، مجموعهای از «دست دادن»های امن و مبتنی بر اجازه در پشت صحنه اتفاق میافتد. درک این موارد، کلید امنیت ابری است.
همه اینها توسط مدیریت هویت و دسترسی (IAM) مدیریت میشود.
- فرمول اصلی IAM IAM بر اساس یک اصل ساده اما قدرتمند عمل میکند: چه کسی میتواند چه کاری را روی کدام منبع انجام دهد؟
- دو نوع «چه کسی» (مدیران) در کارگاه ما تاکنون، دو نوع اساسی هویت را بررسی کردهایم:
- کاربران: این شما هستید! هویتی که به یک انسان گره خورده است، مانند حساب جیمیل شخصی شما.
- حسابهای سرویس: اینها هویتهای خاص و غیرانسانی برای برنامهها و سرویسهای شما هستند. آنها را به عنوان یک نشان شناسایی برای کد خود در نظر بگیرید. وقتی یک سرویس Google Cloud (مانند Cloud Build) نیاز به تعامل با سرویس دیگری (مانند Artifact Registry برای ذخیره یک کانتینر) دارد، از حساب سرویس خود برای اثبات مجوز خود استفاده میکند.
هنگام استقرار هر برنامهای، از هر دو نوع هویت استفاده شده است:
- حساب کاربری شما مجوز شروع استقرار را داشت.
- یک حساب کاربری برای سرویس Cloud Build مجوز ساخت کد شما و ذخیره کانتینر حاصل را داشت.
مدیریت دسترسی
بیایید از کنسول IAM برای بررسی مجوزهایی که استقرار ما را ممکن ساختهاند استفاده کنیم و سپس به کاربر دیگری دسترسی خاصی اعطا کنیم.
- بررسی: به کنسول IAM بروید
- هویت خود را پیدا کنید (کاربر)
- در لیست مدیران، آدرس ایمیل خود را پیدا کنید. توجه داشته باشید که نقش آن "مالک" است. نقش مالک، مجوز کامل و نامحدود برای انجام هر کاری در پروژه را اعطا میکند. به همین دلیل است که شما مجاز به فعال کردن APIها و اجرای دستور
gcloud run deployهستید.
- در لیست مدیران، آدرس ایمیل خود را پیدا کنید. توجه داشته باشید که نقش آن "مالک" است. نقش مالک، مجوز کامل و نامحدود برای انجام هر کاری در پروژه را اعطا میکند. به همین دلیل است که شما مجاز به فعال کردن APIها و اجرای دستور
- پیدا کردن هویت سرویس (حساب سرویس)
- حالا، به دنبال یک حساب اصلی با نامی مانند
[PROJECT_NUMBER]-compute@developer.gserviceaccount.comبگردید. این حساب، حساب پیشفرض سرویس مورد استفاده توسط سرویس Cloud Build است. - به نقش آن نگاه کنید. نقشی مانند "عامل سرویس ساخت ابری" خواهد داشت. این نقش شامل مجوزهای خاص مورد نیاز برای انجام کارش، مانند دریافت کد منبع و نوشتن تصاویر کانتینر در رجیستری است. این هویتی است که کارهای سنگین استقرار شما را انجام داده است.

- حالا، به دنبال یک حساب اصلی با نامی مانند
- مدیریت دسترسی (وظیفه عملی)
- حالا، بیایید یک کار امنیتی مرتبط انجام دهیم. تصور کنید یک همکار جدید باید بتواند عملکرد را رصد کند و گزارشهای مربوط به دو برنامهای که ما به تازگی مستقر کردهایم (
fact-app-manualوfact-app-cli) را بررسی کند، اما به دلایل امنیتی، او نباید بتواند نسخه جدیدی را مستقر کند یا آنها را حذف کند. - در بالای صفحه IAM، روی + اعطای دسترسی کلیک کنید.
- در فیلد «مدیران جدید» ، یک آدرس ایمیل فرضی، مانند
dev-intern@example.com، وارد کنید. - در منوی کشویی «انتخاب یک نقش» ، از فیلتر برای یافتن و انتخاب نقش «Cloud Run Viewer» استفاده کنید. این نقش نمونه کاملی از اصل حداقل امتیاز است. این نقش، دسترسی فقط خواندنی را بهطور خاص به سرویسهای Cloud Run اعطا میکند و نه بیشتر. (یا میتوانید از گزینه « به من کمک کنید نقشها را انتخاب کنم » استفاده کنید)
- روی ذخیره کلیک کنید.

- حالا، بیایید یک کار امنیتی مرتبط انجام دهیم. تصور کنید یک همکار جدید باید بتواند عملکرد را رصد کند و گزارشهای مربوط به دو برنامهای که ما به تازگی مستقر کردهایم (
- نتیجه را بررسی کنید
- اکنون با موفقیت یک کاربر جدید اضافه کردهاید و به او نقشی جزئی و با حداقل امتیاز دادهاید که مستقیماً با منابعی که در این کارگاه ایجاد کردهاید مرتبط است. آنها میتوانند دو fact-app شما را ببینند، اما نمیتوانند آنها را تغییر دهند. شما دیدهاید که چگونه حسابهای کاربری و حسابهای سرویس با هم کار میکنند تا یک محیط ابری امن و قابل حسابرسی ایجاد کنند.
حالا، بیایید تمرین کنیم که نه به یک شخص، بلکه به یک برنامه یا سرویس دیگر مجوز بدهیم. تصور کنید یک ابزار خودکار خارجی، که با حساب سرویس vertex-express@... نمایش داده میشود، باید بتواند از سرویسهای هوش مصنوعی در پروژه ما استفاده کند. ما باید نقش صحیح را به آن اعطا کنیم.
- به صفحه حسابهای سرویس بروید:
- همچنان در صفحه IAM هستید، به بخش حسابهای سرویس (Service Accounts) بروید.
- حساب سرویس هدف را پیدا کنید:
- در لیست حسابهای سرویس، حسابی با نام
vertex-express@ecstatic-acumen-{PROJECT_NUMBER}-c9.iam.gserviceaccount.comرا پیدا کنید. (شما باید{PROJECT_NUMBER}با شماره پروژه واقعی خود جایگزین کنید). این همان هویتی است که میخواهیم به آن مجوز بدهیم.
- در لیست حسابهای سرویس، حسابی با نام
- مدیریت مجوزهای حساب سرویس:
- در ستون «اقدامات» در سمت راست، روی نقطه سهگانه کلیک کنید، جایی که یک منوی کشویی مشاهده خواهید کرد.
- برای مدیریت کارهایی که این حساب سرویس میتواند انجام دهد، روی مدیریت مجوزها کلیک کنید.
- اعطای نقش "کاربر هوش مصنوعی ورتکس":
- در منوی کشویی «اختصاص نقشها» ، از فیلتر برای یافتن و انتخاب نقش «کاربر هوش مصنوعی ورتکس» استفاده کنید.
- روی ذخیره کلیک کنید.

اکنون با موفقیت از صفحه مخصوص حساب کاربری سرویس به صفحه مجوزهای سطح پروژه صحیح هدایت شدهاید و آن را مجاز به استفاده از قابلیتهای هوش مصنوعی در پروژه خود کردهاید.
۳. کدنویسی با دستیار هوش مصنوعی
مقدمه مفهومی
هر برنامهای با کد شروع میشود. به طور سنتی، این بخش، زمانبرترین بخش است. امروز، ما با یک شریک هوش مصنوعی، Gemini، برای تسریع این فرآیند همکاری خواهیم کرد. اما قبل از اینکه اولین دستور خود را بنویسیم، درک چشمانداز ابزارهای هوش مصنوعی ارائه شده توسط Google Cloud مهم است.
هوش مصنوعی گوگل را میتوان در سه دسته اصلی، از سادهترین تا قدرتمندترین، دستهبندی کرد:
شما میتوانید از طریق دو رابط اصلی که هر کدام برای هدف متفاوتی طراحی شدهاند، با «موتور خلاق» (Gemini) تعامل داشته باشید.
- Google AI Studio (
aistudio.google.com)- چیست؟: یک ابزار رایگان و مبتنی بر وب برای نمونهسازی سریع و آزمایش با Gemini. این سریعترین راه برای شروع نوشتن دستورالعملها و مشاهده قابلیتهای مدلها است.
- نحوه کار: شما میتوانید فقط با حساب گوگل خود از آن استفاده کنید. برای استفاده از آن در یک برنامه، یک کلید API ایجاد میکنید. برای استفاده از آن در این کارگاه، باید سرویس "Generative Language API" را در پروژه خود فعال کنید.
- قیاس: استودیوی هوش مصنوعی مانند کتابخانه عمومی یا کارگاه آزاد است. به راحتی میتوان وارد آن شد و به صورت رایگان با ابزارها شروع به آزمایش کرد.
- هوش مصنوعی ورتکس
- چیست؟ این پلتفرم جامع گوگل کلود برای مدیریت کل چرخه عمر یادگیری ماشین است. این یک میز کار حرفهای کامل است که در آن میتوانید از مدلهای پایه مانند Gemini استفاده کنید، اما همچنین مدلهای یادگیری ماشین سفارشی خود را از ابتدا بسازید، آموزش دهید و مستقر کنید. این پلتفرم برای امنیت، مقیاسپذیری و مدیریت در سطح سازمانی ساخته شده است. همچنین نسخهای در سطح سازمانی از همان ابزارها را ارائه میدهد که کاملاً در پروژه گوگل کلود شما ادغام شده است.
- نحوه کار: از همان مدلهای قدرتمند استفاده میکند اما تمام ویژگیهای امنیتی، کنترل دسترسی (IAM) و مدیریت دادهها را از پروژه شما به ارث میبرد. این سرویسی است که ما در بخش 1 با فعال کردن API
aiplatform.googleapis.comفعال کردیم. - قیاس: Vertex AI آزمایشگاه تحقیق و توسعه خصوصی، امن و شرکتی شماست. هر کاری که انجام میدهید ثبت، ایمن و به سایر منابع پروژه شما متصل میشود.
آموزش عملی: تولید کد برنامه در Vertex AI Studio
بیایید ببینیم وقتی برنامه خود را با استفاده از ابزارهای بصری درون Vertex AI میسازیم چه اتفاقی میافتد.
- به استودیوی هوش مصنوعی ورتکس بروید:
- تولید وبسایت:
- در کادر اعلان، دقیقاً همان درخواستی را که بعداً استفاده خواهیم کرد، وارد کنید:
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 را فشار دهید. مدل کد را تولید میکند، احتمالاً در سه بلوک مجزا: یکی برای پایتون (
main.py)، یکی برای HTML (index.html) و یکی برای CSS (style.css).
این تب مرورگر را باز نگه دارید! در بخش بعدی باید کد این سه بلوک را کپی کنید. توجه کنید که هوش مصنوعی چگونه فایلها را به درستی از هم جدا کرده است. این یک تمرین خوب است، اما همانطور که خواهیم دید، برای استقرار به چندین مرحله دستی نیاز دارد.
۴. استقرار در سراسر جهان با Cloud Run
مقدمه مفهومی
کد ما تولید شده است، اما فقط متنی در مرورگر است. برای ارائه خدمات به مشتریان، باید روی یک سرور اجرا شود. Cloud Run یک پلتفرم "بدون سرور" است، به این معنی که ما کد را ارائه میدهیم و گوگل همه چیز دیگر را مدیریت میکند: سرورها، مقیاسپذیری و امنیت. قدرتمندترین ویژگی آن مقیاسپذیری به صفر است - اگر کسی از برنامه شما بازدید نکند، شما هیچ هزینهای برای زمان بیکاری پرداخت نمیکنید.
- «بدون سرور» چیست؟ به طور سنتی، استقرار یک برنامه به معنای اجاره یک سرور (یک ماشین مجازی)، نصب یک سیستم عامل، پیکربندی شبکه و امنیت و نگهداری مداوم آن بود. بدون سرور یک رویکرد ابری مدرن است که در آن شما، به عنوان توسعهدهنده، فقط روی کد خود تمرکز میکنید. شما کد خود را به سرویسی مانند Cloud Run تحویل میدهید و این سرویس همه چیز دیگر را مدیریت میکند: سرورها، مقیاسپذیری، امنیت و شبکه.
- نحوه کار Cloud Run: جادوی مقیاسپذیری وقتی در Cloud Run مستقر میشوید، کد شما را در یک کانتینر (یک بسته استاندارد و قابل حمل از برنامه شما و تمام وابستگیهای آن) بستهبندی میکند. وقتی کاربری از URL برنامه شما بازدید میکند، Cloud Run فوراً کانتینر شما را برای رسیدگی به درخواست شروع میکند. اگر هزار کاربر به طور همزمان بازدید کنند، به طور خودکار هزار نسخه را شروع میکند. قدرتمندترین ویژگی، مقیاسپذیری به صفر است. وقتی کسی از برنامه شما بازدید نمیکند، Cloud Run تعداد کانتینرهای در حال اجرا را تا صفر کاهش میدهد. این بدان معناست که شما مطلقاً هیچ هزینهای برای زمان بیکاری پرداخت نمیکنید، که آن را فوقالعاده مقرون به صرفه میکند.
برای اولین استقرار، از ویرایشگر درونخطی کنسول Cloud Run استفاده خواهیم کرد و کد خود را به صورت دستی در جای خود کپی میکنیم.
عملی: استقرار برنامه شما
- جادوگر ایجاد Cloud Run را شروع کنید:
- پیکربندی سرویس:
- برای ایجاد یک تابع، از ویرایشگر درونخطی استفاده کنید .
- برای سرویس خود یک نام انتخاب کنید:
fact-app-manual. - یک نسخه Runtime از
Python 3.13انتخاب کنید. - یک منطقه را انتخاب کنید
us-central1. - گزینه «اجازه دسترسی عمومی» را انتخاب کنید.
- تمام تنظیمات دیگر را به صورت پیشفرض باقی بگذارید.
- روی دکمه CREATE در پایین کلیک کنید.

- کد خود را وارد کنید:
- یک ویرایشگر با فایل پیشفرض
main.pyوrequirements.txtمشاهده خواهید کرد. - main.py: به تب Vertex AI Studio خود بروید. کل بلوک کد پایتون را کپی کنید. به ویرایشگر Cloud Run برگردید و محتوای پیشفرض
main.pyبا کدی که کپی کردهاید جایگزین کنید . - requirements.txt: * روی فایل
requirements.txtدر ویرایشگر کلیک کنید. کد پایتون بهfunctions-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 کلیک کنید. برنامه شما اکنون فعال است! کار میکند، اما آن زمان کلی کپی-پیست دستی لازم بود.

۵. بهینهسازی گردش کار توسعهدهنده
این کنسول برای یادگیری عالی است، اما برای توسعه تکراری کند است. اکنون، گردش کار مورد نظر توسعهدهنده را خواهیم دید که با استفاده از Cloud Shell و Gemini CLI کل آن فرآیند چند مرحلهای را به یک مکالمه ساده تبدیل میکند. 
کلود شل و رابط خط فرمان جمینی چیست؟
کلود شل یک کامپیوتر کامل لینوکس در مرورگر شماست که از قبل با ابزارهای توسعهدهنده مانند gcloud CLI (کنترل از راه دور شما برای گوگل کلود) بارگذاری شده است.
رابط خط فرمان Gemini یک دستیار کدنویسی تعاملی و مبتنی بر هوش مصنوعی است که در ترمینال شما قرار دارد.
اکستنشنهای جمینی چیستند؟
رابط خط فرمان Gemini را به عنوان یک تلفن هوشمند قدرتمند در نظر بگیرید. به خودی خود، بسیار توانمند است. افزونهها مانند برنامههایی هستند که از فروشگاه برنامه نصب میکنید. آنها به Gemini CLI قابلیتهای جدید و تخصصی میدهند که به طور پیشفرض ندارد. به عنوان مثال، افزونه nanobanana یک "برنامه" است که Gemini CLI را به مدلهای قدرتمند تولید تصویر گوگل متصل میکند و به ما امکان میدهد تصاویر را مستقیماً از خط فرمان تولید کنیم.
عملی: گردش کار ساده
- یک کلید API ایجاد کنید
- فعالسازی و پیکربندی Cloud Shell:
- در بالای کنسول Google Cloud، روی آیکون فعالسازی پوسته ابری (
>_) کلیک کنید.
- دستورات زیر را در ترمینال اجرا کنید تا محیط خود را تنظیم کنید، حتماً آن را با شناسه پروژه خود جایگزین کنید.
NANOBANANA_GOOGLE_API_KEY را تنظیم کنید. آن را با کلید API خود جایگزین کنید. (برای ادامه نصب،# 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، روی آیکون فعالسازی پوسته ابری (
- ما از رابط خط فرمان Gemini، یک رابط خط فرمان قدرتمند که به عنوان دستیار کدنویسی هوش مصنوعی عمل میکند، استفاده خواهیم کرد. این رابط به ما امکان میدهد کدی را که میخواهیم به زبان انگلیسی ساده توصیف کنیم و ساختار آن را برای ما تولید میکند که به طور قابل توجهی سرعت توسعه را افزایش میدهد.
- شروع یک جلسه تعاملی هوش مصنوعی:
- بیایید یک دایرکتوری جدید برای پروژه خود ایجاد کنیم و رابط خط فرمان 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 کلیک کنید، پیشنمایش را روی پورت ۸۰۸۰ انتخاب کنید تا سایت شما در یک برگه جدید ظاهر شود.

- در رابط خط فرمان Gemini، برای لغو درخواست و یا درخواست
Stop the web serverاز Gemini CLI،Escرا فشار دهید.
- اکنون در یک جلسه چت با دستیار هوش مصنوعی خود هستید. برای ایجاد کل وبسایت با یک دستور، عبارت زیر را وارد کنید:
- وبسایت را با تصاویر تولید شده توسط هوش مصنوعی بهروزرسانی کنید:
- حالا، بیایید از افزونهمان استفاده کنیم. دستوری که با
/شروع میشود، یک "دستور اسلش" است که به یک ابزار اشاره دارد، نه یک اعلان برای هوش مصنوعی./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 کد را با استفاده از کانتینرها مستقر میکند. یک
- استقرار با یک دستور واحد:
- با دو بار فشردن
CtrlCاز محیط خط فرمان Gemini خارج شوید. یا در خط فرمان عبارت/quitرا تایپ کنید. - اکنون، از رابط خط فرمان
gcloudبرای استقرار کل برنامه از دایرکتوری فعلی خود استفاده کنید.gcloud run deploy fact-app-cli \ --source . \ --region us-central1 \ --allow-unauthenticated
- با دو بار فشردن
- تفاوت را ببینید:
- بعد از چند دقیقه، یک URL جدید برای وبسایت کاملاً مجهز و تولید شده توسط هوش مصنوعی خود دریافت خواهید کرد. به کنسول Cloud Run مراجعه کنید و هر دو سرویس را مشاهده خواهید کرد:
fact-app-manualوfact-app-cli. شما همین الان سرعت و قدرت گردش کار توسعهدهنده خط فرمان را تجربه کردهاید.
- بعد از چند دقیقه، یک URL جدید برای وبسایت کاملاً مجهز و تولید شده توسط هوش مصنوعی خود دریافت خواهید کرد. به کنسول Cloud Run مراجعه کنید و هر دو سرویس را مشاهده خواهید کرد:
تبریک میگویم
شما با موفقیت کل چرخه عمر توسعه در Google Cloud را به پایان رساندهاید. شما با یک پروژه خالی شروع کردهاید و اکنون:
- یک پروژه امن با قابلیت صدور صورتحساب پیکربندی شد.
- از یک دستیار هوش مصنوعی برای نوشتن یک برنامه کامل استفاده کردم.
- آن برنامه را روی یک پلتفرم مقیاسپذیر و بدون سرور مستقر کردم.
- یاد گرفتم که چگونه امنیت آن را با IAM مدیریت کنم.
اکنون شما مهارتهای پایهای لازم برای ساخت برنامههای پیچیدهتر و توانمندتر در Google Cloud را دارید.

