מהרעיון ועד להשקה: האפליקציה הראשונה שלכם ב-Google Cloud בשנת 2025

1. התוכנית, הגדרת הבסיס

לפני שנוכל לבנות את הבית, אנחנו צריכים להבטיח את הקרקע, להגדיר דרך לשלם על החומרים ולפתוח את ארגז הכלים. ב-Cloud, המושגים האלה מתורגמים לפרויקטים ולחיוב

מה זה פרויקט ב-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)

אלה הרמות בהיררכיה הזו, מהרמה העליונה לרמה התחתונה:

  1. הצומת של הארגון:
    • זהו המטה הראשי של החברה כולה (למשל, yourcompany.com). הוא נמצא בראש ההיררכיה, ובו מוגדרים כללי מדיניות האבטחה והחיוב של החברה. בדרך כלל, בתקופת הניסיון בחינם ב-Google Cloud, אתם פועלים ללא צומת ארגון, וזה בסדר גמור לצרכי למידה.
  2. תיקיות:
    • אלה החטיבות או המחלקות בתוך התאגיד (למשל, הנדסה, פיננסים). הם שכבה אופציונלית שמשמשת לקבץ פרויקטים ולהחיל מדיניות על צוותים שלמים בבת אחת. בסדנה הזו לא נשתמש בתיקיות.
  3. פרויקטים (המוקד שלנו):
    • זהו סדנה או שיעור Lab ספציפיים לצוות. כאן מתבצעת העבודה בפועל, וזו הרמה הכי חשובה בסדנה שלנו. כל המשאבים שאתם יוצרים חייבים להיות בתוך פרויקט. בנוסף, ברמת הפרויקט אפשר להפעיל ממשקי API (שירותים) ולקשר חשבון לחיוב.
  4. מקורות מידע:
    • אלה הכלים והמכונות הבודדים בתוך הסדנה. אפליקציית Cloud Run שנפרוס היא משאב. מכונה וירטואלית, מסד נתונים או קטגוריית אחסון הם דוגמאות למשאבים.

תרגול מעשי: יצירה והגדרה של פרויקט

  • כדאי לממש את הקרדיט goo.gle/devfest-boston-ai/. מאשרים את התנאים וההגבלות של Google Cloud Platform. אחרי שתזינו את הקוד, תופיע הודעה שהזיכוי נוסף לחשבון. זיכוי שהוחל
  • עוברים אל .
  • בסרגל הניווט העליון, לוחצים על Select a project (בחירת פרויקט) ואז על New Project (פרויקט חדש). חיפוש פרויקט
  • נותנים לפרויקט שם ייחודי (למשל, idea-to-launch-yourname) ולוחצים על יצירה. בוחרים באפשרות 'ללא ארגון'. פרויקט חדש
  • מוודאים שהפרויקט החדש נבחר מהתפריט הנפתח בחלק העליון של הדף.

למה החיוב חשוב כל כך?

חשבון לחיוב הוא הבסיס הפיננסי של הפרויקט. זהו כרטיס האשראי שרשום במערכת ומשמש לתשלום על המשאבים שבהם אתם משתמשים. בסדנה הזו אתם משתמשים בתקופת הניסיון בחינם ב-Google Cloud, שמעניקה לכם קרדיטים בחינם. זוהי סביבה בטוחה עם ארגז חול. לא נחייב אתכם באופן אוטומטי אחרי שתנצלו את הקרדיטים או שתקופת הניסיון תסתיים, אלא אם תשדרגו את החשבון באופן ידני. הבנת החיוב היא השלב הראשון בשליטה בעלויות. שיטות מומלצות כמו הגדרת תקציבים והתראות מאפשרות לכם לקבל התראות באימייל אם ההוצאות מתקרבות למגבלה מסוימת, וכך להימנע מהפתעות.

תרגול מעשי: קישור החשבון לחיוב

  • עוברים אל .
  • לוחצים על קישור חשבון לחיוב. קישור לחיוב
  • בתפריט הנפתח, בוחרים באפשרות Google Cloud Platform Trial Billing Account (חשבון לחיוב בתקופת הניסיון של Google Cloud Platform) ולוחצים על Set account (הגדרת החשבון). (אם התפריט הנפתח לא מופיע, צריך לחכות דקה עד שהזיכוי יתווסף ולטעון מחדש את הדף).

