This is an old revision of the document!
Table of Contents
IaaS
Di seguito una panoramica su:
- provider di IaaS
- sulle soluzioni libere disponibili per fornire un livello IaaS (in linea di massima non dovrebbe essere necessario ricorrere a queste soluzioni a meno che vogliamo fare concorrenza a qualche colosso, possiamo accontentarci di qualche VPS gia' pronto.. :)
Providers
Projects
Mesosphere
Mesosphere e' una sorta di “sistema operativo distribuito”, ed e' alla base di Twitter. Sotto a tutto abbiamo Mesos, un kernel distribuito, sopra il quale girano scheduler, cron-like e le applicazioni specifiche per questa sorta di framework/OS. I componenti principali sono scritti in C++ o Java.
OpenStack
OpenStack, scritto in Python e sviluppato inizialmente da NASA e RackSpace, si definisce un “sistema operativo cloud” ed e' largamente usato al CERN cosi' come in altri grandi datacenter. E' pensato per girare su bare metal con hardware comune, Xen e KVM. Prevede anche la gestione di container LXC (una tecnologia un po' piu' grezza di libcontainer, usata di default da Docker). E' un'ottima soluzione per un'infrastruttura standard o parzialmente dockerizzata (con Deis sopra ci si possono fornire Docker-based stateful apps).
OpenNebula
OpenNebula e' usato da Kelyon. Insieme a Zabbix.
Stack di esempio
In linea di massima l'unico limite per combinare tra loro queste tecnologie e' data dalla propria fantasia, comunque l'unico limite dovrebbe essere che Docker non puo' girare dentro Docker (almeno fino a prova contraria), quindi i container sono lo stack piu' alto (sopra al quale non ci puo' stare niente). Di seguito alcuni esempi di stack IaaS/PaaS che possono avere senso:
- Deis: layer 0 + CoreOS + Deis –> stateless Docker-based PaaS
- OpenStack/Deis: layer 0 + OpenStack (+ CoreOS + Deis) –> Hybrid stateful Docker-based PaaS + normal apps
- OpenStack/OpenShift: layer 0 + OpenStack (+ Kubernetes + OpenShift) –> Hybrid stateful Docker-based PaaS + normal apps
- OpenShift: layer 0 + Kubernetes + OpenShift –> stateful Docker-based PaaS
- Mesosphere: layer 0 + Mesos (+ Kubernetes/Mesos + OpenShift?) –> Hybrid (stateful?) Docker-based PaaS + Mesos-based apps
Come layer 0 s'intende:
- bare metal
- Ganeti si basa su Xen (o KVM) e LVM, scritto in Python.
- Xen Orchestra Basic e' un'interfaccia web a Xen Server che permette di orchestrare un cluster di macchine Xen.
- affitto di un server virtuale su GCE, AWS, Linode, Digital Ocean…