OpenShift
# OpenShift

OpenShift è una platform as a service (PaaS) prodotta da Red Hat e di proprietà di IBM: è una piattaforma per applicazioni cloud che rende semplice lo sviluppo, il deploy e la scalabilità. Esistono tre differenti versioni di OpenShift: OpenShift Origin, OpenShift Online e OpenShift Enterprise.

OpenShift Origin, la versione libera di OpenShift, è il progetto a monte per altre due versioni, ed è disponibile su GitHub. Gli sviluppatori possono usare Git per distribuire le applicazioni web sulla piattaforma.

La versione per il cloud computing si chiama OpenShift Enterprise, e permette di eseguire la PaaS ovunque si voglia.

Con OpenShift Online Red Hat si occupa di ospitare la PaaS su Amazon Web Services (AWS) e su Microsoft Azure permettendo di concentrarsi solo sul codice operativo, lasciando tutto il lavoro di gestione del server al team operativo OpenShift: in questo modo è possibile, tra le altre cose, scalare il sistema secondo le proprie necessità, e concentrarsi quindi solo sullo sviluppo della propria applicazione. La versione Online offre una vasta gamma di linguaggi e servizi, distribuiti in applicazioni attraverso un cartridge (cartuccia). I cartridge possono essere framework web, banche dati, servizi di monitoraggio, o connettori di backend esterni.

## Linguaggi supportati

* Haskell
* Java
* JavaScript
* .NET
* Perl
* PHP
* Python
* Ruby

## Database supportati

* Microsoft SQL Server
* MongoDB
* MySQL
* PostgreSQL

## Framework supportati

OpenShift supporta i framework per le applicazioni web supportando qualsiasi linguaggio per l'integrazione web si preferisca API, senza richiedere modifiche al codice del framework attuale.

* Node.js for JavaScript
* PSGI for Perl
* Rack for Ruby
* WSGI for Python

Alcuni dei framework che lavorano senza modifiche su OpenShift sono:

* CakePHP
* CodeIgniter
* Django
* Flask
* Laravel
* Perl Dancer
* Ruby on Rails
* Sinatra
* Tornado
* Vert.x
* web2py

## Applicazioni Supportate

Di seguito un elenco dei cartridge web disponibili. Dopo aver creato l'applicazione possono essere aggiunti dei cartridge per attivare funzionalità aggiuntive come i database, metrics e supporto all'integrazione continua con Jenkins.

* Instant Apps come Drupal 7, WordPress 4, Ghost 0.6.4
* Java based cartridge come Tomcat, JBoss
* Ruby
* Ruby on Rails
* PHP, CodeIgniter, PHP con Zend Server
* Python, Django
* Node.js

L'elenco completo può essere visualizzato sulla sito web dopo la registrazione.

## Concorrenti

* Cloud Foundry
* Google App Engine
* Heroku
* Jelastic
* Bluemix
