Deployment

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

Deployment è un termine della lingua inglese utilizzato in informatica, in particolare nel software, con diverse accezioni specifiche ma con il significato generico di distribuzione.

Descrizione[modifica | modifica wikitesto]

Applicazioni e sistemi software[modifica | modifica wikitesto]

Il significato più comune del termine "deployment"[1] in informatica è la consegna o rilascio al cliente, con relativa installazione, configurazione e messa in funzione o esercizio, di una applicazione o di un sistema software tipicamente all'interno di un sistema informatico aziendale (es. rete di computer aziendale). Lo si può di fatto considerare come una fase del ciclo di vita del software, la quale conclude lo sviluppo e il relativo collaudo e dà inizio alla manutenzione. Tipicamente questa operazione è appannaggio dei cosiddetti sistemisti applicativi[2].

Il termine deployment è usato a volte al posto del termine delivery sebbene i due concetti siano simili ma diversi. Deployment è la procedura operativa che consente di giungere alla delivery (consegna). Poiché l'impatto potenziale dell'installazione può essere traumatico per un'azienda abituata a precedenti sistemi, si hanno varie possibili modalità di installazione o deployment del software:

  • L' installazione diretta, in cui si disattiva il vecchio sistema e si sostituisce col nuovo appena creato. Se tale sostituzione presenta dei problemi non previsti in fase di sviluppo, non esiste backup dei vecchi programmi, causando enormi problemi. Tale soluzione è adottata soltanto in assenza di alternative valide.
  • L'installazione parallela, in cui il lavoro previsto per il nuovo sistema è distribuito in parti uguali su di esso e su quello obsoleto, in modo da far fronte ad un eventuale problema del nuovo utilizzando temporaneamente il vecchio. Quando il nuovo sistema raggiunge un discreto livello di affidabilità, sostituisce totalmente il vecchio.
  • L'installazione scaglionata, in cui il nuovo sistema è introdotto per gradi, man mano che vengono risolti gli errori riscontrati, esso sostituisce il vecchio secondo varie fasi. Adottando tale soluzione, eventuali problemi avranno conseguenze meno disastrose, interessando soltanto una singola fase. Svantaggio di questo tipo di installazione sono i tempi molto lunghi.
  • L'installazione pilota, in cui il nuovo sistema viene utilizzato soltanto per una piccola parte delle attività aziendali e, se funzionante regolarmente, viene esteso a tutta l'azienda. In caso di problemi essi risulteranno ristretti soltanto a quella parte di attività che adotta il nuovo sistema, senza pregiudicare l'intera attività aziendale.

Superata l'installazione e avviamento, il programma fornirà all'azienda un servizio efficiente e regolare, richiedendo comunque manutenzione, durante la quale vengono risolti i problemi riscontrati ed introdotti cambiamenti funzionali atti a migliorare le prestazioni dei programmi. Con la diffusione della fruizione di sistemi in modalità SaaS il concetto di deployment è cambiato dato che non c'è nulla da installare e in questo caso dunque si può parlare di configurazione dell'erogazione del servizio.

Configurazione[modifica | modifica wikitesto]

Diretta conseguenza di questo ambito è l'uso di deployment per indicare la procedura di configurazione avanzata (quindi operazioni più complesse richieste da un semplice setup), specie se eseguite da terminale comandi o ricorrendo a servizi infrastrutturali. In pratica, operazioni di installazione/configurazione (sia sistemistiche che applicative) attuate per rendere utilizzabile e funzionante un sistema (potrebbe anche essere un firmware o un ambiente di pre-avvio). Posto che nei manuali tradotti dall'inglese e anche nel gergo informatico non è quasi mai tradotto (si trova scritto anche "deploy"), si potrebbe usare il termine italiano allestimento.

Modellizzazione[modifica | modifica wikitesto]

In molti approcci alla modellizzazione del software o di altri sistemi, incluso quello di UML, il termine "deployment" viene usato per indicare quella parte di un modello che specifica come le funzioni del sistema, descritte altrove nel modello in termini astratti, siano messe in corrispondenza con oggetti concreti (componenti software o hardware).

Provisioning[modifica | modifica wikitesto]

Altro termine dell'inglese informatico, contiguo a deployment, è provisioning (lett. "erogazione", "fornitura", "approvvigionamento) usato quando si vuole significare "avviare ed erogare" un sistema IT[3]. Un altro significato è quello relativo alle procedure di creazione e manutenzione degli accessi (con o senza credenziali) delle informazioni agli utenti, ai servizi e alle macchine.

Ogni componente del sistema IT può essere sottoposto a provisioning che è una fase del deployment. La configurazione (fine tuning) è un'operazione tipica della fase di provisioning.

Note[modifica | modifica wikitesto]

  1. ^ Lett. "distribuzione", "diffusione", "percorso".
  2. ^ Nel caso applicativo lo stato deployed può essere tradotto in "rilasciato" (che, in pratica, significa "collaudato, configurato e funzionante", cioè validato), sebbene l'inglese informatico usi anche released con una sfumatura diversa (rilascio commerciale, non tecnico).
  3. ^ https://www.redhat.com/it/topics/automation/what-is-provisioning

Voci correlate[modifica | modifica wikitesto]