הפעלת Rails ב-Google Cloud

קל להתחיל לפתח אפליקציות Ruby on Rails שפועלות ב-Google Cloud. האפליקציות שאתם יוצרים פועלות על אותה תשתית שמפעילה את כל המוצרים של Google, כך שאתם יכולים להיות בטוחים שהן יכולות להתרחב כדי לשרת את כל המשתמשים שלכם, בין אם יש לכם כמה משתמשים או מיליונים.

פלטפורמות אירוח

אלה כמה מהאפשרויות הזמינות לפריסת Rails ב- Google Cloud:

אפשרות פריסה של Rails קדימה, מתחילים
Cloud Run
סביבה גמישה של App Engine Rails בסביבה הגמישה של App Engine
Google Kubernetes Engine (GKE) Ruby on GKE
Compute Engine Ruby ב-Compute Engine

פרטים נוספים על ההבדלים בין הפלטפורמות האלה זמינים במאמר אפשרויות לאירוח אפליקציות ב- Google Cloud.

מסדי נתונים

מסדי נתונים רלציוניים

Rails Active Record מתאים במיוחד למסד נתונים מסוג SQL רגיל. אם אתם מתחילים פרויקט חדש, כדאי לבחור ב-Cloud SQL. בכמה קליקים אפשר ליצור מסד נתונים של MySQL או PostgreSQL שמנוהל ומורחב באופן מלא על ידי Google, בלי שתצטרכו לנהל אותו. מומלץ לעיין במדריך בנושא שימוש ב-Cloud SQL ל-MySQL עם Rails 5 או במדריך בנושא שימוש ב-Cloud SQL ל-PostgreSQL עם Rails 5.

מסדי נתונים של NoSQL

במקרים רבים, יש סיבות משכנעות להשתמש במסד נתונים NoSQL, למשל, מדרגיות או התאמה למודל הנתונים. למרות ששימוש במודלים של Rails עם מסד נתונים של NoSQL יכול להיות מאתגר, אפשר לעשות זאת עם כמה מגבלות. לדוגמה, אפשר לבטא הרבה סוגים של צירופי מסדי נתונים ב-Rails, אבל צירופים לא נתמכים ב-Datastore או במסדי נתונים אחרים של NoSQL כמו MongoDB. אפשר לקרוא מידע נוסף במדריך שלנו בנושא Rails Bookshelf באמצעות Datastore, שמשתמש ב-Datastore כבסיס נתונים לא רלציוני. כדי לקבל פתרון NoSQL מנוהל עם יכולת הרחבה עצומה, כדאי לשקול את Datastore, מסד נתונים לא רלציוני שניתן להרחבה בצורה טובה יותר מאשר פתרון SQL.

אם תבחרו להשתמש ב-MongoDB, תוכלו לפרוס אותו באמצעות Google Cloud Marketplace ולנהל אותו בעצמכם, או להשתמש בשירות האירוח המנוהל של MongoDB שניתן על ידי mLab.

קובצי מטמון

כדי להתקין את Memcached ב-Compute Engine, אפשר להשתמש ב-Cloud Marketplace. כדי להתקין את Memcached ב-Compute Engine או ב-GKE, אפשר להשתמש בקובץ אימג' של Memcached Docker. באופן דומה, אפשר להתקין את Redis באמצעות Cloud Marketplace או תמונת Docker של Redis.