Oggi parliamo di PaaS. Che cosa sono? La sigla sta per “Platform as a Service”, e sono dei servizi, accessibili via browser, che ci eliminano tutta la fatica di installare un server LAMP (o nodejs, o ruby on rails, o di altro tipo) e senza doverlo configurare, lasciandoci soltanto la “difficoltà” di scrivere il nostro codice.
In questo senso sono piattaforme, che ci vengono offerte come semplicissimi servizi, e di fatto di tutto il caos che ci sta dietro per quanto riguarda installazione e configurazione dei componenti necessari alla nostra applicazione, noi non lo vediamo.
Il vantaggio principale si vede subito: possiamo programmare in ciò che vogliamo, e non dobbiamo installare nemmeno apache o nginx sul nostro pc. La comodità è tutto.
Di svantaggi non se ne può parlare finché non si prende il PaaS specifico. In generale infatti non abbiamo restrizioni, e a volte non abbiamo nemmeno bisogno di internet, grazie alla “preview” locale. Parleremo degli svantaggi quando vedremo nello specifico i diversi PaaS.
La maggior parte di questi servizi sono trial per X giorni, ma noi di Insidevcode ne presentiamo successivamente due completamente gratuiti molto validi, con i loro pro e contro.
Vediamo in breve come funzionano generalmente.
Ogni PaaS richiede una registrazione (in trial, free o a pagamento). Dopo la registrazione occorre scaricare un client, spesso a riga di comando. Tramite questo client potremo lavorare sul nostro pc al progetto nel linguaggio che vogliamo, vedere un’anteprima del risultato, e, se ci piace, deployare il risultato del nostro lavoro sul Server. Tra poco vediamo cosa significa.
La nostra applicazione, una volta deployata, girerà in un ambiente a sé, a cui viene dedicata X cpu e Y RAM, a seconda del piano scelto. L’ambiente spesso ha nome diverso da servizio a servizio: ad esempio in heroku l’applicazione gira in un dynos, in openshift in una gear. Ma approfondiremo più avanti anche questo argomento.
Questo termine significa prima di tutto l’upload del nostro progetto sul Server, ma poi anche tutto ciò che questo esegue per noi. Facciamo un esempio: ho creato sul mio pc un’applicazione in NodeJS, che richiede il modulo express, cosa molto comune. Il deploy qui è l’upload dei miei file del progetto, e successivamente l’installazione automatica da parte del server del modulo express.
Per iniziare bisogna scegliere un PaaS. Ce ne sono molti, come accennavo prima, ma pochi sono completamente gratuiti.
Tra quelli che offrono un account trial ci sono IBM Bluemix, Google App Engine, Windows Azure.
Tra quelli gratuiti invece troviamo principalmente Heroku e Openshift, della redhat.
Senz’altro è il servizio gratuito meglio documentato e facile da usare, utilizzato tra l’altro anche come predefinito per le applicazioni di Facebook.
Aspetti negativi sono la limitatezza di aggiungere moduli come un database (l’unico free è postgres), e sicuramente lo sleep: nella versione gratuita vengono offerti illimitati dynos, ossia luoghi dove far girare le applicazioni, ma ognuno dovrà avere una fase di “sleep” dopo 30 minuti di inattività, e dopo 18 ore di attività giornaliere, ossia dovrà “riposare”.
Mi spiego meglio: se la nostra applicazione non viene utilizzata per 30 minuti, questa va in sleep. Se vogliamo usarla, l’applicazione automaticamente uscirà dallo sleep, e funzionerà, con un leggero ritardo iniziale, dovuto al “risvegliamento”. Se l’applicazione durante la giornata è attiva per più di 18 ore, essa andrà in sleep forzato per 6 ore, durante le quali non potremo utilizzarla.
Oltre alla versione gratuita, heroku ha anche versioni a pagamento.
Openshift è un po’ meno documentato, ma comunque semplice da usare.
Nella versione gratuita offre solamente 3 gear, ossia 3 luoghi in cui far girare un’applicazione per gear, ma oltre a ciò non ha i limiti di heroku. Infatti un’applicazione non utilizzata nelle ultime 24 ore (e non 30 minuti) va in sleep (qui chiamato idle). Una volta che la utilizzeremo, questa sarà “risvegliata”, e ci sarà un minimo ritardo.
A differenza di heroku però NON ha uno sleep forzato: questo significa che possiamo utilizzarla 24 ore su 24, e non solo 18/24 come in heroku.
Oltre alla versione gratuita, openshift ha anche versioni a pagamento.
E ora che si fa? Se siete pigri come me, e volete usare un PaaS gratuito, andate sulla pagina di heroku o openshift, e iniziate a smanettare!
O se proprio non avete idea di come fare, attendete: arriveranno guide su come iniziare ad utilizzare uno di questi servizi!
Seguiteci anche su Facebook, Google Plus, Tumblr e Twitter, per restare sempre in contatto con noi e con le nostre guide.