For most of the history of personal computing, large companies shunned Macs because there were few tools available to manage hundreds or thousands of computers. Large companies have scalability needs that small offices do not. Apple has addressed some of these issues with OS X Server and Apple Remote Desktop. These tools are adequate in small to mid-size offices, but do not scale well to large enterprises. As Macs have grown in the corporate world, so have the options for system management.
Configuration Management software takes care of most of the setup items that employees shouldn’t be touching, such as software preferences, patches, user accounts, and application installation. There are several enterprise-grade solutions that are available on OS X. One of the more compelling CM platforms is Puppet. This is an open source package, which is also available in a commercial version.
Puppet offers powerful features which go well beyond what ARD offers. Puppet clients (called Agents) constantly poll the master server, looking for configuration changes. This feature is extremely useful when your Macs (and MacBooks) go on and offline. When a configuration change is needed, it’s automatically applied. If Puppet sees that the change has already been applied, it’s not applied again – it’s simply ignored. This minimizes disruption in your environment. Another great benefit of Puppet is its scripting language. You can use variables, conditional operators, and templates to customize the changes applied to clients.
Puppet is getting widely adopted, and has financial backing from serious players. Google’s own desktops are managed by Puppet, for example. Competing configuration management solutions include BigFix (from IBM) and Casper (from JAMF).