La respuesta corta es "Gestión de implementación del sistema operativo", "Gestión de la configuración" y "Paquete de software". La respuesta larga sigue.
Me gustaría agregar a la respuesta de Daniel Pittman un desglose de lo que forma un "sistema" en la administración de sistemas.
Un sistema o un entorno comprenderá:
- Servidores
- Sistema operativo
- Configuración
- Paquetes de proveedores; y
- Paquetes locales
Envolviendo estos serán procesos tales como:
- Implementación o imagen del sistema operativo
- Gestión de la configuración
- Paquete de software de gestión
- Auditoría / registro
- Supervisión
- Copias de seguridad
Y le gustaría que estos se combinen para ayudarlo a lograr objetivos no funcionales como:
- Repetibilidad
- Mantenibilidad
- Mensurabilidad
- Actuación
- Rastreabilidad
- Testabilidad
- Posibilidad de cambiar
Esta es una descarga rápida de cerebro. Estoy seguro de que se podrían agregar más a todas las listas.
Su pregunta toca varios de estos sin usar las palabras específicas. Por ejemplo, desea poder implementar fácilmente y revertir, es decir, desea mantenerlo; desea hacerlo en un entorno de prueba y probar hasta que pase, es decir, repetibilidad, comprobabilidad y mensurabilidad; está pensando en poner imágenes vm en el control de versiones porque desea repetir el sistema operativo y las implementaciones de configuración.
Hay muchas herramientas para ayudarlo con esto, algunas de ellas mencionadas por Daniel. Algunos otros son:
- Kickstarts (basado en RedHat), Preseed (basado en Debian), WDS (MS Windows) para implementar entornos de SO conocidos
- Spacewalk / Satellite (basado en RedHat), Políticas de grupo (MS Windows) para la configuración y administración de paquetes
- Sistemas de empaquetado YUM y APT para generar, implementar, actualizar y eliminar paquetes (conjuntos de archivos binarios, datos y configuración que comprenden una pieza de software)
- Nagios, OpenNMS y SCOM para monitoreo
- Amanda, Bacula y Windows Backup Server para copias de seguridad
- Munin, PCP e Hyperic para monitoreo de desempeño
- CVS, SVN, GIT o Bazaar para control de versiones
- Hudson y Jenkins para la gestión de compilación
- Selenio y robot para pruebas
- Bugzilla, Request Tracker y Jira para grabación, comunicación y seguimiento
Nuevamente, esta no es una lista completa, sino algo que tengo en mente para guiarme y espero que también te ayude.