Ansible as an alternative to puppet/chef/cfengine and others ...
source link: https://arrfab.net/posts/2012/Oct/26/ansible-as-an-alternative-to-puppetchefcfengine-and-others/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
I already know that i'll be criticized for this post, but i don't care :-) . Strangely my last blog post (which is *very* old ...) was about a puppet dashboard, so why speaking about another tool ? Well, first i got a new job and some prerequisites have changed. I still like puppet (and I'd even want to be able to use puppet but that's another story ...) but I was faced to some constraints when being in front of a new project. For that specific project, I had to configure a bunch of new Virtual Machines (RHEL6) coming as OVF files. Problem number one was that I can't alter or modify the base image so i can't push packages (from the distro or third-party repositories). Second issue is that I can't install nor have a daemon/agent running on those machines. I had a look at the different config tools available but they all require either a daemon to be started, or at least having extra packages to be installed on each managed node. (so not possible to have puppetd nor puppetrun or invoke puppet directly through ssh , as puppet can't even be installed, same for saltstack). That's why i decided to give Ansible a try. It was already on my "TO-test" list for a long time but it seems it was really fitting the bill for that specific project and constraints : using the 'already-in-place' ssh authorization, no packages to be installed on the managed nodes, and last-but-no-least, a learning curve that is really thin (compared to puppet and others, but that's my personal opinion/experience).
The other good thing with Ansible is that you can start very easily and then slowly add 'complexity' to your playbooks/tasks. I'm still using for example a flat inventory file, but already organized to reflect what we can do in the future (hostnames included in groups, themselves included in parents groups - aka nested groups). Same for the variables inheritance : at the group level and down to the host level, host variables overwriting those defined at the group level , etc ...)
The Yaml syntax is really easy to understand so you can have quickly your first playbook being played on a bunch of machines simultaneously (thanks to paramiko/parallel ssh). The number of modules is less than the puppet resources, but is quickly growing. I also just tested to tie the execution of ansible playbook withJenkins so that people not having access to the ansible inventory/playbooks/tasks (stored in a vcs, subversion in my case) can use it from a gui.. More to come on Ansible in the future
Recommend
-
20
Blazing the trail CFEngine was the first Configuration Management solution on the market, and while we have made many and significant changes and improvements to CFEngine in that time, we stay true to the princip...
-
14
Minimal distributed configuration management in bash. Tiny alternative to ansible / chef / puppet / etc. Made with :heart:...
-
13
Problem In vagrant, ohai returns the eth0 ip. This is a PITA, since if you run clusters of Vagrant that use Chef (as I do), then Chef and ohai thinks the IP address of the node is always: 10.0.1.15
-
25
What do we need chef backup and restore for In my last blog post, that you can find here, I wrot...
-
6
vRealize Automation has always embraced third party configuration management solutions like Ansible and Puppet to provide extensibility and in-guest management during mach...
-
5
Ansible vs Puppet: Which is right for you? Elle Krout May 7, 2021 9 Minute Read As DevOps e...
-
11
Best Books To Learn Puppet and Chef AutomationThis is a personal message of gratitude to all operations experts who toil day and night to ensure that applications, servers, hardware, networks and databases are up and working every single hour...
-
4
Reading Time: 3 minutes What is Configuration Management ? Configuration management is a process for maintaining computer systems, servers, and software in a desired, consistent state. It is a way to make sure that a system perform...
-
6
Home
-
3
Home Menu...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK