RSS Feed for This PostCurrent Article

Open Source Software Configuration Management

If you are already familiar with open source monitoring, you might also be interested in open source software configuration management. Software Configuration Management (SCM) attempts to identify the configuration of software at discrete points in time and to systematically control changes to the configuration for the purpose of maintaining software integrity, traceability, and accountability throughout the software life cycle.

For example, say you have a cluster of Apache servers and you want to update them all with an additional mime-type, or add a virtual host to each. Rather than manually updating each configuration file on each server you could use a tool that process all the changes simultaneously. Or a tool that pools all the configuration variables into an easily readable form driven interface. The other benefit for some of these tools is the ability to have a changelog so that if your roll out a new configuration and it doesn’t work you can revert to the last good configuration easily.

  • cfengine - Cfengine is an automated system for managing Unix-like systems. It claims to go beyond change management and is purported to be autonomic. It’s also been around for a fairly long time –1993. Here’s a good FAQ on cfengine. Bottom line: cfengine is very powerful and geared to provide automation of systems management tasks.
  • NetDirector - NetDirector is a Web-based Linux and Solaris systems administration platform that provides secure, easy-to-use, one-to-many management of popular services running on a wide variety of Linux and UNIX platforms. It’s a web-based application much like Zenoss but runs on Java technology instead of python. It’s GUI interface makes system administration easier for those not familiar with configuration of many open source applications. NetDirector is released under the NetDirector Public License which is a license similar to the Mozilla Public License. Bottom line: Easy-to-use configuration management in a Web 2.0 presentation, no programming necessary.
  • puppet - Puppet is designed to work on most varieties of UNIX-like operating systems. Puppet is has a very robust scripting language to perform many system administration tasks. So you could create a library of configurations then the puppet daemon connects to clients via XML-RPC over HTTPs and pushes out these configurations. It can even check for changes and make sure that the changes match the library. Perhaps one of the most powerful of the solutions listed. Here’s an overview. Bottom line: Can be described as a next generation tool similar to cfengine but with some modernization.
  • Webmin - Webmin is a web-based interface for system administration for Unix. Using any modern web browser, you can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to manually edit Unix configuration files like /etc/passwd, and lets you manage a system from the console or remotely. Unlike the other solutions you need to install webmin locally on each box you want to edit and there is no one to many capabilities as with the other solutions. However, there are tons of plug-ins for different configuration items that can be managed by Webmin. Bottom line: Easy-to-Use, and expandable. Perhaps the most popular Linux/Unix software configuration tool.

All the software listed here is freely available for download under an open source license.

Sphere: Related Content

Trackback URL

RSS Feed for This Post1 Comment(s)

  1. John Willis | Aug 30, 2007 | Reply

    Mark,

    Great blog. I forgot about Netdirector in my review of Puppet. Here is my overview of Puppet if anyone is interested…

    http://www.johnmwillis.com/?p=212

    John Willis

1 Trackback(s)

  1. From   Zenoss Blog ยป Open Source Software Configuration Management by CRACKMAC.COM | Aug 30, 2007

RSS Feed for This PostPost a Comment