מזהה אזור
REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיראות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, המחרוזת REGION_ID.r כלולה בכתובות ה-URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.
App Engine היא אחת מהפלטפורמות המנוהלות ללא שרת (serverless) לפיתוח ולאירוח של אפליקציות אינטרנט בהיקף נרחב. אתם יכולים לבחור מבין כמה שפות פופולריות כדי לפתח את האפליקציות שלכם, ואז לאפשר ל-App Engine לדאוג להקצאת שרתים ולשינוי גודל המכונות של האפליקציה בהתאם לביקוש. חלופה חדשה וטובה יותר ל-App Engine היא Cloud Run, שהיא הגרסה העדכנית ביותר של Google Cloud Serverless. אם אתם משתמשים חדשים Google Cloud ב-Cloud Run, מומלץ להשתמש בו לפיתוח ולאירוח של אפליקציות אינטרנט.
רכיבים של אפליקציה
אפליקציית App Engine מורכבת ממשאב אפליקציה יחיד שמכיל שירותים אחדים. אפשר להגדיר כל שירות כך שישתמש בזמני ריצה שונים ויפעל עם הגדרות ביצועים שונות. בכל שירות, פורסים גרסאות של אותו שירות. כל גרסה פועלת במופע אחד או יותר, בהתאם לכמות התעבורה שהגדרתם לטיפול.
אפליקציית App Engine נוצרת בפרויקט Google Cloud כשיוצרים משאב של אפליקציה. אפליקציית App Engine היא מאגר ברמה העליונה שכולל את המשאבים של השירות, הגרסה והמופע שמרכיבים את האפליקציה. כשיוצרים אפליקציית App Engine, כל המשאבים נוצרים באזור שבוחרים, כולל קוד האפליקציה, יחד עם אוסף של הגדרות, פרטי כניסה ומטא-נתונים של האפליקציה. מידע נוסף על משאבי אפליקציות ( רגילים | גמישים ) ועל האזורים שבהם אפשר ליצור אותם
כל אפליקציית App Engine כוללת לפחות שירות אחד, defaultהשירות, שיכול להכיל גרסאות רבות, בהתאם לסטטוס החיוב של האפליקציה.
מידע נוסף מופיע בקטע מגבלות בהמשך.
בתרשים הבא מוצגת ההיררכיה של אפליקציית App Engine שפועלת עם כמה שירותים. בתרשים הזה, לאפליקציה יש שני שירותים שמכילים כמה גרסאות, ושתיים מהגרסאות האלה פועלות באופן פעיל בכמה מופעים:
שירותים אחרים, כמו Datastore, משותפים לאפליקציית App Engine. למידע נוסף, אפשר לעיין במאמר בנושא מבנה של שירותי אינטרנט ( סטנדרטי | גמיש ). Google Cloud
שירותים
אפשר להשתמש בשירותים ב-App Engine כדי לחלק את האפליקציות הגדולות לרכיבים לוגיים שיכולים לשתף בצורה מאובטחת תכונות של App Engine ולתקשר ביניהם. בדרך כלל, השירותים של App Engine מתנהגים כמו מיקרו-שירותים. לכן, אתם יכולים להפעיל את כל האפליקציה בשירות אחד, או לעצב ולפרוס כמה שירותים שיפעלו כקבוצה של מיקרו-שירותים.
לדוגמה, אפליקציה שמטפלת בבקשות של לקוחות עשויה לכלול שירותים נפרדים שכל אחד מהם מטפל במשימות שונות, כמו:
- בקשות API ממכשירים ניידים
- בקשות פנימיות מסוג ניהול
- עיבוד בקצה העורפי, כמו צינורות חיוב וניתוח נתונים
כל שירות ב-App Engine מורכב מקוד המקור של האפליקציה ומקובצי ההגדרות התואמים של App Engine. קבוצת הקבצים שפורסים לשירות מייצגת גרסה אחת של השירות הזה, ובכל פעם שפורסים לשירות הזה, נוצרות גרסאות נוספות באותו שירות.
גרסאות
אם יש לכם כמה גרסאות של האפליקציה בכל שירות, תוכלו לעבור במהירות בין גרסאות שונות של האפליקציה כדי לבצע חזרה לגרסה קודמת, בדיקות או אירועים זמניים אחרים. אפשר להפנות את כל התנועה לגרסה ספציפית של האפליקציה באמצעות העברת תנועה ( רגילה | גמישה ), או להפנות את התנועה לכמה גרסאות של האפליקציה באמצעות פיצול תנועה ( רגיל | גמיש ).
מכונות
הגרסאות בשירותים שלכם פועלות על מופעים אחדים. כברירת מחדל, App Engine מתאים את האפליקציה לעומס. האפליקציות יגדילו את מספר המופעים שפועלים כדי לספק ביצועים עקביים, או יקטינו את מספר המופעים כדי למזער את המופעים שלא פעילים ולהפחית את העלויות. מידע נוסף על מופעים זמין במאמר איך מנהלים מופעים ( רגיל | גמיש ).
בסביבה הגמישה של App Engine, המכונות מגובות על ידי משאבי Compute Engine. חלק מהמשאבים שבהם נעשה שימוש במופעים בסביבה הגמישה של App Engine, כמו דיסק, מעבד (CPU) וזיכרון, נספרים במסגרת מכסות ה-API של Compute Engine בפרויקט. לפרטים נוספים על האופן שבו App Engine משתמש במשאבי Compute Engine, אפשר לעיין בסקירה הכללית של סביבת App Engine גמישה.
בקשות לאפליקציות
לכל שירות באפליקציה ולכל גרסה של השירותים האלה צריך להיות שם ייחודי. לאחר מכן אפשר להשתמש בשמות הייחודיים האלה כדי לטרגט תנועה למשאבים ספציפיים ולנתב אותה אליהם באמצעות כתובות URL. למשל:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com
בקשות משתמשים נכנסות מנותבות לשירותים או לגרסאות שהוגדרו לטיפול בתנועה. אפשר גם לטרגט בקשות ולהפנות אותן לשירותים ולגרסאות ספציפיים. מידע נוסף מופיע במאמר תקשורת בין שירותים ( סטנדרטית | גמישה ).
רישום בקשות של אפליקציות ביומן
כשהאפליקציה מטפלת בבקשה, היא יכולה גם לכתוב הודעות רישום משלה ביומנים stdout ו-stderr.
פרטים על היומנים של האפליקציה מופיעים במאמר בנושא כתיבת יומנים של אפליקציות
( standard |
flexible ).
מגבלות
גם בסביבה הגמישה וגם בסביבה הרגילה יש את אותן מגבלות לגבי שירותים וגרסאות. לדוגמה, אם יש לכם גרסאות רגילות וגרסאות גמישות באותה אפליקציה, הגרסאות האלה נספרות במסגרת אותה מכסה. פרטים נוספים מופיעים במאמר מכסות ומגבלות ( רגילות | גמישות ).