PUPPET-AN AUTOMATED ADMINISTRATION
Puppet is an open source tool used for configuration management.Puppet can also be described as an automated administrative engine designed for Unix Systems and performs all sort of administrative tasks based on a centralized specification which includes addding users,package installation,configuration updates for server . If we put it into more simple terms, puppet can be termed as a system for automating system administration tasks.Puppet is designed to manage the configuration of Unix-like and Windows systems declaratively. In the Puppet manifests, System resource and resource state are described by Puppet or Ruby DSL (domain-specific language).
To describe system configuration, Puppet uses a more custom language which is declarative in nature and can be either directly applied on the system, or catalog compilation and distributing it to the target system via client–server paradigm is another alternative.To enforce the resource specified in the manifests, the agent uses system specific providers and the resource abstraction layer enables administrators to describe the configuration in high-level terms, such as users, services and packages without the need to specify OS specific commands(such as rpm, yum, apt).
Puppet is cross-platform, and it works on most Linux operating systems (including Red Hat, CentOS, Fedora, Debian, Mandriva, Ubuntu, and SUSE), as well as multiple Unix systems (Solaris, BSD, Mac OS X), and has basic Windows support.Puppet being a model-driven solution requires no coding knowledge to use.The act of specifying the services will help you in making out the systems you actually need and once your services are modelled using Puppet, your ability to scale and recover from hardware failure could just be plugging in a new blade, setting the hostname and starting puppet.
How Puppet helps Adminstrators?
Puppet is all about Automated System Administration which can save you countless hours of frustration, monotony, and/or reinventing the wheel.
It speaks the local language
Puppet lets you perform normal administrative tasks on 'n' number of systems, even if those systems are running completely different operating systems.
Can Administer One Server or even 10,000
Puppet can help to reduce overhead and track the daily management of your network under control, so that the concentration can be upon the real problems. It doesn't makes difference whether it is a heterogeneous network of user workstations or a cluster of rack-mounted number-crunchers.
Robustness
Being an Open Source product, you’ll always have free access to the latest version of Puppet’s source code and because of its easy availability, community developers are continually contributing to its stability and functionality.
Its Powerful, Flexible and Extensible
New providers and new functionality are being added to Puppet all the time, and since its providers are written entirely in Ruby, many developers already have a head start in writing their own custom extensions and because it’s Open Source, developers from around the world can contribute their solutions back to the project, making everyone’s existing solutions better.
Without Facter, Puppet would have been a Fish out of Water
Puppet uses Facter, a system assay tool, to get the lay of the land. Facter produces a profile of each host, and makes system information available to Puppet as variables. This will let you categorize your systems by network, hostname, operating system or hardware type without having to constantly update config files, augment LDAP entries, or edit eye-crossing XML description documents.
Repeatable Configurations
Puppet’s unique, declarative language helps you to describe your system configuration.It has the capability of reproducing any configuration on any number of additional systems without changing a single line of your Puppet manifest.
Let us summarize how Puppet helps an Adminstrator
ñ Discovering and configuring new instances via the new GUI.
ñ Visualizing and managing changes against a desired-state baseline.
ñ Automating and scheduling processes across clusters.
ñ Rapidly increasing capacity in virtualized and cloud environments.
So now System Admins have found their new buddy!!