CloudStack è un software open source scritto in Java che permette di implementare diversi tipi di architettura cloud: Software-as-a-Service(SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS).
I punti di forza di CloudStack rispetto ai diretti concorrenti (vedi ad esempio Eucalyptus) sono molteplici e di varia natura. La piattaforma dispone di un'interfaccia web per la gestione dell'infrastruttura cloud pulita, chiara e molto ben strutturata; dispone di un set di API molto potente, facilmente integrabile e decisamente intuitivo, molto ben documentato e già predisposto per il supporto delle API cloud di Amazon e VMware; dispone di un'architettura molto flessibile che semplifica l'integrazione con una grande varietà di hypervisors, di reti e di sistemi di autenticazione. L'elenco completo delle feature più importanti di CloudStack è disponibile al seguente indirizzo.
CloudStack fornisce quindi uno strato software che semplifica la gestione coordinata non solo di server virtuali, storage e networking, ma anche di applicazioni e servizi web. Attraverso l'interfaccia web è possibile organizzare e strutturare le risorse in piani di pagamento precisi e ben tracciati, il tutto eventualmente estendibile e programmabile attraverso le API.
La documentazione è precisa e molto ben strutturata: è divisa in tre macro aree, una per ogni ruolo (API utente, API amministratore e API amministratore globale). Per ogni servizio a disposizione sono spiegate le chiamate gestite, i protocolli di comunicazione (JSON o XML) e tutti i parametri necessari. La guida dedicata agli sviluppatori è molto completa e spiega tutto il necessario per la prima installazione, per l'utilizzo e per l'estensione della piattaforma.
La pagina per il download è disponibile al seguente indirizzo.