Rails in Google Cloud

Es ist ganz einfach, „Ruby on Rails“-Anwendungen zu entwickeln, die in Google Cloud ausgeführt werden. Da die erstellten Anwendungen in der Infrastrukturumgebung ausgeführt werden, die allen Google-Produkten zugrunde liegt, ist garantiert, dass sie für alle Nutzer verfügbar sind – unabhängig davon, ob es nur wenige oder Millionen Nutzer sind.

Host-Plattformen

Im Folgenden sind einige der verfügbaren Optionen für die Bereitstellung von Rails in Google Cloud aufgeführt:

Rails-Bereitstellungsoption Erste Schritte
Cloud Run
Flexible App Engine-Umgebung Rails in der flexiblen App Engine-Umgebung
Google Kubernetes Engine (GKE) Ruby in GKE
Compute Engine Ruby in Compute Engine

Weitere Informationen zu den Unterschieden zwischen diesen Plattformen finden Sie unter App-Hostingoptionen in Google Cloud.

Datenbanken

Relationale Datenbanken

Rails ActiveRecord funktioniert am besten mit einer herkömmlichen SQL-Datenbank. Für ein neues Projekt ist Cloud SQL eine gute Wahl. Mit wenigen Mausklicks können Sie eine MySQL- oder PostgreSQL-Datenbank erstellen, die von Google vollständig verwaltet und skaliert wird, ohne dass Sie tätig werden müssen. Weitere Informationen finden Sie in der Anleitung Cloud SQL for MySQL mit Rails 5 verwenden oder unter Cloud SQL for PostgreSQL mit Rails 5 verwenden.

NoSQL-Datenbanken

Es gibt oftmals zwingende Gründe, eine NoSQL-Datenbank zu verwenden, beispielsweise aufgrund der Skalierbarkeit oder der Eignung für Ihr Datenmodell. Auch wenn die Verwendung von Rails-Modellen mit einer NoSQL-Datenbank eine Herausforderung sein kann, ist dies mit einigen Einschränkungen möglich. So können zum Beispiel viele Arten von Datenbank-Joins in Rails ausgedrückt werden. Diese Joins werden jedoch von Datastore und anderen NoSQL-Datenbanken wie MongoDB nicht unterstützt. Weitere Informationen hierzu finden Sie in der Anleitung zu Bookshelf mit Datastore für Rails, bei der Datastore als nicht relationale Datenbank verwendet wird. Datastore eignet sich als verwaltete und extrem skalierbare NoSQL-Lösung. Diese nicht relationale Datenbank lässt sich häufig besser als eine SQL-Lösung skalieren.

Wenn Sie sich für MongoDB entscheiden, können Sie die Datenbank über den Google Cloud Marketplace bereitstellen und selbst verwalten oder den verwalteten MongoDB-Hostingdienst von mLab verwenden.

Caches

Zum Installieren von Memcached auf Compute Engine können Sie Cloud Marketplace verwenden. Sie können auch das Memcached-Docker-Image verwenden, um Memcached entweder auf Compute Engine oder GKE zu installieren. Sie haben aber auch die Möglichkeit, Redis über den Cloud Marketplace oder mit dem Redis-Docker-Image zu installieren.