For installing and updating many servers with uniform roles take a look at nanobsd. Works with filesystem "images" and enables image testing in advance, plus robust upgrades and rollbacks (version updates are close to atomic and require a single server reboot for the new version to be ran; in fact if kernel version remains the same,
reboot -rworks once, as it appears that kernel does not unlock the old filesystem prohibiting further updates until a real reboot). Not covering all the bases nor working in every case, but is very solid. Couple of years ago I got the impression Netflix uses nanobsd (or something similar) to manage their CDNs. Found it interesting, implemented nanobsd at work and never went back.