תרגול מעשי: הגדרת התראה לגבי תקציב (שיטה מומלצת)

עכשיו שהחיוב פעיל, נבצע שיטה מומלצת חשובה לשליטה בעלויות: הגדרת תקציב. ההגדרה הזו לא מפסיקה את השירותים כשהסכום מנוצל, אלא שולחת לכם התראות באימייל כדי שתמיד תהיו מודעים להוצאות.

  1. בתפריט הימני של הדף Billing, לוחצים על Budgets & alerts (תקציבים והתראות).
  2. בחלק העליון של הדף, לוחצים על + יצירת תקציב. יצירת תקציב
  3. Name your budget: (מתן שם לתקציב): נותנים לתקציב שם פשוט כמו Workshop-Alert.
  4. היקף: משאירים את הגדרות ברירת המחדל, שבהן הפרויקט הנוכחי שלכם אמור להיות מסומן. לוחצים על הבא. יצירת תקציב
  5. סכום: בקטע 'סכום התקציב', בוחרים באפשרות סכום קבוע בשדה 'סוג הסכום'. מזינים סכום נמוך, למשל 10. כלומר, התקציב שלנו הוא 10$. לוחצים על הבא. יצירת תקציב
  6. פעולות: כאן מגדירים את ההתראות. כברירת מחדל, המערכת תגדיר התראות על חציית 50%, 90% ו-100% מסכום התקציב (5$,‏ 9$ ו-10$).
    • בקטע 'התראות באימייל', מוודאים שהתיבה Email alerts to billing administrators and users (התראות באימייל לאדמינים ולמשתמשים בחשבון לחיוב) מסומנת. ההתראות יישלחו לכתובת האימייל שמשויכת לחשבון.
  7. לוחצים על סיום. יצירת תקציב

הגדרתם כלי פרואקטיבי לניהול עלויות. בפרויקט בעולם האמיתי, זהו אחד השלבים הראשונים החשובים ביותר כדי לוודא שלא יהיו הפתעות מבחינה כספית.

מהם שירותים ולמה אנחנו מפעילים אותם?

עכשיו, אחרי שהגדרתם את מרכז הבקרה ב-Lab הפרטי שלכם, נדבר על הציוד הכבד שזמין לכם. ב-Google Cloud יש יותר מ-200 מוצרים שונים, ממסדי נתונים ועד מודלים של AI. כל אחד מהם נקרא שירות. אפשר לחשוב על Cloud Run בתור 'שירות אוטומטי של משלוחים ולוגיסטיקה' ועל Gemini בתור 'שירות של המצאות ופיתוח אבות-טיפוס מבוסס-AI'. כדי להשתמש בשירותים המתקדמים האלה, קודם צריך להפעיל את ממשק ה-API (ממשק תכנות יישומים) המתאים לפרויקט.

סקירה כללית על השירות

נמשיך עם האנלוגיה של המחסן והמעבדה. תארו לעצמכם שהפרויקט שלכם ב-Google Cloud הוא הסדנה הייעודית שלכם בתוך המחסן הענק. הסדנה מצוידת במגוון תחנות עבודה מתקדמות: תחנה לניתוח AI, תחנה לפריסה גלובלית, תחנה לאחסון נתונים וכו'. למען הבטיחות והיעילות, צינור החשמל הראשי לכל אחת מעמדות העבודה המיוחדות האלה מושבת כברירת מחדל.

הפעלת API היא כמו לגשת לתחנת עבודה ספציפית במעבדה – כמו 'תחנת אב טיפוס של AI' – ולהעביר את מתג ההפעלה הראשי שלה למצב 'מופעל'.

אבל למה הכול מושבת כברירת מחדל? זוהי בחירה מכוונת בעיצוב, ויש לכך כמה סיבות חשובות:

  • אבטחה: המדיניות אוכפת את העיקרון של הרשאות מינימליות ברמת הפרויקט. אם אתם לא משתמשים בשירות מסוים, החיבורים שלו לפרויקט לא פעילים, וכך מצטמצם פוטנציאל 'השטח שחשוף להתקפה'.
  • ניהול ופיקוח על עלויות: כדי להתחיל להשתמש בשירות שיכול להיות יקר, צריך לבצע פעולה מכוונת שניתנת לביקורת. כך אפשר למנוע שימוש לא מכוון ולעזור לארגונים לשלוט בכלים שבהם הצוותים שלהם משתמשים.
  • פשטות: הסביבה של הפרויקט נשארת נקייה. ההרשאות ולוחות הבקרה לא עמוסים באפשרויות לשירותים שאין לכם כוונה להשתמש בהם.

