neen PaaS
Come evidenziano le ricerche, i servizi PaaS rappresentano attualmente circa l’11 % della spesa in ambito public Cloud e sono in grande crescita in Italia.
Il PaaS o Platform as a Service è un’applicazione delle tecnologie Cloud Computing che, attraverso una piattaforma di orchestration automatizzata, mette a disposizione application server, applicazioni e funzionalità plug and play per installare e mantenere le proprie applicazioni con grande facilità.
È ormai prossima al lancio la soluzione PaaS di neen.
“Diversamente da ambienti che fanno uso di Cloud server o macchine virtuali, il PaaS neen utilizza una tecnologia a container” – sottolinea Marco Zani, CEO di neen. “Questo consente l’utilizzo di micro istanze, chiamate Cloudlets, con soli 128MB RAM e 200MHz CPU, che non hanno un proprio sistema operativo, a beneficio di una minor complessità di gestione e minor spreco di risorse.”
I Cloudlets possono scalare semplicemente e automaticamente sia in modalità verticale che orizzontale, consentendo un consumo di risorse molto granulare in funzione delle reali esigenze del singolo progetto.
Una soluzione PaaS è quindi l’ideale in presenza di applicativi che non necessitano costantemente della potenza di server cloud o di server fisici, qualora non si voglia rinunciare a scalabilità, separazione dei servizi, high availability e semplicità di gestione.
Con neen PaaS, infatti, è possibile creare in pochi minuti load balancer, cluster di web server, cluster di database server, caching server, database nosql e applicativi preconfigurati, pagando unicamente le risorse effettivamente utilizzate.
Tecnologie a disposizione
neen PaaS è compatibile con PHP, Java, Ruby, Node.js, Python e Docker®.
Per ogni tecnologia abbiamo a disposizione una completa gamma di application servers:
- Load Balancer: Apache, HA proxy, Nginx, Varnish
- Web server: Apache, Nginx, Tomcat, Nodejs, Jboss, Glassfish, Wildfly ecc.
- Application server: PHP, Java, Ruby, Phython ecc.
- Database relazionali: MySql, MariaDB, PostgreSQL
- Database non relazionali: MongoDB, Redis, Cassandra, CouchDB, Neo4j, OrientDB
- Caching systems: Memcached
- Software: WordPress, Joomla, Drupal, Magento, Prestashop, SugarCRM, Alfresco e più di altri 100 applicativi pronti per l’uso
Sono disponibili anche molteplici versioni dei software, ad esempio PHP 5.3, 5.4, 5.5, 5.6, Java 6,7,8 ecc.
Caratteristiche principali
- Scaling automatico verticale all’interno del range predefinito
È possibile definire un numero minimo e massimo di Cloudlets a comporre l’application server.
L’orchestrator scala automaticamente UP and DOWN le risorse all’interno dello stesso nodo fisico o su più nodi fisici e senza necessità di reboot dell’istanza.
L’allocazione dinamica delle risorse consente di pagare solo quanto effettivamente consumato.
- Scaling automatico orizzontale all’interno del range predefinito
Anche per lo scaling orizzontale è possibile definire un range di istanze che possono essere attivate allo scatenarsi di determinati triggers.
Le istanze si auto-configurano sotto il load balancer per distribuire il carico dell’applicazione.
E’ possibile scalare qualsiasi application server, anche gli stessi load balancer o i database relazionali e non.
Le nuove istanze si attivano molto più velocemente di un cloud server e consentono quindi si assecondare picchi di traffico anche di gradiente elevato.
- Load balancing e caching
E’ possibile utilizzare diversi load balancer per bilanciare gli application server: Nginx, Varnish, HA Proxy, Apache 2.2.
Si può inoltre richiedere che alcuni balancer vengano configurati per fare anche caching dei contenuti.
- Cost saving: puoi pagare solo quello che consumi
A differenza di altri sistemi basati su server cloud o virtual machines, la tecnologia PaaS a container consente già per sua natura un risparmio in termini di risorse utilizzate nell’ordine del 30%-70%.
“Il pricing model del servizio consente inoltre di pagare a consumo, e secondo una granularità molto piccola corrispondente ad un Cloudlet.
E’ quindi possibile definire soglie di auto scaling anche molto sensibili senza paura di brutte soprese a fine mese.” – evidenza Marco Zani.
- High availability
Nella nostra soluzione PaaS, i cluster (gruppi) di server fisici sono configurati e agiscono come un’unica grande risorsa.
Due o più cloud orchestrator garantiscono alta affidabilità nella gestione delle procedure di distribuzione delle risorse e live migration.
Ogni applicazione è quindi intrinsecamente in alta affidabilità, in quanto un guasto hardware consentirebbe una immediata live migration.
Se gli application server sono definiti con più istanze, queste sono automaticamente distribuite su diversi nodi fisici e implementano la session replication
La session replication è copia delle sessioni di ogni nodo su altre istanze dello stesso cluster; in questo modo un eventuale fail viene gestito senza nemmeno perdere le sessioni dei nodi coinvolti.
- Sicurezza
La gestione basata su containers consente che il fail o l’eventuale compromissione di un application server, non abbia alcun impatto sui rimanenti.
Anche se più containers sono in funzione sul medesimo host fisico, le istanze sono infatti completamente separate e isolate.
Per chi è indicato ?
Consigliamo la soluzione PaaS in particolare:
- Per chi voglia a costi contenuti separare la propria applicazione in micro services senza dover sostenere i costi di attivazione e gestione di un cloud server per ogni servizio
- Per chi voglia attivare in autonomia ambienti di testing e staging rapidamente e senza necessità di grande know-how e competenze sistemistiche, anche per configurazioni sulla carta complesse come sistemi bilanciati o database replicati master-master
- Per i siti non ad altissimo traffico, ma con picchi e variazioni consistenti nella giornata, stagionali o a seguito di campagne e dem, che vogliano garantire performance sempre ottimali grazie ai sistemi di autoscaling, senza timore di sovradimensionamenti e spreco di risorse e costi.
- Per chi voglia migliorare la propria standardizzazione dei processi, utilizzando metodologie di deploy e di gestione standard e semplificate, nonché sfruttare la portabilità e la comodità dei containers (Docker®).
Per chi non è indicato ?
Cloud PaaS e container a nostro avviso non sono indicati solo:
- Nei progetti con esigenze e consumo di risorse molto elevato che richiedano l’uso di server fisici o server cloud ad alte prestazioni. In questo caso infatti la soluzione PaaS seppur sostenibile può diventare antieconomica dal momento che le istanze di Cloudlets riservate dovrebbero essere molte.
- Nei progetti che richiedano particolari customizzazioni e tuning anche a livello di sistema operativo e in generale a basso livello.
Se è vero che anche nel PaaS ogni application server può essere gestito e configurato tramite web interface o ssh, bisogna ricordare che i Cloudlets condividono tra loro il substrato base del sistema operativo; questo non consente la personalizzazione del S.O. tra una istanza e l’altra. Anche la parte di networking e di interazione tra cloudlets è predefinita e gestita autonomamente dall’orchestrator.
Come tutti i servizi neen, neen PaaS è disponibile in modalità managed e unmanaged.