Ansible is a tool for configuration management and application deployment. It works by connecting to target systems using SSH and executing commands. Ansible has simple definitions for describing system configurations and states using YAML files and modules written in Python. Modules allow Ansible to assess system states, make changes idempotently to ensure systems match the defined states. Ansible is highly modular and has many contributors due to its architecture, examples, documentation and an active community.