תרגול מעשי: הפעלת הסביבה

  1. מפעילים את Vertex AI, ‏ Cloud Run, ‏ Cloud Build ו-Compute API:
    • בדף הפרטים של ה-API, לוחצים על הלחצן הכחול הפעלה. ממתינים עד שהתהליך יסתיים. הפעלת שירות

2. אבטחת האפליקציה: מי (או מה) יכול לשלוט באפליקציה?

מבוא תיאורטי

האפליקציות שלנו פעילות באינטרנט, וזה הישג מדהים. אבל זה מעלה שאלה קריטית: איך כל זה קרה? כשפרסתם את הקוד, התרחשו מאחורי הקלעים סדרה של 'לחיצות ידיים' מאובטחות שמבוססות על הרשאות. הבנה של המושגים האלה היא המפתח לאבטחה בענן.

הכול מנוהל על ידי ניהול הזהויות והרשאות הגישה (IAM).

  • הנוסחה הבסיסית של IAM: מערכת IAM פועלת לפי עיקרון פשוט אבל עוצמתי: מי יכול לעשות מה באיזה משאב.
  • שני הסוגים של 'מי' (גורמים) בסדנה שלנו עד עכשיו, ראינו שני סוגים בסיסיים של זהויות:
    1. משתמשים: זה אתם! זהות שמשויכת לאדם, כמו חשבון Gmail אישי.
    2. חשבונות שירות: אלה זהויות מיוחדות ולא אנושיות של האפליקציות והשירותים שלכם. אפשר לחשוב עליהם כעל תג זיהוי לקוד. כששירות אחד של Google Cloud (כמו Cloud Build) צריך ליצור אינטראקציה עם שירות אחר (כמו Artifact Registry כדי לשמור קונטיינר), הוא משתמש בחשבון השירות שלו כדי להוכיח שיש לו הרשאה.

כשפורסים אפליקציה כלשהי, נעשה שימוש בשני סוגי הזהויות:

  • לחשבון המשתמש שלכם הייתה הרשאה להתחיל את הפריסה.
  • לחשבון שירות של שירות Cloud Build הייתה הרשאה לבנות את הקוד ולשמור את הקונטיינר שנוצר.

ניהול הגישה

נשתמש במסוף IAM כדי לבדוק את ההרשאות שאפשרו את הפריסה שלנו, ואז ניתן גישה ספציפית למשתמש אחר.

  1. החקירה: מעבר למסוף IAM
    • עוברים אל .
    • בדף הזה מוצגת לוח הבקרה של האבטחה של הפרויקט. מופיעה רשימה של כל חשבונות המשתמשים (ה'מי') שיש להם רמת גישה כלשהי לפרויקט.
  2. איתור הזהות (המשתמש)
    • ברשימת חשבונות המשתמשים, מחפשים את כתובת האימייל שלכם. שימו לב שהתפקיד שלו הוא בעלים. תפקיד הבעלים מעניק הרשאה מלאה ובלתי מוגבלת לעשות כל דבר בפרויקט. לכן קיבלת הרשאה להפעיל ממשקי API ולהריץ את הפקודה gcloud run deploy.
  3. איתור הזהות של השירות (חשבון השירות)
    • עכשיו מחפשים חשבון משתמש עם שם כמו [PROJECT_NUMBER]-compute@developer.gserviceaccount.com. זהו חשבון השירות שמוגדר כברירת מחדל ומשמש את שירות Cloud Build.
    • בודקים את התפקיד שלו. יהיה לו תפקיד כמו Cloud Build Service Agent. התפקיד הזה כולל את ההרשאות הספציפיות שנדרשות לביצוע העבודה, כמו שליפת קוד מקור וכתיבת תמונות קונטיינר למאגר. זוהי הזהות שביצעה את העבודה הקשה לצורך הפריסה.
  4. ניהול הגישה (המשימה המעשית)
    • עכשיו נבצע משימת אבטחה רלוונטית. נניח שיש לכם עמית חדש שצריך לעקוב אחרי הביצועים ולבדוק את היומנים של שתי האפליקציות שפרסנו (fact-app-manual ו-fact-app-cli), אבל מטעמי אבטחה אסור לו לפרוס גרסה חדשה או למחוק אותן.
    • בראש דף IAM, לוחצים על + Grant Access (+ מתן גישה).
    • בשדה New principals, מזינים כתובת אימייל פיקטיבית, כמו dev-intern@example.com.
    • בתפריט הנפתח Select a role, משתמשים במסנן כדי למצוא ולבחור את התפקיד Cloud Run Viewer. התפקיד הזה הוא דוגמה מצוינת לעיקרון ההרשאות המינימליות. ההרשאה מאפשרת גישת קריאה בלבד לשירותי Cloud Run, ולא לשום דבר אחר. (אפשר גם לנסות להשתמש באפשרות עזרה בבחירת תפקידים)
    • לוחצים על שמירה.
  5. בדיקת התוצאה
    • הוספתם משתמש חדש והקציתם לו תפקיד פרטני עם הרשאות מינימליות שרלוונטיות ישירות למשאבים שיצרתם בסדנה הזו. הם יכולים לראות את שתי האפליקציות של העובדות, אבל הם לא יכולים לשנות אותן. ראיתם איך חשבונות משתמשים וחשבונות שירות פועלים יחד כדי ליצור סביבת ענן מאובטחת שניתן לבצע בה ביקורת.

