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