Understanding Puppet
The DPKs are delivered with the PeopleSoft Puppet modules, which are initialization and management scripts based upon the open-source Puppet software. The PeopleSoft Puppet modules can be used to customize and control the PeopleSoft environments deployed from the DPKs. This section includes a brief introduction to Puppet.
Puppet is a tool designed to manage the configuration of UNIX-like and Microsoft Windows systems declaratively. The user describes system resources and their state, either using Puppet's declarative language or a Ruby DSL (domain-specific language). This information is stored in files called “Puppet manifests.” Puppet discovers the system information and compiles the Puppet manifests into a system-specific catalog containing resources and resource dependency, which are applied against the target systems. Any actions taken by Puppet are then reported. Puppet consists of a custom declarative language to describe system configuration, which can be either applied directly on the system, or compiled into a catalog and distributed to the target system with a client–server paradigm (using a REST API), and the agent uses system-specific providers to enforce the resource specified in the manifests. 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, or apt).
Puppet has been chosen by Oracle as a solution for provisioning PeopleSoft environments for the following reasons:
-
Community
Puppet has a significant presence in the configuration management marketplace and a strong user community. This community contributes to improving and testing Puppet core functionality.
-
Open source and Enterprise solutions
Puppet Open Source is sufficiently rich in features to meet the requirements of Oracle for orchestrating the provisioning of large numbers of PeopleSoft environments in a fully automated fashion.
-
Lightweight
Puppet can be run in standalone (master-less) mode and therefore does not require complex steps to get started.
-
Data and code separation
Puppet encourages clean separation of the data that describes your environment and the way in which it is provisioned.
-
Component modules
The creation of Application Component modules allows vendors such as Oracle to create lightweight, isolated modules that can be independently obtained and plugged into existing Puppet environments.
-
Role isolation — separation of infrastructure instructions and application instructions
This allows your system administrators to provision the OS independently of the Application steps. Puppet facilitates this role separation and allows the administrators to focus on the operational needs of the environments.
-
OS platform support
Puppet agent can run on all supported PeopleSoft OS platforms.