עכשיו נתרגל מתן הרשאה לא לאדם, אלא לאפליקציה או לשירות אחרים. נניח שיש כלי חיצוני אוטומטי, שמיוצג על ידי חשבון השירות vertex-express@..., שצריך להיות מסוגל להשתמש בשירותי ה-AI בפרויקט שלנו. אנחנו צריכים להקצות לו את התפקיד הנכון.

  1. עוברים לדף Service Accounts:
    • עדיין בדף IAM, עוברים אל Service Accounts.
  2. מאתרים את חשבון השירות של היעד:
    • ברשימת חשבונות השירות, מוצאים את החשבון שנקרא vertex-express@ecstatic-acumen-{PROJECT_NUMBER}-c9.iam.gserviceaccount.com. (צריך להחליף את {PROJECT_NUMBER} במספר הפרויקט בפועל). זו הזהות שאנחנו רוצים להעניק לה הרשאות.
  3. ניהול הרשאות לחשבון השירות:
    • בעמודה פעולה בצד שמאל, לוחצים על סמל שלוש הנקודות, שפותח תפריט נפתח.
    • כדי לנהל את הפעולות שחשבון השירות הזה יכול לבצע, לוחצים על ניהול הרשאות.
  4. הענקת התפקיד Vertex AI User:
    • בתפריט הנפתח הקצאת תפקידים, משתמשים במסנן כדי למצוא ולבחור את התפקיד Vertex AI User.
    • לוחצים על שמירה.

עכשיו עברתם בהצלחה מהדף הספציפי של חשבון השירות לדף ההרשאות הנכון ברמת הפרויקט, והענקתם לו הרשאה להשתמש ביכולות ה-AI בפרויקט.

3. כתיבת קוד באמצעות עוזר מבוסס-AI

מבוא תיאורטי

כל אפליקציה מתחילה בקוד. בדרך כלל, זה החלק שלוקח הכי הרבה זמן. היום, אנחנו נעבוד עם שותף AI, ‏ Gemini, כדי להאיץ את התהליך הזה. אבל לפני שנכתוב את הפקודה הראשונה, חשוב להבין את מגוון כלי ה-AI ש-Google Cloud מציעה.

אפשר לחלק את מוצרי ה-AI של Google לשלוש קטגוריות עיקריות, מהפשוטים ביותר למתקדמים ביותר:

