Exécuter Rails sur Google Cloud

Rien de plus facile que de commencer à développer des applications Ruby on Rails pour Google Cloud. Les applications créées s'exécutant sur l'infrastructure sur laquelle sont basés tous les produits Google, vous avez la garantie d'un scaling efficace, à même de desservir l'ensemble de vos utilisateurs, qu'ils soient une poignée ou plusieurs millions.

Plates-formes d'hébergement

Voici quelques-unes des options disponibles pour déployer Rails sur Google Cloud :

Option de déploiement de Rails Commencer
Cloud Run
Environnement flexible App Engine Rails sur l'environnement flexible App Engine
Google Kubernetes Engine (GKE) Ruby sur GKE
Compute Engine Ruby dans Compute Engine

Pour en savoir plus sur les différences entre ces plates-formes, consultez la page Options d'hébergement d'applications sur Google Cloud.

Bases de données

Bases de données relationnelles

Rails Active Record fonctionne de manière optimale avec une base de données SQL traditionnelle. Si vous démarrez un nouveau projet, Cloud SQL est un choix idéal. En quelques clics, vous pouvez créer une base de données MySQL ou PostgreSQL, dont la gestion et le scaling sont entièrement pris en charge par Google, vous évitant toutes les tâches de supervision. Consultez le tutoriel Utiliser Cloud SQL pour MySQL avec Rails 5 ou Utiliser Cloud SQL pour PostgreSQL avec Rails 5.

Bases de données NoSQL

Dans de nombreuses situations, l'utilisation d'une base de données NoSQL est nécessaire, selon les besoins d'évolutivité ou de pertinence pour votre modèle de données. L’utilisation de modèles Rails avec une base de données NoSQL est possible, mais peut être difficile, et impose certaines restrictions. Dans Rails, vous pouvez, par exemple, exprimer divers types de jointures de bases de données, mais ces jointures ne sont pas prises en charge par Datastore ou d'autres bases de données NoSQL telles que MongoDB. Pour en savoir plus, consultez notre tutoriel consacré à l'utilisation de Cloud Datastore dans l'application Ruby on Rails Bookshelf, qui utilise Cloud Datastore comme base de données non relationnelle. Pour une solution NoSQL gérée et extrêmement évolutive, il est possible d'utiliser Datastore, une base de données non relationnelle dont le scaling est souvent plus performant que celui d'une solution SQL.

Si vous choisissez d'utiliser une base de données MongoDB, vous pouvez la déployer à l'aide de Google Cloud Marketplace et la gérer vous-même, ou vous pouvez utiliser le service d'hébergement géré MongoDB fourni par mLab.

Caches

Pour installer Memcached sur Compute Engine, vous pouvez utiliser Cloud Marketplace. Pour installer Memcached sur Compute Engine ou GKE, vous pouvez utiliser l'image Docker Memcached. De même, vous pouvez installer Redis à l'aide de Cloud Marketplace ou de l'image Docker Redis.