Hi Thomas,
Thank you for your questions.
To my knowledge both are (CM) Configuration Management tools; by definition, they are designed to achieve similar goals.
I’m more qualified to talk about Ansible. I have not explored Chef.
Ansible is an open-source software provisioning, (CM) Configuration Management, and application deployment, provisioning, and deployment tool acquired by Red Hat in 2015. It provides the ability through declarative language to describe system configuration; it uses YAML (YAML Ain’t Markup Language) a human-readable data serialization language syntax for expressing Ansible Playbooks. Ansible Playbooks are the building blocks for all the use cases of Ansible. Ansible uses SSH, with no agents to install on remote systems.
Here are some characteristics of Ansible:
- Procedural describes an application that requires the exact steps to be laid out in the code.
- It’s procedural language (step-by-step) application using YMAL
- Deploy once and you are done, unless you rerun it and the outcome is Idempotent
- It’s agent-less and uses SSH communication
- Use a client-only architecture
You can follow my blog post (https://medium.com/@ernesenorelus); I plan to write a topic every month if time allows.