אתם יכולים ליצור אינטראקציה עם 'מנוע הקריאייטיב' (Gemini) דרך שני ממשקים עיקריים, שכל אחד מהם מיועד למטרה אחרת.

  • Google AI Studio (aistudio.google.com)
    • מה זה: כלי חינמי מבוסס-אינטרנט ליצירת אב טיפוס מהיר ולניסויים עם Gemini. זו הדרך הכי מהירה להתחיל לכתוב הנחיות ולראות מה המודלים יכולים לעשות.
    • איך זה עובד: אפשר להתחיל להשתמש ב-Google Analytics רק עם חשבון Google. כדי להשתמש בו באפליקציה, צריך ליצור מפתח API. כדי להשתמש בו בסדנה הזו, תצטרכו להפעיל את השירות Generative Language API בפרויקט שלכם.
    • אנלוגיה: AI Studio הוא כמו ספרייה ציבורית או סדנה פתוחה. קל להיכנס ולהתחיל להתנסות בכלים בחינם.
  • Vertex AI
    • מה זה: פלטפורמת הקצה לקצה של Google Cloud לניהול מחזור החיים המלא של למידת מכונה. זהו סביבת עבודה מקצועית מלאה שבה אפשר להשתמש במודלים בסיסיים כמו Gemini, אבל גם ליצור, לאמן ולפרוס מודלים מותאמים אישית של למידת מכונה מאפס. הוא מיועד לאבטחה, לניהול ולגמישות ברמה שמתאימה לארגונים. בנוסף, הוא מציע גרסה ברמת הארגון של אותם כלים, שמשולבת באופן מלא בפרויקט שלכם ב-Google Cloud.
    • איך זה עובד: הוא משתמש באותם מודלים עוצמתיים, אבל מקבל בירושה את כל התכונות של הפרויקט שלכם שקשורות לאבטחה, לבקרת גישה (IAM) ולניהול נתונים. זהו השירות שהפעלנו בחלק 1 על ידי הפעלת ה-API‏ aiplatform.googleapis.com.
    • אנלוגיה: Vertex AI הוא מעבדת מחקר ופיתוח פרטית, מאובטחת וארגונית. כל הפעולות שלכם מתועדות, מאובטחות ומקושרות למשאבי הפרויקט האחרים.

תרגול מעשי: יצירת קוד אפליקציה ב-Vertex AI Studio

בואו נראה מה קורה כשבונים אפליקציה באמצעות הכלים החזותיים ב-Vertex AI.

  1. עוברים אל Vertex AI Studio:
  2. יצירת האתר:
    • בתיבת ההנחיה, מזינים את אותה בקשה בדיוק שבה נשתמש בהמשך:
    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).

חשוב להשאיר את הכרטיסייה הזו בדפדפן פתוחה! תצטרכו להעתיק את הקוד משלושת הבלוקים האלה בקטע הבא. שימו לב איך ה-AI הפריד את הקבצים בצורה נכונה. זו שיטה מומלצת, אבל כמו שנראה, היא דורשת כמה שלבים ידניים כדי להטמיע אותה.

4. פריסה לכל העולם באמצעות Cloud Run

מבוא תיאורטי

הקוד שלנו נוצר, אבל הוא רק טקסט בדפדפן. כדי לשרת לקוחות, הוא צריך לפעול בשרת. ‫Cloud Run היא פלטפורמה 'ללא שרתים', כלומר אנחנו מספקים את הקוד, ו-Google מטפלת בכל השאר: השרתים, ההתאמה לעומס והאבטחה. התכונה הכי חשובה שלו היא התאמה אוטומטית ל-0 – אם אף אחד לא מבקר באפליקציה, אתם לא משלמים על זמן ההמתנה.

  • מה זה Serverless? באופן מסורתי, פריסת אפליקציה הייתה כרוכה בשכירת שרת (מכונה וירטואלית), התקנת מערכת הפעלה, הגדרת רשת ואבטחה ותחזוקה מתמדת. Serverless היא גישה מודרנית לענן שבה המפתחים מתמקדים רק בקוד. אתם מעבירים את הקוד לשירות כמו Cloud Run, והוא מטפל בכל השאר: השרתים, ההתאמה, האבטחה והרשת.
  • איך Cloud Run עובד: הקסם של ההתאמה כשפורסים ל-Cloud Run, הקוד נארז בקונטיינר (חבילה ניידת וסטנדרטית של האפליקציה וכל התלות שלה). כשמשתמש מבקר בכתובת ה-URL של האפליקציה, Cloud Run מפעיל באופן מיידי את הקונטיינר כדי לטפל בבקשה. אם אלף משתמשים יבקרו בו בו-זמנית, הוא יתחיל אלף עותקים באופן אוטומטי. התכונה הכי חשובה היא התאמה אוטומטית של מספר השרתים לאפס. אם אף אחד לא מבקר באפליקציה, Cloud Run מצמצם את מספר הקונטיינרים הפעילים עד לאפס. כלומר, אתם לא משלמים כלום על זמן שבו המכונה לא פעילה, ולכן זה פתרון חסכוני במיוחד.

