# Configuration as Code: Terraform, Ansible & Puppet โ€” The Three Musketeers of Infrastructure Presentation for the **Finistรจre Dev Meetup**. ## ๐Ÿ“ Abstract > "It works on my server." One machine, hand-configured, impossible to reproduce โ€” and the problem only gets worse as you scale to ten, a hundred, a thousand servers. Configuration drift creeps in silently, and nobody remembers exactly how anything was set up. > > What if your infrastructure was justโ€ฆ code? > > This talk introduces **Configuration as Code** through its three best-known tools โ€” **Terraform**, **Ansible**, and **Puppet**. We'll see what each one actually does: how Terraform provisions infrastructure declaratively and tracks its state, how Ansible configures servers and runs operations over SSH, and how Puppet's agents continuously enforce compliance and heal drift at scale. Along the way we'll touch on the real-world questions that matter โ€” licensing changes, open-source forks, enterprise vs community editions, and tooling at scale. > > The punchline: these tools aren't competitors. They're complementary, each solving a different layer of the same problem. By the end you'll understand where each one fits โ€” and how a typical production setup uses all three together: Terraform to provision the VM, Ansible to configure it and deploy the app, and Puppet to keep it compliant, forever. ## ๐ŸŒ View the slides ๐Ÿ‘‰ **https://ministicraft.pages.git.cloud.arnaud-pc.fr/finistdev-configuration-as-code/** ## ๐Ÿ› ๏ธ Built with - [Reveal.js](https://revealjs.com/) โ€” HTML presentation framework ## ๐Ÿ“ฆ Deployment Slides are automatically published via [git-pages](https://codeberg.org/git-pages/git-pages) on every push to the `pages` branch.