Puppet and Chef are popular configuration management tools that use code to define and automate infrastructure. Puppet uses a declarative domain-specific language (DSL) and model-based approach, while Chef uses Ruby scripts and a top-down execution model. Both tools allow defining reusable infrastructure components as modules/cookbooks and converge systems to their desired state. Puppet is open source while Chef offers commercial support plans starting at $120/month.