אתם יכולים להריץ את האפליקציות שלכם ב-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 בחינם