在 Google Cloud 上运行 Rails

着手开发在 Google Cloud 上运行的 Ruby on Rails 应用非常容易。由于您创建的应用运行于所有 Google 产品都在用的同一基础架构上,您可以确信这些应用能顺畅扩容,以满足所有用户(无论是几个还是几百万个)的需求。

托管平台

以下是在 Google Cloud 上部署 Rails 的部分可用选项:

Rails 部署方案 开始
Cloud Run
App Engine 柔性环境 App Engine 柔性环境中的 Rails
Google Kubernetes Engine (GKE) GKE 上的 Ruby
Compute Engine Compute Engine 中的 Ruby

如需详细了解这些平台之间的差异,请参阅 Google Cloud 上的应用托管选项

数据库

关系型数据库

Rails Active Record 最适合与传统 SQL 数据库搭配使用。如果您要启动一个新项目,Cloud SQL 是一个好的选择。只需点几下鼠标即可创建由 Google 完全代管和扩缩的 MySQL 或 PostgreSQL 数据库,您无需执行任何管理操作。请参阅将 Cloud SQL for MySQL 与 Rails 5 搭配使用将 Cloud SQL for PostgreSQL 与 Rails 5 搭配使用教程。

NoSQL 数据库

在许多情况下,人们不得不使用 NoSQL 数据库,例如,为了数据模型的可伸缩性或适宜性。虽然将 Rails 模型与 NoSQL 数据库搭配使用具有挑战性,但这在一定限制内仍然是可行的。例如,您可以在 Rails 中表达许多类型的数据库联接,但 Datastore 或其他 NoSQL 数据库(如 MongoDB)不支持联接。如需了解详情,您可以查看我们的 Rails Bookshelf 教程:使用 Datastore,该教程使用 Datastore 作为其非关系型数据库。对于可大规模伸缩的代管式 NoSQL 解决方案,请考虑 Datastore,这是一个非关系型数据库,伸缩性通常优于 SQL 解决方案。

如果您选择使用 MongoDB,可以使用 Google Cloud Marketplace 进行部署并自行管理,也可以使用 mLab 提供的代管式 MongoDB 托管服务。

缓存

如需在 Compute Engine 上安装 Memcached,您可以使用 Cloud Marketplace。 如需在 Compute Engine 或 GKE 上安装 Memcached,可以使用 Memcached Docker 映像。同样,您可以使用 Cloud MarketplaceRedis Docker 映像安装 Redis。