IaaS

Providers

Cloud Harmony's benchmarks

Linode

Digital Ocean:

https://www.digitalocean.com/community/tutorials/an-introduction-to-droplet-metadata

Amazon:

A Comprehensive Guide to Building a Scalable Web App

Google

Altri:

ChicavoVPS

Kimsufi (OVH reseller)

WIP:

Cloudscale

Packet

Projects

Di seguito una panoramica sui progetti 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.. :)

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…