Sparatoria PaaS: Cloud Foundry contro OpenShift

PaaS (platform as a service) occupa una nicchia interessante nell'ecosistema cloud. Solitamente si trova su IaaS (Infrastructure as a Service), che offre la possibilità di accedere alle risorse di elaborazione remota. Con IaaS hai macchine, o macchine virtuali, che non sono nei tuoi locali, che puoi usare come desideri. Un esempio di IaaS sarebbe Amazon EC2.

PaaS include infrastruttura, archiviazione, database, informazioni e processo come servizio. Pensa a PaaS come a fornire computer remoti, dischi, database, flussi di informazioni e processi aziendali o meta-applicazioni, tutti collegati in uno "stack" o "sandbox". Le applicazioni potrebbero essere SaaS (software come servizio), come un sistema CMS (sistema di gestione dei contenuti) o CRM (gestione delle relazioni con i clienti). Dove un PaaS aggiunge valore rispetto a IaaS è automatizzare tutto il provisioning di risorse e applicazioni, il che può essere un enorme risparmio di tempo.

[Anche su: Cloud Foundry porta potenza e raffinatezza a PaaS | OpenShift brilla per sviluppatori e operatori | Puppet vs Chef vs Ansible vs Salt | Lavora in modo più intelligente, non di più: scarica la Guida alla sopravvivenza degli sviluppatori | Tieniti aggiornato sulle ultime notizie dagli sviluppatori con la newsletter di Developer World. ]

I due principali sistemi PaaS open source sono OpenShift di Red Hat e Cloud Foundry di Pivotal. Entrambi sono disponibili in tre versioni: ospitato, aziendale e open source. Per questa recensione, ho esaminato principalmente le versioni aziendali, che sono completamente supportate e destinate alle aziende che desiderano eseguire PaaS nel proprio cloud o data center. In entrambi i casi, la versione ospitata e quella aziendale si basano sulle versioni open source.

Non confondere i sistemi PaaS con la gestione della configurazione e gli strumenti di orchestrazione, come Puppet, Chef, Ansible e Salt. Puoi usare Puppet o gli altri per impostare un PaaS o SaaS, o semplicemente per gestire la configurazione di un intero gruppo di server. OpenShift utilizza infatti Puppet ed è compatibile con gli altri. Cloud Foundry utilizza uno strumento di gestione della configurazione diverso: BOSH.

Piccole differenze

Per la distribuzione del codice sorgente dell'applicazione, OpenShift utilizza Git, ma consente anche di distribuire pacchetti binari. Cloud Foundry accetta solo i tuoi file binari (file .WAR per ora, con altri formati che verranno supportati in seguito), quindi li combina automaticamente con buildpack di linguaggi e framework (come Java e Tomcat) e servizi come i database. Il formato buildpack è stato sviluppato da Heroku e ha contribuito alla comunità open source, generando molti buildpack della comunità, la maggior parte dei quali funziona su Cloud Foundry.

Quattro buildpack sono standard in Cloud Foundry: Java, Node.js, Ruby e Go. Nella maggior parte dei casi, il linguaggio o il framework open source di cui hai bisogno sarà disponibile come buildpack e per caricarlo, noterai semplicemente il repository Git sulla riga di comando di Cloud Foundry quando esegui il push della tua app. Se il buildpack necessario non è immediatamente disponibile, puoi crearlo facilmente con poche righe di Ruby o un altro linguaggio di scripting.

OpenShift non ha buildpack. Invece ha cartucce, che includono database, linguaggi e framework, e QuickStart, che sono applicazioni con codice e librerie già configurate per te.

Scorecard Ampiezza del supporto (20,0%) Facilità di utilizzo (20,0%) Documentazione (15,0%) Installazione e configurazione (15,0%) Valore (10,0%) Gestione (20,0%) Punteggio complessivo (100%)
Pivotal CF 1.2 9.0 9.0 8.0 7.0 9.0 8.0 8.4
Red Hat OpenShift Enterprise 2.1 8.0 9.0 8.0 9.0 9.0 9.0 8.7