Ansible is an imperative language while Puppet is declarative.
Ansible is push mode (ssh connection) while Puppet and Chef have an agent that pulls and enforces configuration.
Ansible is great for quick hacky or one time solutions like building a server. It's very newb friendly and easy to use out of the box. Puppet is great for enforcing a configuration every 30 minutes and scales across Data Centers. In my opinion Chef is more robust and is easier to use and share cookbooks on Supermarket.
Ansible Galaxy isn't as great for sharing work, but I find Ansible is so easy to use I don't need anyone else's work.
Once this has a pull mode (agent) it seems it will be like a very lightweight Puppet like declarative tool. Both Puppet and Chef have very mature products for serving and managing infrastructure. They can scale.
This tool might be awesome years from now, but I have to use Ansible everyday at work. From 2.0 to 2.8 it has become a solid and fairly mature product. I also use Puppet and have for 10 years. It feels old and is a pain to use across 1000s of machines in an Enterprise. There is a learning curve and training to be done at all times. At my last job I used Chef and I really love it for being powerful, easy to use, and just having a great design.
We currently install Puppet with Ansible once initial config is done to enforce policies. I could see this potentially replacing the Puppet side of that equation some day.
I'll for sure watch this tool and experiment with it in my lab as it grows. I do love Python and Puppet is far to long an overhaul. It will be interesting to see what directions are taken as this new product matures.
I do not think this is about using python instead of yaml. It is super easy to write Python modules for Ansible and use them. We have to use them for the things that aren't included in the base such as managing Infoblox etc.
Very different task and process model by default (ssh is a first-class citizen in Ansible). There’s also differences in the default mode of push or pull from a source of control (ansible pull mode is sorta similar to Salt’s minions and Chef / Puppet master servers except with a git repo typically). Chef and Puppet are much more traditional