Ansible is the agentless configuration-management tool that took over from Puppet and Chef for most use cases. It works by SSH-ing into target machines and running idempotent tasks defined in YAML playbooks. No agent to install, no client/server bootstrap — just Python on the target and SSH access from the control node.
Ansible handles three jobs that overlap in practice: provisioning machines, configuring them after they exist, and orchestrating multi-machine deploys. Most modern infrastructure uses Terraform for the first job, Ansible for the second, and increasingly skips Ansible entirely for greenfield Kubernetes-based deployments. For long-lived VM fleets and on-prem infrastructure, Ansible is still the practical default.