Řešení 1:
Upozornění:Jsem jedním z vývojářů Puppet.
Zřejmým způsobem je pouze aplikovat koncepty:definovat cyklus vývoje/testování/výroby a prosazovat změny. Ke sledování systémů použijte správu verzí.
Stručně řečeno, začít touto cestou vede ke zjištění, že opravdu chcete nástroje, které tyto věci automatizují – v podstatě chcete automatizovat správu systémů, abyste tyto techniky nepoužívali na strojích, ale používali je na systému, který spravuje stroje.
Nástroje jako Chef, Puppet, Salt a CFEngine jsou všechny oblíbené nástroje pro řešení této druhé potřeby. Pracují v obecném směru přeměny správy systémů na centrální řešení, které můžete spravovat a testovat.
Hnutí DevOps je dalším zdrojem dobrých informací, jak na to. I když zásadou je lepší spolupráce mezi vývojáři a provozním personálem, ubírá se také stejným směrem.
Řešení 2:
Stručná odpověď je „Správa nasazení OS“, „Správa konfigurace“ a „Software Packaging“. Následuje dlouhá odpověď.
K odpovědi Daniela Pittmana bych rád přidal rozpis toho, co tvoří "systém" v administraci systémů.
Systém nebo prostředí se bude skládat z:
- Servery
- Operační systém
- Konfigurace
- balíčky dodavatele; a
- Místní balíčky
Tyto budou obalovat procesy jako:
- Nasazení nebo zobrazení operačního systému
- Správa konfigurace
- Správa softwarových balíčků
- Audit/protokolování
- Monitorování
- Zálohy
A rádi byste je spojili, aby vám pomohli dosáhnout nefunkčních cílů, jako jsou:
- Opakovatelnost
- Udržovatelnost
- Měřitelnost
- Výkon
- Sledovatelnost
- Testovatelnost
- Změnitelnost
Tohle je rychlé vyhození mozku. Jsem si jistý, že do všech seznamů by bylo možné přidat další.
Vaše otázka se dotýká několika z nich, aniž byste použili konkrétní slova. Například chcete být schopni snadno nasadit a vrátit se zpět, tj. chtít udržovatelnost; chcete to udělat v testovacím prostředí a testovat, dokud neprojde, tj. opakovatelnost, testovatelnost a měřitelnost; uvažujete o umístění obrazů vm do správy verzí, protože byste chtěli opakovatelnost nasazení OS a konfigurace.
Existuje spousta nástrojů, které vám s tím pomohou, některé z nich zmínil Daniel. Některé další jsou:
- Kickstarts (založené na RedHat), Preseed (založené na Debianu), WDS (MS Windows) pro nasazení známých prostředí OS
- Spacewalk/Satellite (založené na RedHat), zásady skupiny (MS Windows) pro konfiguraci a správu balíčků
- Systémy balení YUM a APT pro generování, nasazování, upgradování a odstraňování balíčků (sady binárních souborů, dat a konfigurace obsahující část softwaru)
- Nagios, OpenNMS a SCOM pro monitorování
- Amanda, Bacula a Windows Backup Server pro zálohování
- Munin, PCP a Hyperic pro sledování výkonu
- CVS, SVN, GIT nebo Bazar pro správu verzí
- Hudson a Jenkins pro správu sestavení
- Selen a robot pro testování
- Bugzilla, Request Tracker a Jira pro nahrávání, komunikaci a sledování
Opět, toto není úplný seznam, ale něco, co nosím v hlavě, aby mě to vedlo a doufejme, že to pomůže i vám.