המדריך הזה מיועד למי שחדשים בפיתוח אפליקציות בענן, כמו מהנדסים ומפתחי אתרים, שרוצים ללמוד מושגים מרכזיים בפיתוח אפליקציות בהקשר של Google Cloud.
מטרות
- לומדים על Google Cloud כלים בסיסיים, כמו Google Cloud מסוף ו-
gcloud. - פורסים את האפליקציה ב-Cloud Run.
- שמירת הנתונים באמצעות Firestore.
- אחסון של קבצים שהועלו ב-Cloud Storage.
- עוקבים אחרי האפליקציה באמצעות Google Cloud Observability.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
ההוראות במסמך הזה נועדו לוודא שהשימוש במשאבים יהיה במסגרת המגבלות של התוכנית בחינם של Google Cloud.
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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.
-
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 (בחירת מצב Cloud Firestore), לוחצים על Select Native Mode (בחירת מצב מקורי).
- בוחרים מיקום למסד הנתונים של Firestore. הגדרת המיקום הזו היא מיקום ברירת המחדל Google Cloud של משאבים בפרויקט Google Cloud . המיקום הזה משמש את השירותים בפרויקט שדורשים הגדרת מיקום, במיוחד את קטגוריית Cloud Storage שמוגדרת כברירת מחדל ואת אפליקציית Cloud Run.
- לוחצים על יצירת מסד נתונים.
-
נכנסים לדף Firestore create database במסוף Google Cloud .
-
מפעילים את ממשקי ה-API של Artifact Registry, Cloud Run Admin, Cloud Build, Cloud Storage, Cloud Logging ו-Error Reporting.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים -
משכפלים את מאגר הדוגמה ופותחים את אפליקציית הדוגמה ב-Cloud Shell:
מעבר אל Cloud ShellCloud Shell נותנת גישה למשאבים שלכם ב-Google Cloud בממשק שורת פקודה ישירות מהדפדפן. Google Cloud
- כדי להוריד את הקוד לדוגמה ולעבור לספריית האפליקציה, לוחצים על המשך.
-
ב-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כדי לפרוס את האפליקציה ולעקוב אחריה.
הפעלת האפליקציה
-
מתקינים את יחסי התלות של האפליקציה באמצעות
bundler:bundle install -
מריצים את הפקודה
rails server:
מחליפים את PROJECT_ID במזהה הפרויקט שיצרתם ב- Google Cloud .GOOGLE_CLOUD_PROJECT=PROJECT_ID bundle exec rails server -p 8080
- ב-Cloud Shell, לוחצים על תצוגה מקדימה באינטרנט , ובוחרים באפשרות תצוגה מקדימה ביציאה 8080. ייפתח חלון חדש עם האפליקציה הפועלת.
פריסת האפליקציה ב-Cloud Run
Google Cloud יש כמה אפשרויות להרצת הקוד. בדוגמה הזו, משתמשים ב-Cloud Run כדי לפרוס אפליקציה ניתנת להרחבה ב- Google Cloud. 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 מתרחב באופן אוטומטי כדי לענות על הצרכים של האפליקציה, ומתכווץ לאפס כשלא משתמשים בו. מוסיפים עכשיו את הספר הראשון.
-
כדי ליצור ספר לאפליקציה שפרסתם, לוחצים על הוספת ספר.
- בשדה 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. תועברו לדף הבית, שבו יש רשומה של אפליקציית מדף הספרים.
אפליקציית מדף הספרים שולחת קבצים שהועלו ל-Cloud Storage באמצעות ספריית הלקוח של Cloud Storage.
מידע נוסף על השימוש ב-Cloud Storage זמין במאמר מבוא ל-Cloud Storage.
מעקב אחרי האפליקציה באמצעות Google Cloud Observability
הפריסה של האפליקציה בוצעה, ויצרתם ושיניתם ספרים. כדי לעקוב אחרי האירועים האלה אצל המשתמשים, צריך להשתמש בניהול ביצועי אפליקציות.
מעקב אחרי יומנים באמצעות Cloud Logging
-
ב Google Cloud, עוברים אל Logs Explorer.
כניסה לדף Logs Explorerאתם יכולים לעקוב אחרי האפליקציה בזמן אמת. אם נתקלתם בבעיות באפליקציה, זה אחד המקומות הראשונים שכדאי לבדוק.
- ברשימה הנפתחת משאב, בוחרים באפשרות Cloud Run Revision, bookshelf.
מעקב אחר שגיאות באמצעות Error Reporting
-
נכנסים לדף Error Reporting במסוף Google Cloud .
מעבר לדף Error Reporting
בדף Error Reporting מוצגות שגיאות וחריגים באפליקציה, ואפשר להגדיר התראות לגביהם. -
בדפדפן, עוברים אל
/errorsכתובת ה-URL באפליקציה.
YOUR_CLOUD_RUN_URL/errors
פעולה זו יוצרת חריגה חדשה לבדיקה ושולחת אותה אל Google Cloud Observability.
-
במסוף Google Cloud , חוזרים לדף Error Reporting. אחרי כמה רגעים השגיאה החדשה תופיע. לוחצים על טעינה אוטומטית מחדש כדי שלא תצטרכו לרענן את הדף באופן ידני.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.