- Random Access Musings
- Posts
- Configuration Management Tools Unveiled (Part 2)
Configuration Management Tools Unveiled (Part 2)
Diving into Ansible and Chef

Image by storyset on Freepik
This is a series of posts about using configuration management with Ansible. You can read the previous entries at:
Hello Muser!
Before we dive into today's topic, let's quickly recap what we covered in our last post:
We introduced the concept of configuration management, the unsung hero of any efficient IT environment.
We used a restaurant analogy to illustrate the problems that configuration management solves, highlighting the need for consistency in both a bustling kitchen and an IT environment.
We discussed the three key principles of configuration management:
Idempotency: Ensuring that applying a configuration repeatedly will always produce the same result.
Declarativity: Declaring the desired state of the system, which the system then follows to achieve that state.
Push or Pull Methodology: The way configurations are applied, either by pushing configurations from a central server or pulling configurations by each node independently.
With that refresher in mind, let's explore the different tools available to assist with configuration management.

What Different Tools are Available?
There's a vast kitchen of tools available to assist with configuration management. Today, let's focus on two standout players:
1. Ansible: Ansible is your Michelin-starred chef - it's powerful and popular, using a push-based model to deliver configurations. It's admired for its simplicity and ease of use. Ansible requires no agents on the client systems, minimizing the overhead in your infrastructure. Furthermore, Ansible uses YAML for its playbook language, which is easy to read and write, making it a favorite among many system administrators.
2. Chef: Chef, true to its name, is another trusted partner in the kitchen of configuration management. It's like your reliable sous-chef, always ready to pick up the task. Chef uses a pull-based model and its configurations are written in Ruby, offering a great deal of flexibility and control. Chef shines in complex, heterogeneous environments where a high degree of customization is required.
Most modern Config Management systems use Git to version control their code! If you haven’t read my series on Git, you can find it here!
Understanding and leveraging configuration management is akin to running a successful kitchen—you need consistency in every dish, an ability to keep your patrons delighted, and a knack for maintaining order amidst the whirlwind of activity. In our next installment, we'll delve into the intricacies of managing your configurations using Ansible.
Before we part, here's what you'll need for next time:
A Linux computer/VM that you can ssh into
Ansible installed on your local workstation
If you're unsure about installing Linux, drop a comment below and I'll be more than happy to guide you! Moreover, your comments help me understand what you're curious about, what topics you'd like to see covered next, and how I can better serve your learning journey. So don't hesitate to share your thoughts!
Enjoyed this post? Don't miss our next one where we'll explore different tools available for configuration management. Subscribe now and share with your colleagues who might find this useful!
Keep learning and keep growing,
Reply