3 ms·
Could you explain how this is different from Ansible? That webpage says pyinfra is "Integrated with Docker, Vagrant & Ansible out of the box", so I would think
by skyfaller 4y ago
Could you explain how this is different from Ansible? That webpage says pyinfra is "Integrated with Docker, Vagrant & Ansible out of the box", so I would think the use cases aren't identical, otherwise they wouldn't bother integrating it with tools that do the exact same thing.
Can anyone compare pyinfra to these other projects?
- shaicoleman 4y agoThe main difference is that pyinfra is a library, so you can use all the power of a general purpose programming language (functions, data structures, variables, modules, loops, conditions, calling APIs, debugging, etc.). Ansible uses YAML configuration files, and basically reinvents and tries to shoehorn a lot of above into YAML. Due to the limitations of YAML, it's extremely verbose, and requires a lot of copy paste, and quickly becomes unmaintainable. Customising and adding functionality is also a lot more difficult and time consuming with Ansible. Ansible is also extremely slow due to the way it works, and can take ages to run even if nothing has changed on the target device. The slow feedback loop and the lack of debugging can make even small changes painful, even on localhost. On remote hosts, it's even worse. pyinfra only has a dependency of a shell on the remote target, where Ansible requires Python. pyinfra cons: smaller community, less modules, doesn't have extensive hardware support (e.g. routers/switches/firewalls). Though usually it's not a big problem, because it's easy enough to add any missing functionality.