着手开发在 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 Marketplace 或 Redis Docker 映像安装 Redis。