Ansible is a configuration management and application deployment tool that allows users to automate infrastructure and application provisioning, configuration management, and application deployment. It can be used for configuration management, security and compliance, application deployment, orchestration, continuous delivery, and provisioning. Ansible works by sending modules, which are bits of code, to target systems to execute tasks and satisfy task declarations. It has a large library of modules and can also run ad-hoc commands. Fact data about managed nodes is also discovered.