Empezar a desarrollar aplicaciones de Ruby on Rails que se ejecuten en Google Cloud es muy sencillo. Además, como se ejecutarán en la misma infraestructura que se usa en todos los productos de Google, puedes tener la tranquilidad de que se escalarán para atender a todos tus usuarios, ya sean unos pocos o millones.
Plataformas de alojamiento
Hay tres opciones principales para desplegar Rails en Google Cloud.
Opción de despliegue de Rails | Úsala si quieres | No la uses si necesitas | Primeros pasos |
---|---|---|---|
Entorno flexible de App Engine |
|
Control total de las máquinas virtuales subyacentes | Rails en el entorno flexible de App Engine |
Google Kubernetes Engine (GKE) |
|
Una plataforma como servicio con una amplia gama de funciones (para una PaaS basada en contenedores, te recomendamos que uses el entorno flexible de App Engine) | Rails en GKE |
Compute Engine |
|
Un entorno sin servidores y sin la necesidad de configurar tu propia infraestructura | Rails en Compute Engine |
Bases de datos
Bases de datos relacionales
Rails Active Record funciona mejor con una base de datos SQL tradicional. Si estás comenzando un nuevo proyecto, Cloud SQL es una buena opción. Con solo unos clics puedes crear una base de datos MySQL o PostgreSQL que Google gestiona y escala completamente, sin que tengas que preocuparte por gestionarla. Si quieres obtener más información al respecto, consulta los tutoriales sobre cómo usar Cloud SQL para MySQL con Rails 5 o usar Cloud SQL para PostgreSQL con Rails 5.
Bases de datos NoSQL
En muchas ocasiones, existen razones convincentes para usar una base de datos NoSQL, por ejemplo, escalabilidad o idoneidad para tu modelo de datos. A pesar de que el uso de los modelos Rails con una base de datos NoSQL puede resultar un desafío, es posible con algunas limitaciones. Por ejemplo, puedes usar varios tipos de combinaciones de bases de datos en Rails, pero estas combinaciones no son compatibles con Datastore ni con otras bases de datos NoSQL, como MongoDB. Si quieres obtener más información al respecto, puedes consultar el tutorial de Bookshelf con Datastore para Rails, que utiliza Datastore como su base de datos no relacional. Si lo que buscas es una solución NoSQL gestionada y con una gran escalabilidad, Datastore puede ser una buena opción. Se trata de una base de datos no relacional con una escalabilidad superior a la de una solución SQL.
Si decides utilizar MongoDB, puedes desplegarla con Google Cloud Marketplace y encargarte de gestionarla, o bien puedes emplear el servicio de alojamiento gestionado de MongoDB que ofrece mLab.
Cachés
Si quieres instalar Memcached en Compute Engine, puedes usar Cloud Marketplace. Para instalar Memcached en Compute Engine o en GKE, tienes la posibilidad de utilizar la imagen Docker de Memcached. De la misma manera, puedes instalar Redis mediante Cloud Marketplace o la imagen Docker de Redis.