Puppet, the ancient rock of configuration management, is not easy to learn, but the program rewards admins with flexibility and security for those willing to tackle the learning curve.
Puppet is the Methuselah among solutions for configuration management, matured for a proud 15 years and currently at version 7. In contrast to Ansible, Puppet takes a declarative approach (i.e., it describes the state of a resource and not how to achieve it).
Listing 1 declares the kermit
account, which must exist and must belong to the muppets
primary group. A gonzo
user must not exist at the same time. Puppet must therefore be able to determine the current state and independently change it to the declared, desired state.
Listing 1
Resource Declarations
user { 'kermit':
ensure => present,
gid => 'muppets',
}
user { 'gonzo':
ensure => absent,
}
group { 'muppets':
ensure => present,
}
Resource Abstraction Layer
A major role in how Puppet accomplishes this task is played by the resource abstraction layer (RAL). This core element in Puppet is also responsible for platform independence. To do this, RAL distinguishes between types and providers. A type defines the properties of a resource like a user. These properties include parameters such as gid, home, or shell. Each type must have at least one provider that describes how the current state is determined and how the desired state can be achieved. The provider type is a metaparameter, because it is always available with every resource.
Figure 1 also shows a package type, which is used to take care of various software packages. If more than one provider is assigned to a type, there is always a default provider, which can differ
...
Use Express-Checkout link below to read the full article (PDF).
If you really want your evenings to belong to your job, you don't need to depend on configuration management. But is all your overtime really necessary just to configure a server system?
Automation is part of life in the data center, and Puppet is commonly regarded as the King of the Hill, but some users prefer the lean alternative Ansible.
If you really want your evenings to belong to your job, you don’t need to depend on configuration management. But is all your overtime really necessary just to configure a server system? Configuration should just happen by magic these days; after all, we’ve had computers long enough to understand how to get it right.
Virtual machines seem to be ideal for spare capacity. They are easy to create and remove – if only all those time-consuming administrative tasks like assigning IP addresses, setting up backups, and monitoring were more manageable. Having the right tools can help.