Indeed. Terraform is a single point of failure because it explicitly needs to keep state. For larger environments this is a headache.
Ansible can read the running state which is more robust. External modifications of state happens, if nothing else than as a result of failure modes not under your control. Setting and reading state explicitly is a feature. Code should be committed to git at all times.
For larger environments infrastructure drift is a much bigger headache then that Terraform has to store a json blob somewhere.
Having a combination of state and reading running state (like Terraform does) is crucial to have a tool that can scale for large environments.
Comments
Indeed. Terraform is a single point of failure because it explicitly needs to keep state. For larger environments this is a headache.
Ansible can read the running state which is more robust. External modifications of state happens, if nothing else than as a result of failure modes not under your control. Setting and reading state explicitly is a feature. Code should be committed to git at all times.
For larger environments infrastructure drift is a much bigger headache then that Terraform has to store a json blob somewhere. Having a combination of state and reading running state (like Terraform does) is crucial to have a tool that can scale for large environments.