Stack management and monitoring tools

Stack management and monitoring tools

Solution space

Tool

Class

Language

Application code management

Package creation

/etc Configuration

Packages

Daemons

Users/keys

State monitoring

Trend monitoring

Tool

Class

Language

Application code management

Package creation

/etc Configuration

Packages

Daemons

Users/keys

State monitoring

Trend monitoring

Subversion

Version control

C/C++

Bazaar

Version control

Python

git

Version control

Multiple

Capistrano

Application deployment

Ruby

Ant

Application deployment

Java

Fabric

Application deployment

Python

Puppet

Configuration management

Ruby

bcfg2

Configuration management

Python

cfengine

Configuration management

C/Perl

Hudson

Continuous integration

Java

Nagios

State monitoring

Perl

Munin

Trend monitoring

Perl

Cacti

Trend monitoring

Perl

Not supported
Supported
Monitoring only
Declarative
Imperative

Notes

There must be at least one application performing configuration management. The big question is which approach to take for application code management:

  • Use both a configuration management and an application deployment system.

  • Package the application as an RPM (relatively easy) and deploy using the configuration management system.