Acabou de descrever o Configuration Management e ferramentas como Puppet ou Chef .
O princípio é que você escreve suas configurações modularmente em uma linguagem específica do domínio. Esses módulos podem ser colocados em camadas para levar um host a um estado completo ou parcial necessário e mantê-lo lá. Eles também formam sua documentação, já que o DSL deve ser fácil de ler e reutilizar. Quando combinado com o Controle de Revisão, você tem um controle mais granular das alterações. A maioria das implementações inclui métodos de registro que podem ser expandidos.
A única coisa que geralmente falta em seus requisitos é a capacidade de realmente capturar estados e facilitar ações de desfazer. O CM pode simplificar isso em algum aspecto, documentando as alterações e armazenando os arquivos substituídos, mas não estou ciente de nenhum sistema que forneça uma reversão semelhante à do instantâneo. Você pode conseguir isso com virtualização e backups.