Cómo ejecutar Rails en Google Cloud Platform

Comenzar a desarrollar apps de Ruby on Rails que se ejecuten en Google Cloud Platform (GCP) es fácil. Dado que las apps que crees se ejecutarán en la misma infraestructura que impulsa todos los productos de Google, ten la confianza de que escalarán para atender a todos tus usuarios, sin importar si son unos pocos o millones.

Plataformas de alojamiento

Existen tres opciones principales para implementar Rails en GCP.

Opción de implementación de Rails Úsala si buscas lo siguiente No la uses si necesitas lo siguiente Comenzar
Entorno flexible de App Engine
  • La mayoría de las ventajas de App Engine
  • Bibliotecas de sistema y RubyGems que dependen de ellas
  • Tiempo de ejecución de Docker personalizados
Control total sobre las máquinas virtuales subyacentes. Rails en el entorno flexible de App Engine
Google Kubernetes Engine (GKE)
  • Contenedores de Rails en un entorno de microservicios
  • Un kit de herramientas para diseñar tu propia plataforma basada en contenedores
Una plataforma como servicio (PaaS) con todas las características. Para tener una plataforma como servicio (PaaS) basada en contenedores, te recomendamos el entorno flexible de App Engine. Rails en GKE
Compute Engine
  • Una infraestructura como servicio (IaaS) conocida con VM
  • Compatibilidad con VM de Windows y Linux
Un entorno sin servidores ni 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 de SQL tradicional. Si estás comenzando un proyecto nuevo, Cloud SQL es una buena opción. Con solo unos clics puedes crear una base de datos de MySQL o de PostgreSQL que Google administra y escala por completo, sin ningún tipo de administración de tu parte. Consulta el instructivo Cómo usar Cloud SQL para MySQL con Rails 5 o Cómo usar Cloud SQL para PostgreSQL con Rails 5.

Bases de datos NoSQL

En muchos casos, existen motivos para usar una base de datos NoSQL, por ejemplo, la escalabilidad o la idoneidad para tu modelo de datos. Si bien usar los modelos de Rails con una base de datos NoSQL puede suponer un desafío, es posible hacerlo con ciertas limitaciones. Por ejemplo, puedes expresar muchos tipos de combinaciones de bases de datos en Rails, pero no son compatibles con Cloud Datastore ni otras bases de datos NoSQL como MongoDB. Puedes obtener más información revisando nuestro Instructivo para Bookshelf con Cloud Datastore de Rails, el cual utiliza Cloud Datastore como su base de datos no relacional. Si quieres tener una solución NoSQL administrada con gran escalabilidad, te recomendamos usar Cloud Datastore, una base de datos no relacional con mejor escalabilidad que una solución SQL.

Si eliges usar MongoDB, puedes implementarlo con Google Cloud Platform Marketplace y hacer tu propia administración, o puedes usar el servicio de alojamiento administrado de MongoDB proporcionado por mLab.

Memorias caché

Para instalar Memcached en Compute Engine, puedes usar GCP Marketplace. Para instalar Memcached en Compute Engine o GKE, puedes usar la imagen de Docker Memcached. Del mismo modo, puedes instalar Redis utilizando GCP Marketplace o la imagen de Docker de Redis.

¿Te sirvió esta página? Envíanos tu opinión: