
Ansible, Puppet, Chef: No Thanks - thenrich99
https://fortyft.com/posts/ansible-puppet-chef-no-thanks/
======
dozzie
> Work on large systems long enough and immutability becomes a very valuable
> concept.

On the other hand, if you work on _medium-sized_ systems (and those are much
more common than _large_ ones), immutability is too expensive to work with.

> Installing application dependencies when each server starts up increases the
> chances of servers running different versions of packages

Only if you're stupid enough not to package your dependencies, if you use
distribution not suited for servers (like Fedora or Ubuntu non-LTS), or if you
use external repositories you don't control that don't have stable retention
policy for packages. And mind you, these three were always a bad idea.
Appearance of Kubernetes and other magic faerie dust of Docker haven't changed
it.

~~~
thenrich99
> On the other hand, if you work on medium-sized systems (and those are much
> more common than large ones), immutability is too expensive to work with.

Care to elaborate on your experiences here? Mine have been the opposite for
smaller systems.

> Only if you're stupid enough not to package your dependencies, if you use
> distribution not suited for servers (like Fedora or Ubuntu non-LTS), or if
> you use external repositories you don't control that don't have stable
> retention policy for packages. And mind you, these three were always a bad
> idea. Appearance of Kubernetes and other magic faerie dust of Docker haven't
> changed it.

Valid point -- though I would still argue that packaging and distributing
dependencies at the container level is easier to get right than at the system
level. I might be in the minority, but having managed custom RPM repositories
for projects and leveraged tools like FPM, (Effing Package Manager), the move
to containers was a huge win in terms of flexibility (each container having
its own dependencies) and organization.

