I only do this as so far as to run kubernetes on them - I use kubeadm and kubectl. I even made a github project for the most repetitive usecases:
https://sanic.ioIf I had to start a few thousand servers I'd just use terraform or fabric (https://www.fabfile.org/index.html)