Serclient

Software di configurazione di sistema per piattaforma cloud

Serclient

“La nostra competenza di programmazione di sistema su sistemi multipli, unita con l’esperienza del potente linguaggio Python, ci ha reso il partner ideale per realizzare un complesso sistema di configurazione multi-piattaforma"

Giovanni Bajo, Project Manager @ Develer

La richiesta

Il cliente, un top-player europeo nel campo dell’hosting e dei domini, era in procinto di lanciare un nuovo prodotto, una piattaforma di virtualizzazione cloud. Per tale piattaforma, era necessario realizzare un software di controllo (demone) che, comunicando con la piattaforma stessa, implementasse all’interno delle macchine virtuali le configurazioni dei parametri di base (quali rete, logging, installazioni pacchetti) che l’utente decidesse tramite il pannello di controllo web.

La complessità era legata alla poliedricità della piattaforma cloud in questione, che consentiva all’utente di lanciare VM con ben 6 diversi sistemi operativi: Ubuntu, CentOS, Windows, Openfilter, FreeNAS e pfSense.

Si rendeva necessaria quindi una vasta esperienza nella programmazione di sistema su sistemi operativi UNIX e non, unita quindi alla conoscenza delle specificità relative agli script di rete, e ai gestori pacchetti, di ciascun sistema operativo.

Vantaggi introdotti dalle nostre soluzioni

 * L’utilizzo di Python ha garantito una piena portabilità del codice e un rapido sviluppo
 * La scelta di utilizzare un sistema a plugin tramite processi esterni si è resa importante per garantire la solidità del demone principale
 * Un sistema di test completamente automatizzato ci ha consentito di provare tempestivamente ogni modifica su tutte e 6 le piattaforme con un semplice click.

In quale modo la nostra metodologia ci ha aiutato

Abbiamo implementato fin da subito una vasta testsuite automatizzata che copriva ogni funzionalità richiesta, eseguendo i test in parallelo sulle 6 piattaforma, tramite l’uso della libreria “fabric". In questo modo, è stato semplice gestire durante lo sviluppo qualche refactoring e modifica del protocollo, richiesta dal cliente, senza dover manualmente testare ogni piattaforma nuovamente.

In quale modo l'opensource ha aiutato il progetto

Ci siamo appoggiati ad una vasta gamma di librerie open-source disponibili per il linguaggio Python, in modo da rendere molto più veloce ed efficace lo sviluppo. 

Le richieste

  • Un demone funzionante su 6 OS
  • Funzionalità di configurazione di base degli OS
  • Rapidità di sviluppo

Cosa ha fatto Develer

  • Utilizzo di Python per portabilità e velocità di scrittura
  • Testsuite automatizzata per testare il codice su 6 piattaforme
  • Sistema a plugin multi-processo per maggiore solidità

Risultati

  • Ottima stabilità
  • Consegna nei tempi stabiliti
  • Nessuna necessità di modifica o bugfix dopo il rilascio iniziale

Cliente

Aruba Top-player europeo nel campo dell’hosting, dei domini e del cloud