אפשר להריץ את האפליקציות ב-App Engine באמצעות הסביבה הגמישה של App Engine או הסביבה הרגילה של App Engine. אפשר גם להשתמש בשתי הסביבות בו-זמנית עבור האפליקציה, ולאפשר לשירותים ליהנות מהיתרונות הייחודיים של כל סביבה.
סביבות App Engine
App Engine מתאים במיוחד לאפליקציות שתוכננו באמצעות ארכיטקטורת מיקרו-שירותים, במיוחד אם מחליטים להשתמש בשני הסביבות. הקטעים הבאים יעזרו לכם להבין איזו סביבה הכי מתאימה לצרכים של האפליקציה שלכם.
מתי כדאי לבחור בסביבה רגילה
מופעים של אפליקציות פועלים בארגז חול, באמצעות סביבת זמן הריצה של שפה נתמכת שמפורטת בהמשך.
אפליקציות שצריכות להתמודד עם שינוי מהיר של גודל המערכת.
הסביבה הרגילה היא אופטימלית לאפליקציות עם המאפיינים הבאים:
- השירות מיועד להפעלה בחינם או בעלות נמוכה מאוד, שבה אתם משלמים רק על מה שאתם צריכים ומתי שאתם צריכים. לדוגמה, האפליקציה יכולה להתרחב ל-0 מופעים כשאין תנועה.
- חווים עליות חדות וקיצוניות בתעבורת הנתונים שדורשות הרחבה מיידית.
מתי כדאי לבחור בסביבה הגמישה
מופעים של אפליקציות פועלים בתוך קונטיינרים של Docker במכונות וירטואליות (VM) של Compute Engine.
אפליקציות שמקבלות תנועה עקבית, חוות תנודות קבועות בתנועה או עומדות בפרמטרים להגדלה ולהקטנה הדרגתית.
הסביבה הגמישה היא אופטימלית לאפליקציות עם המאפיינים הבאים:
- פועל במאגר Docker שכולל זמן ריצה מותאם אישית או קוד מקור שנכתב בשפות תכנות אחרות.
- האפליקציה משתמשת ב-frameworks שכוללים קוד Native או תלויה בהם.
- מקבל גישה למשאבים או לשירותים של Google Cloud הפרויקט שנמצאים ברשת Compute Engine.
השוואה בין תכונות ברמה גבוהה
בטבלה הבאה מפורטים ההבדלים בין שני הסביבות:
| תכונה | סביבה רגילה | סביבה גמישה |
|---|---|---|
| זמן ההפעלה של המופע | שניות | דקות |
| זמן קצוב לתפוגה של בקשה | תלוי ב זמן הריצה ובסוג ההתאמה. | 60 דקות |
| שרשורים ברקע | כן, עם הגבלות | כן |
| תהליכים ברקע | לא | כן |
| ניפוי באגים ב-SSH | לא | כן |
| התאמה להיקף | ידני, בסיסי, אוטומטי | ידני, אוטומטי |
| צמצום הפעולה לאפס | כן | לא, מינימום מכונה אחת |
| כתיבה בדיסק מקומי |
גישת קריאה וכתיבה לספרייה /tmp.
|
כן, זמני (הדיסק מאותחל בכל הפעלה של מכונת ה-VM) |
| שינוי סביבת זמן הריצה | לא | כן (באמצעות Dockerfile) |
| זמן הפריסה | שניות | דקות |
| תיקוני אבטחה אוטומטיים במקום | כן | כן (לא כולל זמן ריצה של קובץ אימג' של קונטיינר) |
| גישה אל Google Cloud ממשקי API ושירותים כמו Cloud Storage, Cloud SQL, Memorystore, Google Tasks ועוד. | כן | כן |
| WebSockets | לא | כן |
| תמיכה בהתקנת קבצים בינאריים של צד שלישי | כן | כן |
| מיקום | מיקומים בסביבה הרגילה | מיקומים בסביבה הגמישה |
| תמחור | על סמך שעות שימוש במופע | על סמך השימוש ב-vCPU, בזיכרון ובדיסקים קשיחים קבועים |
תוכלו להיעזר גם בהשוואה המפורטת בין הסביבות.
השוואה בין App Engine לבין Cloud Run
כדי להשוות בין התכונות וללמוד איך לבצע מיגרציה ל-Cloud Run, אפשר לעיין במאמר השוואה בין App Engine ו-Cloud Run.
השוואה בין הסביבה הגמישה לבין Compute Engine
הסביבה הגמישה של App Engine שונה מ-Compute Engine בכמה היבטים:
מכונות ה-VM בסביבה הגמישה מופעלות מחדש מדי שבוע. במהלך ההפעלה מחדש, שירותי הניהול של Google מחילים את כל העדכונים הנדרשים של מערכת ההפעלה ושל האבטחה.
תמיד יש לכם גישת root למכונות וירטואליות של Compute Engine. כברירת מחדל, הגישה ל-SSH למכונות וירטואליות בסביבה הגמישה מושבתת. אם תבחרו, תוכלו להפעיל גישת root למופעים של מכונות וירטואליות של האפליקציה.
פריסות קוד עשויות להימשך זמן רב יותר כי קובצי אימג' של קונטיינרים נוצרים באמצעות שירות Cloud Build.
האזור הגיאוגרפי של מכונת VM בסביבה גמישה נקבע לפי המיקום שציינתם עבור אפליקציית App Engine שלGoogle Cloud הפרויקט. שירותי הניהול של Google מבטיחים שהמכונות הווירטואליות ימוקמו יחד כדי להשיג ביצועים אופטימליים.
מעבר מסביבה רגילה לסביבה גמישה
אם יש לכם אפליקציה בסביבה הרגילה, יכול להיות שתרצו להעביר חלק מהשירותים לסביבה הגמישה. ההמלצות מופיעות בהשוואה בין הסביבות.
כדי להעביר שירותים ספציפיים בשפות Python, Java, Go ו-PHP, אפשר לעיין במאמר העברת שירותים מהסביבה הרגילה לסביבה הגמישה.
נסו בעצמכם
אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של סביבת Ruby רגילה בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.
אני רוצה לנסות את סביבת Ruby standard בחינם