המדריך הזה מיועד למהנדסים ולמפתחי אתרים שחדשים בתחום של פיתוח אפליקציות בענן, ורוצים ללמוד מושגי מפתח בפיתוח אפליקציות שרלוונטיים ל- Google Cloud.
מטרות
- לומדים על כלים בסיסיים של Google Cloud , כמו מסוףGoogle Cloud ו-
gcloud. - פורסים את האפליקציה ב-Cloud Run.
- שמירת הנתונים באמצעות Firestore.
- אחסון קבצים שהועלו ב-Cloud Storage.
- מעקב אחרי האפליקציה באמצעות Google Cloud Observability.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
ההוראות במסמך הזה נועדו לוודא שהשימוש במשאבים יהיה במסגרת המגבלות של התוכנית בחינם של Google Cloud.
בעזרת מחשבון העלויות אתם יכולים להעריך את העלויות בהתאם לשימוש הצפוי.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
כדי ליצור מסד נתונים של Firestore במצב Native:
-
נכנסים לדף Firestore create database במסוף Google Cloud .
- במסך Select a Cloud Firestore mode, לוחצים על Select Native Mode.
- בוחרים מיקום למסד הנתונים ב-Firestore. הגדרת המיקום הזו היא מיקום ברירת המחדל של המשאבים של Google Cloud בפרויקט Google Cloud . המיקום הזה משמש את שירותי Google Cloud בפרויקט Google Cloud שדורשים הגדרת מיקום, ובמיוחד את הקטגוריה שמוגדרת כברירת מחדל ב-Cloud Storage ואת האפליקציה ב-Cloud Run.
- לוחצים על Create Database.
-
נכנסים לדף Firestore create database במסוף Google Cloud .
-
מפעילים את ממשקי ה-API של Cloud Run Admin, Cloud Storage, Cloud Logging ו-Error Reporting, אם הם עדיין לא מופעלים.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם אתם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, אתם יכולים לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים? -
משכפלים את המאגר לדוגמה ופותחים את האפליקציה לדוגמה ב-Cloud Shell:
כניסה ל-Cloud ShellCloud Shell נותנת גישה למשאבים שלכם ב- Google Cloud בממשק שורת פקודה ישירות מהדפדפן.
- בהודעה שמופיעה, לוחצים על Confirm כדי לשכפל את המאגר.
-
ב-Cloud Shell, מגדירים את הכלי
gcloudכך שישתמש בפרויקט החדש ב- Google Cloud :# Configure gcloud for your project gcloud config set project PROJECT_ID
מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud שיצרתם באמצעות מסוף Google Cloud .
Google Cloud CLI הוא הדרך העיקרית לאינטראקציה עם משאבי Google Cloud משורת הפקודה. במדריך הזה תשתמשו בכלי
gcloudכדי לפרוס את האפליקציה ולעקוב אחריה.
מפעילים את האפליקציה
-
מתקינים את יחסי התלות של האפליקציה באמצעות
composer:composer install -
מריצים את שרת האינטרנט המובנה של PHP:
GOOGLE_CLOUD_PROJECT=PROJECT_ID php -S localhost:8080מחליפים את PROJECT_ID במזהה הפרויקט ב- Google Cloud שיצרתם.
- ב-Cloud Shell, לוחצים על Web preview , ובוחרים באפשרות Preview on port 8080. ייפתח חלון חדש עם האפליקציה שפועלת.
פריסת האפליקציה ב-Cloud Run
Google Cloud מציע כמה אפשרויות להרצת הקוד. בדוגמה הזו, פורסים את האפליקציה הניתנת להתאמה ב-Cloud Run. ב-Cloud Run לא צריך לנהל שרתים, והוא מתאים את עצמו לעומס באופן אוטומטי כדי לתמוך בעליות חדות בתנועה.
- פורסים את הקונטיינר ב-Cloud Run:
gcloud run deploy bookshelf --region us-central1 --allow-unauthenticated \ --set-env-vars="GOOGLE_CLOUD_PROJECT=
PROJECT_ID" --source .עכשיו אפשר לראות את האפליקציה בכתובת ה-URL שמוצגת בפלט של
gcloud run:Service [bookshelf] revision [bookshelf-00001] has been deployed and is serving 100 percent of traffic. Service URL: https://bookshelf-swsmmh5s5a-uc.a.run.app
-
מעתיקים את כתובת ה-URL לדפדפן האינטרנט כדי להציג את האפליקציה.
מידע נוסף על פריסה ב-Cloud Run זמין במסמכי התיעוד של Cloud Run.
שמירת הנתונים באמצעות Firestore
אי אפשר לאחסן מידע במכונות של Cloud Run, כי הוא נמחק אם המכונה מופעלת מחדש, והוא לא קיים כשנוצרות מכונות חדשות. במקום זאת, משתמשים במסד נתונים שכל המכונות קוראות ממנו וכותבות אליו.
Google Cloud מציע כמה אפשרויות לאחסון הנתונים. בדוגמה הזו, אתם משתמשים ב-Firestore כדי לאחסן את הנתונים של כל ספר. Firestore הוא מסד נתונים מנוהל מבוסס-מסמכים, בלי שרת (serverless) ולא יחסי (NoSQL), שמאפשר לאחסן נתונים ולבצע בהם שאילתות. Firestore מתאים את עצמו אוטומטית לעומס (automatic scaling) כדי לענות על צורכי האפליקציה, ומצמצם את הפעולה לאפס כשלא משתמשים בו. עכשיו אפשר להוסיף את הספר הראשון.
-
כדי ליצור ספר לאפליקציה שנפרסה, לוחצים על Add book.
- בשדה Title, מזינים
Moby Dick. - בשדה Author, מזינים
Herman Melville. -
לוחצים על Save. עכשיו יש רשומה לאפליקציית Bookshelf.
-
במסוף Google Cloud , כדי לרענן את הדף של Firestore, לוחצים על Refresh refresh.
הנתונים מופיעים ב-Firestore. אפליקציית Bookshelf שומרת כל ספר כמסמך Firestore עם מזהה ייחודי, וכל המסמכים האלה מאוחסנים באוסף Firestore.
במדריך הזה, האוסף נקרא books.
Firestore מאחסן את הספרים באמצעות ספריית הלקוח של Firestore. דוגמה לאחזור מסמך ב-Firestore:
למידע נוסף על השימוש ב-Firestore, קראו את המאמר הוספת נתונים ל-Firestore.
אחסון קבצים שהועלו ב-Cloud Storage
אחרי שהוספתם ספר, הגיע הזמן להוסיף את תמונת השער שלו. אי אפשר לאחסן קבצים במכונות. מסד נתונים הוא לא הבחירה הנכונה לקובצי תמונות. במקום זאת, משתמשים ב-Cloud Storage.
Cloud Storage הוא מאגר ה-BLOB הראשי של Google Cloud. אתם יכולים להשתמש ב-Cloud Storage כדי לארח נכסי אפליקציה שאתם רוצים לשתף ב- Google Cloud. כדי להשתמש ב-Cloud Storage, צריך ליצור קטגוריה של Cloud Storage – קונטיינר בסיסי שבו נשמרים הנתונים.
- נכנסים לדף Cloud Storage Browser במסוף Google Cloud .
- לוחצים על Create bucket.
- בתיבת הדו-שיח Create bucket, נותנים שם לקטגוריה על ידי הוספת מזהה הפרויקט ב- Google Cloud למחרוזת
_bucket, כך שהשם ייראה כמוYOUR_PROJECT_ID_bucket. השם הזה כפוף לדרישות למתן שמות של קטגוריות. אפשר להשאיר את ערכי ברירת המחדל בכל שאר השדות. - לוחצים על יצירה.
- אחרי שיוצרים את הקטגוריה, צריך להגדיר את האובייקטים כנגישים באופן ציבורי כדי שהמשתמשים יוכלו לראות אותם. במאמר הפיכת נתונים לציבוריים מוסבר איך להגדיר את האובייקטים כנגישים באופן ציבורי.
-
לוחצים על עריכת הספר ובוחרים תמונה להעלאה בתור כריכת הספר. לדוגמה, אפשר להשתמש בתמונה הזו מנחלת הכלל:
-
לוחצים על Save. תועברו לדף הבית, שבו יש כניסה לאפליקציית Bookshelf.
אפליקציית מדף הספרים שולחת קבצים שהועלו ל-Cloud Storage באמצעות ספריית הלקוח של Cloud Storage.
למידע נוסף על השימוש ב-Cloud Storage, קראו את המבוא ל-Cloud Storage.
מעקב אחרי האפליקציה באמצעות Google Cloud Observability
פרסתם את האפליקציה ויצרתם ושיניתם ספרים. כדי לעקוב אחרי האירועים האלה אצל המשתמשים, אתם יכולים להשתמש בניהול ביצועי אפליקציות.
מעקב אחרי יומנים באמצעות Cloud Logging
-
ב Google Cloud, נכנסים לדף Logs Explorer.
כניסה לדף Logs Explorerאתם יכולים לעקוב אחרי האפליקציה בזמן אמת. אם יש בעיות באפליקציה, זה אחד המקומות הראשונים שכדאי לבדוק.
- ברשימה הנפתחת Resource, בוחרים באפשרות Cloud Run Revision, bookshelf.
מעקב אחרי שגיאות באמצעות Error Reporting
-
נכנסים לדף Error Reporting במסוף Google Cloud .
כניסה לדף Error Reporting
ב-Error Reporting מודגשות שגיאות וחריגות באפליקציה, ואפשר להגדיר התראות לגביהן. -
בדפדפן, עוברים לכתובת ה-URL של
/errorsבאפליקציה.
YOUR_CLOUD_RUN_URL/errors
הפעולה הזו יוצרת חריגה חדשה לבדיקה ושולחת אותה ל-Google Cloud Observability.
-
במסוף Google Cloud , חוזרים לדף Error Reporting. אחרי כמה רגעים השגיאה החדשה תופיע. לוחצים על Auto Reload כדי שלא תצטרכו לרענן את הדף באופן ידני.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים הנפרדים.
מחיקת הפרויקט
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.