How to automate server installation? What infrastructure/systems fit our needs?
We have over 10 phisical servers with over 100 VMs, mostly LAMP. Not too many but also not anything that can keep working by itself. All servers have a KVM virtualization. We host various custom made applications for our customers that we modify frequently. So this is not a single application that needs to scale. Project teams work directly with customers and with VMs and this is a requirement.
The problem we routinely get into is that reinstallation of a VM/machine gets tricky since nobody controls recent changes to them, it poses a risk of instability, people defere it as long as possible and the problems get bigger over time.
I would like to establish a reinstallation procedure at least every 3 months and on demand. Reinstallation should start with a code repository and a backup. This should not be a VM duplication.
We estimate that this will cost us about 6 manmonths every 3 months in the current setup if done by hand. How can we reduce this time and also increase repetability of the process?
The question is what software can help us with automating this task. It should be as lightweight as possible. We do not need automated node allocation. We just need to have reinstallations to be as automated as possible. We assume human oversight of each reinstallation.
Our nodes are mostly LAMP with two systems having over 1TB structured DB data, several >200GB and around 50 small, custom VMs. We can schedule a planned downtime of each system easily, so this is not a question about high availability during reinstallation.
We just need to automate reinstallation as much as possible.