Proviamo Cloud Foundry con node.js

[da qui i post sono molto vecchi e contengono informazioni potenzialmente obsolete]

Cloud Foundry è il nuovo prodotto PaaS di VMware. In rete si trovano diversi tutorial su come costruire semplici applicazioni su vcap (la piattaforma) utilizzando il linguaggio Ruby e il framework Sinatra; in questo post invece vi mostrerò come creare sull’ambiente di hosting cloudfoundry.com una semplice applicazione con il runtime node, quindi con JavaScript e node.js (attualmente la v0.4.5).

Non vuole essere un tutorial completo, lo scopo è solo quello di fornire alcuni spunti.

Innanzitutto dobbiamo installare (ruby, gem e) vmc. Per la prova userò un Mac con Snow Leopard e seguirò vagamente le indicazioni che si possono trovare nel pdf linkato alla pagina Getting Started Guide.

Il principale prerequisito è essere iscritti a Cloud Foundry.

Aggiorniamo gem e installiamo vmc (VMware Cloud CLI).

sudo gem update --system
sudo gem install vmc

A questo punto possiamo procedere con il setting del target e con il login.

vmc target api.cloudfoundry.com
vmc login

Inseriamo le nostre credenziali. Se stiamo effettuando il primo login dobbiamo ricordarci di modificare la password.

vmc passwd

Ora possiamo dedicarci al codice della nostra prima applicazione. Creiamo, quindi una directory con dentro un file sorgente JavaScript.

mkdir test
cd test
touch test.js

Potete usare un editor qualsiasi; per comodità nell’esempio userò nano.

nano test.js

Qui di seguito trovate il succo del post, il contenuto del file.

var http = require('http');
var server = http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
var body = '';
for (a in process.env) {
body += a + ' ';
}
res.end(body);
});
server.listen(process.env.VMC_APP_PORT);

Quello che fa è visualizzare il nome delle variabili di ambiente, attraverso un for…in sull’oggetto process.env — che tra le altre cose contiene la porta (VMC_APP_PORT) sulla quale la nostra applicazione dovrà mettersi in listening. Se invece volessimo visualizzare un dump delle property di process.env ci basterebbe importare il modulo core util e usare il metodo inspect.

var util = require('util');

var body = util.inspect(process.env, true, null);

Ora possiamo procedere con un semplice deploy — sostituendo a NOMEAPP il nome della vostra applicazione, io per questo test ho scelto “nodejs”.

vmc push NOMEAPP -n

Il sistema sceglierà automaticamente il runtime necessario per far girare l’applicazione. Se il deploy avrà successo, la vostra creazione si troverà alla URL:

NOMEAPP.cloudfoundry.com

[nota: per maggiori dettagli consultate il pdf “Getting Started Guide”, oppure vmc help]

Dopo una modifica potete ri-effettuare il deploy usando il comando vmc update.

vmc update NOMEAPP

Il risultato del mio esperimento è qui: nodejs.cloudfoundry.com

update: chiedo venia per il typo nella URL

approfondimenti: un confronto tra le PaaS per Java (occhio alle imprecisioni)

PaaS is a type of cloud service in which the provider delivers not only on-demand hardware and operating-system services, but also application platforms and solution stacks.

Questa voce è stata pubblicata in Cloud, JavaScript, Programmazione. Contrassegna il permalink.

1 risposta a Proviamo Cloud Foundry con node.js

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.