La risposta breve è "Gestione della distribuzione del sistema operativo", "Gestione della configurazione" e "Pacchetto software". Segue una risposta lunga.
Vorrei aggiungere alla risposta di Daniel Pittman una suddivisione di ciò che costituisce un "sistema" nell'amministrazione dei sistemi.
Un sistema o un ambiente comprende:
- server
- Sistema operativo
- Configurazione
- Pacchetti fornitore; e
- Pacchetti locali
Avvolgere questi saranno processi come:
- Distribuzione o imaging del sistema operativo
- Gestione della configurazione
- Gestione dei pacchetti software
- Revisione / logging
- Monitoraggio
- I backup
E ti piacerebbe che questi si combinassero insieme per aiutarti a raggiungere obiettivi non funzionali come:
- ripetibilità
- manutenibilità
- Misurabilità
- Prestazione
- Trackability
- testabilità
- Mutevolezza
Questa è una rapida discarica del cervello. Sono sicuro che potrebbe essere aggiunto di più a tutte le liste.
La tua domanda tocca alcuni di questi senza usare le parole specifiche. Ad esempio, si desidera essere in grado di distribuire facilmente e ripristinare, ad esempio, la manutenibilità; vuoi farlo in un ambiente di test e testare fino a quando non passa cioè ripetibilità, testabilità e misurabilità; stai pensando di mettere le immagini VM nel controllo della versione perché desideri la ripetibilità delle distribuzioni del sistema operativo e della configurazione.
Ci sono molti strumenti per assisterti in questo, alcuni dei quali menzionati da Daniel. Alcuni altri sono:
- Kickstarts (basato su RedHat), Preseed (basato su Debian), WDS (MS Windows) per la distribuzione di ambienti operativi noti
- Spacewalk / Satellite (basato su RedHat), Criteri di gruppo (MS Windows) per la configurazione e la gestione dei pacchetti
- Sistemi di packaging YUM e APT per la generazione, la distribuzione, l'aggiornamento e la rimozione di pacchetti (set di file binari, dati e configurazione che comprendono un software)
- Nagios, OpenNMS e SCOM per il monitoraggio
- Amanda, Bacula e Windows Backup Server per i backup
- Munin, PCP e Hyperic per il monitoraggio delle prestazioni
- CVS, SVN, GIT o Bazaar per il controllo delle versioni
- Hudson e Jenkins per la gestione degli edifici
- Selenio e robot per i test
- Bugzilla, Request Tracker e Jira per la registrazione, comunicazione e tracciamento
Ancora una volta, questo non è un elenco completo, ma qualcosa che tengo nella mia testa per guidarmi e speriamo che possa aiutarti anche tu.