Краткий ответ: «Управление развертыванием ОС», «Управление конфигурацией» и «Упаковка программного обеспечения». Длинный ответ следует.
Я хотел бы добавить к ответу Дэниела Питтмана с разбивкой того, что образует «систему» в системном администрировании.
Система или среда будут состоять из:
- Серверы
- Операционная система
- конфигурация
- Пакеты поставщиков; и
- Локальные пакеты
Охватывающие их будут такие процессы, как:
- Развертывание ОС или создание образа
- Управление конфигурацией
- Управление программным пакетом
- Аудит / регистрация
- Мониторинг
- Резервные копии
И вы хотели бы объединить их вместе, чтобы помочь вам в достижении нефункциональных целей, таких как:
- стабильность
- Ремонтопригодность
- измеримость
- Производительность
- вроде возможностей отслеживания
- способность быть свидетелем в суде
- непостоянство
Это быстрая мозговая разрядка. Я уверен, что еще можно добавить во все списки.
Ваш вопрос касается ряда из них без использования конкретных слов. Например, вы хотите иметь возможность легко развертывать и возвращаться назад, то есть хотите обслуживаемость; Вы хотите сделать это в тестовой среде и тестировать, пока он не пройдет, т.е. повторяемость, тестируемость и измеримость; вы думаете о том, чтобы включить образы vm в систему управления версиями, потому что вам нужна повторяемость развертываний ОС и конфигурации.
Есть много инструментов, которые помогут вам в этом, некоторые из них упоминаются Даниэлем. Некоторые другие:
- Kickstarts (на основе RedHat), Preseed (на основе Debian), WDS (MS Windows) для развертывания известных сред ОС
- Spacewalk / Satellite (на базе RedHat), групповые политики (MS Windows) для настройки и управления пакетами
- Пакетные системы YUM и APT для создания, развертывания, обновления и удаления пакетов (наборы двоичных файлов, данных и конфигурации, составляющие часть программного обеспечения)
- Nagios, OpenNMS и SCOM для мониторинга
- Аманда, Bacula и Windows Backup Server для резервного копирования
- Munin, PCP и Hyperic для мониторинга производительности
- CVS, SVN, GIT или Bazaar для контроля версий
- Хадсон и Дженкинс за управление сборкой
- Селен и Робот для тестирования
- Bugzilla, Request Tracker и Jira для записи, связи и отслеживания
Опять же, это не исчерпывающий список, а то, что я держу в голове, чтобы помочь мне, и, надеюсь, это тоже поможет вам.