Server Management

Server management on daily basis in a growing environment could be a challenge. Most of the tasks is here done with ClusterSSH in help with a homebrew mail notification.

ClusterSSH

Unfortunately this workflow is not scaling well for 200+ systems. I had a look into apt-dater but this seems not to fit our workflow. FAI looks a bit over-engineered at the first glance.

Maybe Puppet is an option? There seems to be many extensions for it, unfortunately ruby is needed on every single node. Is there a CTO-compatible overview about puppet, any other alternatives? ;)

Update: Many thanks for the hints from André Luís Lopes, Stig Sandbeck Mathisen, Phil Miller, Steve Kemp, Andrew Latham, Bob Proulx and Natxo Asenjo

  • Chef
    • Packaged in Debian
    • Upstream Debian packages (no recent one)
  • CFEngine3
    • No ruby/perl/python dependencies
    • Light, fast
    • (A bit) harder to understand
    • Packaged in Debian
    • Upstream Debian packages
  • Salt
    • Very young
    • Packaged in Debian
  • Ansible
    • Very flexible
    • Easy to understand
    • Relies on ssh
    • Open ITP
    • PPA
  • MCollective
    • Framework for building server orchestration and parallel job execution
    • Could extend for example Puppet or Chef
    • Packaged in Debian
    • Upstream Debian packages (no recent one)
  • Foreman
    • Puppet dashboard and node classifier
    • Open ITP
    • Upstream Debian packages

Old but conceptual still valid: www.infrastructures.org, for example Bootstrapping an Infrastructure

Other thoughts: push- or pull-infrastructure? Software footprint (on nodes and your central instance)!

Hints, rants and comments could be send to 'blog - at - waja - dot - info'.