Recently, I have been provisioning cloud servers using Cloud-init. I like it and it is sufficient for my usecase which is simple configuration management.
To run and test