סקירה כללית על App Engine

מזהה אזור

REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיראות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, REGION_ID.r נכלל בכתובות URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.

מידע נוסף על מזהי אזורים

‫App Engine היא אחת מהפלטפורמות המנוהלות ללא שרת (serverless) לפיתוח ולאירוח של אפליקציות אינטרנט בהיקף נרחב. אתם יכולים לבחור מבין כמה שפות פופולריות כדי לפתח את האפליקציות שלכם, ואז לאפשר ל-App Engine לדאוג להקצאת שרתים ולשינוי גודל המכונות של האפליקציה בהתאם לביקוש. חלופה חדשה וטובה יותר ל-App Engine היא Cloud Run, שהיא הגרסה העדכנית של Google Cloud Serverless. אם אתם משתמשים חדשים ב-Cloud Run, מומלץ להשתמש בו לפיתוח ולאירוח של אפליקציות אינטרנט. Google Cloud

רכיבים של אפליקציה

אפליקציית 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 ).

מגבלות

גם בסביבה הגמישה וגם בסביבה הרגילה יש את אותן מגבלות לגבי שירותים וגרסאות. לדוגמה, אם יש לכם גרסאות רגילות וגרסאות גמישות באותה אפליקציה, הגרסאות האלה נספרות במסגרת אותה מגבלה. פרטים נוספים מופיעים במאמר בנושא מכסות ומגבלות ( רגילות | גמישות ).