Esecuzione di Rails su Google Cloud

È facile iniziare a sviluppare app Ruby su Rails eseguite su Google Cloud. Poiché le app che crei vengono eseguite nella stessa infrastruttura su cui si basano tutti i prodotti Google, queste sono senz'altro in grado di garantire la scalabilità necessaria per adattarsi a qualsiasi numero di utenti, piccolo o grande che sia.

Piattaforme di hosting

Di seguito sono riportate alcune delle opzioni disponibili per il deployment di Rails su Google Cloud:

Opzione deployment di Rails Inizia
Cloud Run
Ambiente flessibile di App Engine Rails nell'ambiente flessibile di App Engine
Google Kubernetes Engine (GKE) Ruby su GKE
Compute Engine Ruby in Compute Engine

Per maggiori dettagli sulle differenze tra le due piattaforme, vedi Opzioni di hosting delle app su Google Cloud.

Database

Database relazionali

Rails Active Record funziona meglio con un database SQL tradizionale. Se stai iniziando un nuovo progetto, Cloud SQL è un'ottima scelta. Con pochi clic puoi creare un database MySQL o PostgreSQL completamente gestito e scalato da Google, senza alcuna gestione da parte tua. Esamina il tutorial Uso di Cloud SQL per MySQL con Rails 5 oppure Uso di Cloud SQL per PostgreSQL con Rails 5.

Database NoSQL

In molte situazioni, ci sono validi motivi per utilizzare un database NoSQL, ad esempio la scalabilità o l'idoneità al modello dati. Sebbene l'utilizzo dei modelli Rails con database NoSQL possa rivelarsi problematico, è possibile farlo con alcune limitazioni. Ad esempio, puoi esprimere molti tipi di join di database in Rails e tuttavia i join non sono supportati da Datastore o da altri database NoSQL come MongoDB. Per ulteriori informazioni esamina il nostro Tutorial Bookshelf con Cloud Datastore per Rails, che utilizza Datastore come database non relazionale. Per una soluzione NoSQL a elevata scalabilità, può esserti utile Datastore, un database non relazionale che offre migliore scalabilità rispetto a una soluzione SQL.

Se scegli di utilizzare MongoDB, puoi eseguire il deployment tramite Google Cloud Marketplace e gestire in autonomia oppure puoi utilizzare il servizio di hosting di MongoDB fornito da mLab.

Cache

Per installare Memcached su Compute Engine, puoi utilizzare Cloud Marketplace. Per installare Memcached su Compute Engine o GKE, puoi utilizzare l'immagine Docker Memcached. Allo stesso modo, puoi installare Redis utilizzando Cloud Marketplace o l'immagine Docker Redis.