Ref: DigitalOcean tutorial of puppet
Ansible is very easy to use, just need master, no need to install on slaves. Instead, SSH (usually with pub keys) are used in Ansible.
Puppet is more complex, Ansible can be used to assist the installation.
Puppet requires firewall to open port nr 8140.