La Google Cloud Platform offre diverse soluzioni di hosting per gli sviluppatori PHP. Il punto di partenza è costituito dal Google App Engine, una piattaforma completamente gestita da Mountain View e concepita per lasciare spazio allo sviluppatore di concentrarsi esclusivamente sul codice. Oltre a PHP, sono diversi i linguaggi, gli ambienti e i framework supportati, come per esempio NodeJS, Java, Ruby, C#, Go e Python, noi ovviamente ci concentreremo su PHP.
Nella Google Cloud Platform le risorse verranno scalate in base al traffico della nostra applicazione, non dovremo occuparci della manutenzione del server a meno di non voler scegliere le opzioni d'uso basate sulle macchine virtuali, in questo caso lo scenario potrebbe cambiare.
Google App Engine e PHP
Noi utilizzaremo il Google App Engine e in particolare l'ambiente standard che è per alcuni aspetti limitato rispetto all'ambiente denominato "flexible", ma ha il vantaggio di essere gratuito. Dal nostro punto di vista le principali differenze riguardano le versioni di PHP supportate, la 5.5 per l'ambiente standard mentre il flexible supporta PHP 5.6, 7.0 e 7.1.
Inoltre la versione flexible permette l'accesso via shell, mentre la versione standard che non lo permette. Le altre differenze sono legate al file system scrivibile solo nella versione flexible e alla possibilità di usare Composer per il deploy, anche questa opzione è infatti disponibile soltanto nelle versioni a pagamento. Insomma le differenze ci sono e sono sensibili, ma non pregiudicano la possibilità di eseguire qualche esperimento senza costi aggiuntivi.
Preparazione dell'ambiente di lavoro
Prima di procedere e passare al codice dovremo preparare il nostro ambiente di lavoro, a questo proposito occorrono due passaggi, il primo consiste nella creazione di un nuovo progetto che usi l'App Engine:
A questo scopo si utilizza la cloud console, si seleziona dal menu di sinistra l'App Engine e si seguono le indicazioni per la creazione del progetto.
La prima informazione da immettere è il nome del progetto, viene poi richiesta l'area geografica in cui verrà gestita la nostra applicazione, questo comporta una minor latenza per l'area indicata anche se ovviamente chiunque da qualsiasi località potrà accedervi. Tale informazione non potrà essere modificata una volta creato il progetto. Nel nostro caso scegliamo l’opzione "europe-west". La procedura guidata chiederà infine quale linguaggio si desidera utilizzare e la nostra scelta sarà PHP.
Il secondo step preliminare consiste nello scaricare e installare il Google Cloud SDK da questa pagina Web; l'SDK Richiede Python come dipendenza. A questo punto possiamo installare l'APP Engine e le estensioni per PHP con il seguente comando da lanciare da Terminale:
gcloud components install app-engine-php
Per completare il setup occorre ancora installare Git qualora non sia disponibile.
Ultimo step sarà costituito dallo scaricare gli aggiornamenti eventualmente disponibili con il comando
gcloud components update
Ma cosa fare se vogliamo eliminare il progetto? Un'operazione del genere può servire, per esempio, per bloccare la fatturazione. Dalla dashboard con la lista dei progetti selezioneremo quindi il progetto da eliminare e poi useremo l'icona "Delete project", questo comporta però delle conseguenze: la prima è è che viene eliminato tutto ciò che è contenuto nel progetto esistente, la seconda è che l'identificatore del progetto ("ID") non sarà riutilizzabile. Se quindi si volesse mantenere un ID si dovranno eliminare le risorse all’interno del progetto senza rimuovere quest'ultimo.
A questo punto siamo pronti per iniziare!