Como executar o Rails no Google Cloud

É fácil iniciar o desenvolvimento de apps Ruby on Rails executados no Google Cloud. Como os apps que você cria são executados na mesma infraestrutura usada em todos os produtos do Google, tenha a certeza de que eles serão escalonados para atender a todos os usuários, sejam eles poucos ou milhões.

Plataformas de hospedagem

Estas são algumas das opções disponíveis para implantar o Rails no Google Cloud:

Opção de implantação do Rails Começar
Cloud Run
Ambiente flexível do App Engine Rails no ambiente flexível do App Engine
Google Kubernetes Engine (GKE) Ruby no GKE
Compute Engine Ruby no Compute Engine

Para mais detalhes sobre as diferenças entre essas plataformas, consulte Opções de hospedagem de apps no Google Cloud.

Bancos de dados

Bancos de dados relacionais

O Rails ActiveRecord funciona melhor com um banco de dados SQL tradicional. Se você está iniciando um novo projeto, o Cloud SQL é uma boa escolha. Com alguns cliques, é possível criar um banco de dados MySQL ou PostgreSQL que o Google gerencia e escalona de maneira completa. Você não precisa gerenciar nada. Confira o tutorial Como usar o Cloud SQL para MySQL com o Rails 5 ou Como usar o Cloud SQL para PostgreSQL com o Rails 5.

Bancos de dados NoSQL

Em muitas situações, há razões justificáveis para usar um banco de dados NoSQL. Entre os motivos, estão a escalonabilidade e a adequação ao modelo de dados. O uso de modelos do Rails com um banco de dados NoSQL pode ser desafiador, mas isso é possível com algumas limitações. Por exemplo, é possível expressar vários tipos de uniões de bancos de dados no Rails, mas nem o Datastore nem outros bancos de dados NoSQL, como o MongoDB, são compatíveis com elas. Para saber mais, leia o tutorial do Bookshelf com o uso do Datastore relacionado ao Rails, que usa o Datastore como um banco de dados não relacional. Para ter uma solução NoSQL gerenciada, amplamente escalonável, considere usar o Datastore, que é um banco de dados não relacional com um escalonamento normalmente melhor quando comparado a uma solução SQL.

Caso escolha o MongoDB, implante-o por meio do Google Cloud Marketplace e gerencie-o por conta própria. Se preferir, use o serviço de hospedagem gerenciado MongoDB, disponibilizado pela mLab.

Caches

Para instalar o Memcached no Compute Engine, você pode usar o Cloud Marketplace. Para instalar o Memcached no Compute Engine ou no GKE, use a imagem do Docker do Memcached (em inglês). Da mesma forma, é possível instalar o Redis por meio do Cloud Marketplace ou da imagem do Docker do Redis (em inglês).