Live data from Hacker News

A configuration management system for computers that are pets, not cattle

github.com

31–40 of 93 posts

Re: A configuration management system for computers that are pets, not cattle

#31

Earlier quoted context omitted.

Except it is bloated and slow, and primarily only maintained by Red Hat where they don't fix bugs for extended periods of time. Their loops and register methods are extremely slow taking 30 seconds to delete a group of files and folders which only takes a second in Bash.

Also the deployments decay and break over time

Very true. I really wish Terraform would have attempted to solve automation on the scale of Ansible, or another organization would have committed to a replacement in Go or Rust. Unfortunately Ansible is still the best that we have currently.

Re: A configuration management system for computers that are pets, not cattle

#32

> The idea behind Pets is that Configuration Management of individual hosts shouldn’t be harder than administering the system by hand. Just administer it by hand and back it up.

Very unhealthy attitude. Why shouldn’t things be easily configurable from scratch?

Re: A configuration management system for computers that are pets, not cattle

#33

I might just be biased by selective attention, but it seems like more and more of these are popping up lately. I feel like we will eventually recognize a variant of Greenspun's Tenth Rule as common wisdom: > Any sufficiently complicated build system or configuration management system contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Nix. (Although to be honest it might make more sen…

I think it’s a cyclic pendulum sort of thing. We crave the networking/herding effect. So we promote a bandwagon, and try to get everyone on the same. We get there and realize we’ve turned a trip to Starbucks into an Artemis launch. Frustrated that we’ve rediscovered you can’t please all the people all of the time, we race back to individual tooling, each doing one task and one task well, factionalized and repeated in…

This comment is of public service. The depiction of the herd effect is perfect. Thanks for your contribution!

Re: A configuration management system for computers that are pets, not cattle

#35

> The idea behind Pets is that Configuration Management of individual hosts shouldn’t be harder than administering the system by hand. Just administer it by hand and back it up.

Very unhealthy attitude. Why shouldn’t things be easily configurable from scratch?

Well I have 25 years of experience with configuration management, including over 10 years having lead the development of one of the major tools in the space, and I don't waste time doing configuration management on my laptop, I just back it up. You can go ahead and do configuration management of your laptop if that gives you enjoyment, but it is entirely over the top to say that is an "unhealthy attitude".

Re: A configuration management system for computers that are pets, not cattle

#36

I might just be biased by selective attention, but it seems like more and more of these are popping up lately. I feel like we will eventually recognize a variant of Greenspun's Tenth Rule as common wisdom: > Any sufficiently complicated build system or configuration management system contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Nix. (Although to be honest it might make more sen…

was going to say the same thing - but for ansible. an inventory file is literally a static list of pets in its simplest form, and with some simple convention you could have a directory per-host with any playbooks required. plus you have docs, community modules, etc.

Ansible is like a fifth wheel on a car, since all of the configuration can be done inside of OS packages, and orchestration can be done via SSH (which is exactly how Ansible does it). Put those two together and Ansible is a solution to a non-existent problem.

Re: A configuration management system for computers that are pets, not cattle

#37
I dunno, I just feel like in my time playing pretend DevOps, I've just ended up learning how to use Terraform/Puppet/Ansible/whatever and now all of my infra actually is cattle, even though I think 9 out of 10 devs in my shoes would have gone the pets route.

It was some extra work to set up, but now I feel supremely confident in the hardiness of the infra, and can scale it at will with some small tweaks.

Is it perfect? Heck no! But I know for a fact when I go the "pets" route it ends up being more work in the end for me than just biting the bullet and learning a new tool.

I just like knowing stuff! I enjoy diving in and getting my hands dirty learning the "best" way to handle a use case, or at least setting things up to be well understood if I ever have to pass it off to someone else more qualified than me.

Re: A configuration management system for computers that are pets, not cattle

#38

Earlier quoted context omitted.

ansible just runs commands over ssh. can’t get more simple.

Except it is bloated and slow, and primarily only maintained by Red Hat where they don't fix bugs for extended periods of time. Their loops and register methods are extremely slow taking 30 seconds to delete a group of files and folders which only takes a second in Bash.

These are indeed the two to three things I miss about our chef based infrastructure we had before. Doing 200 - 300 things on a system with chef takes 2 minutes in a chef run either at next full half hour + splay, or when forced. With ansible, the very same system at times takes 15 - 20 minutes. And mitogen is kind of a thing which reduces the ansible run back to 2 - 3 minutes - acceptable even enjoyable levels - but it falls apart if the python installation varies across many hosts, or when connecting to many systems at once (though that might be our firewall), or for other reasons if it feels like it.

And ansible filters are just something else. I get how to use them by now, but compared to some simple ruby's select + map... yeah. In most cases, once we need two of the complex filters, we just introduce a custom one in pure python because that saves sanity points.

Re: A configuration management system for computers that are pets, not cattle

#39
post #25

Earlier quoted context omitted.

Too heavy, too complex and too slow. Although ansible can be used in local machine, but it is design for multiple remote machine. For example, if you want copy a config file to target, you must use some tools like `scp` or do some hacking. And it's much slow than shell script, and the print in stdio is ugly. (because it's design for running in 100 machines in one time.) Ansible also had a steep learning curve, and re…

Ansible has a steep learning curve? The easiest thing to do is just a list of steps (playbook) and I'm sure that is in the getting started docs. Modularizing complicates things obviously but for simple uses I don't see how it can be simplified much further.

Yes, it was harder to master than terraform and even k8s. Their documentation was the reason, in most cases.
Post reply on HN