בפריסה הראשונה נשתמש בעורך הישיר של מסוף Cloud Run, ונעתיק את הקוד באופן ידני למקום הרצוי.

תרגול מעשי: פריסת האפליקציה

  1. מפעילים את אשף היצירה של Cloud Run:
    • עוברים אל .
    • בראש הדף, לוחצים על + כתיבת פונקציה.
  2. מגדירים את השירות:
    • בוחרים באפשרות Use an inline editor to create a function.
    • נותנים שם לשירות: fact-app-manual.
    • בוחרים זמן ריצה Python 3.13.
    • בוחרים אזור us-central1.
    • בוחרים באפשרות Allow public access (מתן גישה לכולם).
    • משאירים את כל שאר ההגדרות כברירת המחדל.
    • בתחתית המסך, לוחצים על הלחצן יצירה.
  3. מזינים את הקוד:
    • יוצג עורך עם קובץ main.py וקובץ requirements.txt שמוגדרים כברירת מחדל.
    • main.py: עוברים לכרטיסייה Vertex AI Studio. מעתיקים את בלוק קוד Python כולו. חוזרים לעורך Cloud Run ומחליפים את תוכן ברירת המחדל main.py בקוד שהעתקתם.
    • requirements.txt:* לוחצים על הקובץ requirements.txt בעורך. קוד ה-Python צריך את functions-framework. החלפת תוכן הקובץ ב:
      functions-framework
      
    • index.html: בסייר הקבצים של הכלי לעריכה, לוחצים על'+' כדי להוסיף את הקובץ החדש. נותנים לקובץ את השם index.html. עוברים לכרטיסייה Vertex AI Studio, מעתיקים את בלוק קוד ה-HTML ומדביקים אותו בקובץ index.html החדש.
    • style.css: לוחצים על '+' כדי להוסיף את הקובץ החדש. נותנים לו את השם style.css. עוברים לכרטיסייה Vertex AI Studio, מעתיקים את בלוק קוד ה-CSS ומדביקים אותו בקובץ style.css החדש.
  4. פריסת השירות:
    • אחרי שמוודאים ששלושת הקבצים נמצאים במקום הנכון, לוחצים על הלחצן שמירה ופריסה .
  5. גישה לאפליקציה הפעילה:
    • הפריסה תימשך כמה דקות. כשהפעולה תסתיים, יופיע דף הפרטים של השירות עם כתובת URL ציבורית בחלק העליון.
    • לוחצים על כתובת ה-URL הזו. האפליקציה שלך פורסמה! זה עובד, אבל נדרשה הרבה עבודה ידנית של העתקה והדבקה.

5. אופטימיזציה של תהליך העבודה של המפתח

המסוף מצוין ללמידה, אבל הוא איטי לפיתוח איטרטיבי. עכשיו נראה את תהליך העבודה המועדף על המפתח, באמצעות Cloud Shell ו-Gemini CLI, כדי להפוך את התהליך הרב-שלבי כולו לשיחה יעילה.

מה זה Cloud Shell ו-Gemini CLI?

Cloud Shell הוא מחשב לינוקס מלא בדפדפן, שנטען מראש עם כלי פיתוח כמו gcloud CLI (השלט הרחוק שלכם ל-Google Cloud).

Gemini CLI הוא עוזר אינטראקטיבי מבוסס-AI לכתיבת קוד, שפועל בטרמינל.

מהם תוספים ל-Gemini?

אפשר לחשוב על Gemini CLI כמו על סמארטפון עוצמתי. הוא מאוד יעיל בפני עצמו. תוספים הם כמו אפליקציות שמתקינים מחנות אפליקציות. הם מעניקים ל-Gemini CLI יכולות חדשות ומיוחדות שאין לו כברירת מחדל. לדוגמה, התוסף nanobanana הוא 'אפליקציה' שמקשרת את Gemini CLI למודלים רבי-עוצמה של Google ליצירת תמונות, ומאפשרת לנו ליצור תמונות ישירות משורת הפקודה.

