https://staragile.com/blog/ansible-vs-puppet