Ansible, Puppet, Chef: No Thanks

4 points by thenrich99 8 years ago | 2 comments
  • dozzie 8 years ago
    > 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 8 years ago
      > 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.