תרגול מעשי: תהליך עבודה יעיל

  1. יצירת מפתח API
    • עוברים אל (מפתח API)
    • לוחצים על הלחצן '+יצירת מפתחות API'.
    • שמירת המפתח הזה
  2. מפעילים ומגדירים את Cloud Shell:
    • בחלק העליון של מסוף Google Cloud, לוחצים על סמל הפעלת Cloud Shell (>_).
    • מריצים את הפקודות הבאות בטרמינל כדי להגדיר את הסביבה. חשוב להחליף את מזהה הפרויקט במזהה שלכם.
      # Set your Project ID
      export PROJECT_ID="[your-project-id-goes-here]"
      
      מגדירים את NANOBANANA_GOOGLE_API_KEY. מחליפים אותו במפתח ה-API. (אומרים 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
      
  • נשתמש ב-Gemini CLI, ממשק שורת פקודה מתקדם שפועל כעוזר לתכנות מבוסס-AI. הוא מאפשר לנו לתאר את הקוד שאנחנו רוצים באנגלית פשוטה, והוא ייצור עבורנו את המבנה, ויזרז משמעותית את הפיתוח.
  1. איך מתחילים סשן אינטראקטיבי עם AI:
    • ניצור ספרייה חדשה לפרויקט שלנו ונפעיל את Gemini CLI במצב אינטראקטיבי. מריצים את הפקודה הבאה בטרמינל.
      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
      
  2. יצירה של האפליקציה וביצוע איטרציות:
    • עכשיו אתם בשיחה עם העוזר הדיגיטלי מבוסס-AI. מדביקים את ההנחיה הבאה כדי ליצור את כל האתר באמצעות פקודה אחת:
      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.
      
    • בדיקה מקומית: ה-AI ייצור את הקבצים ויתחיל שרת אינטרנט. (לפעמים הטעינה לא מפסיקה. אם אתם רואים שהמערכת מנסה להפעיל את השרת, אתם יכולים לעבור לשלב הבא. )
    • לוחצים על סמל תצוגה מקדימה באינטרנט בסרגל הכלים של Cloud Shell, בוחרים באפשרות תצוגה מקדימה ביציאה 8080, והאתר יופיע בכרטיסייה חדשה.
    • ב-Gemini CLI, לוחצים על Esc כדי לבטל את הבקשה או כדי להנחות את Gemini CLI לבצע Stop the web server.
  3. עדכון האתר באמצעות תמונות שנוצרו על ידי AI:
    • עכשיו נשתמש בתוסף. פקודה שמתחילה ב-/ היא 'פקודת לוכסן' שמופנית לכלי, ולא הנחיה ל-AI.
      /generate 3 images of spooky halloween fun
      
    • התוסף ייצור שלוש תמונות. עכשיו נבקש מה-AI לשנות את האתר כך שישתמש בהם.
      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.
      
  4. הכנה לפריסה:
    • ב-Cloud Run, פריסת הקוד מתבצעת באמצעות קונטיינרים. Dockerfile הוא מתכון ליצירת מאגר תגים. נבקש מ-AI ליצור אחד בשבילנו.
      Create a Dockerfile suitable for deploying this Python Flask app to Cloud Run.
      
  5. פריסה באמצעות פקודה אחת:
    • כדי לצאת מ-Gemini CLI, לוחצים על CtrlC פעמיים. או מקלידים /quit בהנחיה
    • עכשיו משתמשים ב-CLI של gcloud כדי לפרוס את כל האפליקציה מהספרייה הנוכחית.
      gcloud run deploy fact-app-cli \
        --source . \
        --region us-central1 \
        --allow-unauthenticated
      
  6. ההבדל בין התוצאות:
    • אחרי כמה דקות תקבלו כתובת URL חדשה לאתר שלכם שנוצר על ידי AI וכולל את כל התכונות. נכנסים למסוף Cloud Run ורואים את שני השירותים: fact-app-manual ו-fact-app-cli. הרגע חוויתם את המהירות והעוצמה של תהליך העבודה של מפתחים בשורת הפקודה.

מזל טוב

השלמתם בהצלחה את כל מחזור החיים של הפיתוח ב-Google Cloud. התחלתם עם פרויקט ריק ועכשיו יש לכם:

  • הגדרתם פרויקט מאובטח עם חיוב.
  • השתמשתם בעוזר AI כדי לכתוב בקשה מלאה.
  • פריסה של האפליקציה בפלטפורמה ללא שרת (serverless) שאפשר להתאים לעומס.
  • למדתי איך לנהל את האבטחה שלו באמצעות IAM.

עכשיו יש לכם את המיומנויות הבסיסיות לבניית אפליקציות מורכבות ויעילות יותר ב-Google Cloud.