Both Terraform and Pulumi differ slightly I think provisioning cloud resources - pyinfra can be used alongside to setup instances/etc, I’ve used the pyinfra/Terraform combo with great success.
For ansible/chef, etc the main reasons/benefits boil down to:
- instant feedback esp on errors, get the stdout/stderr of whatever command pyinfra was executing, there’s no agent or abstraction to hide it
- configure in python rather than yaml+jinja2 mess
- integrate with the whole python package ecosystem
For ansible/chef, etc the main reasons/benefits boil down to:
- instant feedback esp on errors, get the stdout/stderr of whatever command pyinfra was executing, there’s no agent or abstraction to hide it
- configure in python rather than yaml+jinja2 mess
- integrate with the whole python package ecosystem
- speed and small overhead as inventories scale