Che cos’è il deployment in ambito informatico?

Che cos’è il deployment in ambito informatico?

In ambito informatico, il deployment è rappresentato dal rilascio al cliente di un sistema software o di un’applicazione, in genere nel contesto di un sistema informatico aziendale, con la relativa installazione e la sua messa in esercizio. Per questo motivo, si può parlare del deployment come di una parte del ciclo di vita del software, che termina lo sviluppo e il testing necessario per avviare la manutenzione. Sono i sistemisti applicativi a rendere possibile tale operazione, fermo restando che sono molteplici le modalità di deployment del software possibili, anche tenendo conto del potenziale impatto che può avere l’installazione e dei possibili “traumi” che si possono verificare, soprattutto se un’azienda è stata abituata a usare sistemi di altro genere in precedenza.

Si può avere, quindi, una installazione diretta nel caso in cui il vecchio sistema venga disattivato per procedere con la sostituzione e l’implementazione del nuovo sistema appena creato. Il problema che può derivare da una procedura di questo genere è che non è previsto un backup per i vecchi programmi: ciò vuol dire che nel momento in cui la sostituzione dovesse dare origine a degli inconvenienti o a degli imprevisti non ipotizzati in fase di sviluppo ci si troverebbe ad avere a che fare con problemi più che consistenti. Ecco perché si può ritenere che l’installazione diretta sia una soluzione scelta unicamente quando non ci sono valide alternative a disposizione.

Decisamente più frequente è, invece, la cosiddetta installazione parallela, per la quale il lavoro necessario per il sistema nuovo viene suddiviso in parti uguali sul sistema vecchio e su quello nuovo: in questo modo, se la novità dovesse presentare dei problemi vi si potrebbe far fronte ricorrendo a quello vecchio, anche se solo temporaneamente. Quando, poi, si ritiene che il sistema nuovo possa essere considerato completamente affidabile, quello vecchio può essere sostituito.

Un altro esempio di deployment può essere individuato in quella che viene definita come installazione scaglionata, che presuppone che il nuovo sistema venga introdotto per gradi e che vada a sostituire quello vecchio per fasi a mano a mano che gli eventuali errori che vengono riscontrati sono risolti. Questo tipo di installazione si caratterizza per uno svantaggio che può essere facilmente immaginato, e cioè per le sue tempistiche estremamente lunghe; d’altro canto ha il pregio di evitare conseguenze potenzialmente disastrose in caso di problemi, visto che tali problemi interesseranno unicamente una fase singola.

Infine, ultima ma non meno importante opzione che vale la pena di prendere in considerazione a proposito di deployment è l’installazione pilota, per la quale il sistema nuovo è impiegato unicamente per una minima parte delle attività dell’azienda per essere esteso, in un secondo momento, anche al resto dell’azienda dopo aver dimostrato di poter funzionare in maniera regolare. In questo caso, gli eventuali problemi che si dovessero registrare sarebbe ristretti unicamente alla parte di attività che fa riferimento al sistema nuovo, ma il resto dell’azienda non sarebbe in alcun modo pregiudicato.

Il programma, una volta conclusa l’installazione, garantisce un servizio regolare ed efficiente all’azienda: ciò non vuol dire, in ogni caso, che non vi sia bisogno di manutenzione. Nel corso della manutenzione, i problemi riscontrati potranno essere risolti, e al tempo stesso si potrà procedere con l’introduzione di tutti quei cambiamenti funzionali che avranno lo scopo di incrementare le prestazioni dei programmi.

Insomma, nell’ambito del ciclo di vita del software il deployment è uno step di cui non si può fare a meno per la buona riuscita degli scopi che ci si prefigge.