Puppet Consultants will provide services to assist the Customer to rapidly deploy Puppet Enterprise and successfully integrate it into the Customer’s infrastructure. The engagement
will consist of knowledge transfer and paired development. The objective is a working implementation of Puppet Enterprise that is designed to meet the Customer’s configuration
management automation goals, and a Customer team that is well prepared to continue its configuration management automation effort.
- Installations of up to 500 nodes.
- Small teams of up to 3 people.
- Customers with operational experience implementing Puppet and Git.
- Customers interested in a minimal engagement that focuses on getting workflow
established, without significant customization or new Puppet code.
- Self-starters that are comfortable extending configuration management on their own,
Consulting Services Description
Puppet will provide the following services related to the implementation of Puppet Enterprise:
1. Pre-engagement planning and preparation
- Remote discovery call(s)
- Draft project plan
- Other preparation items as needed (research, testing, etc.)
- To be completed by the Customer prior to the start of the engagement:
- Validate appropriate compute, network, and storage has been
- Confirm full-time availability of at least one technical contact has been
2. On-site discovery and concept review
- Determine goals and business needs
- Provide high-level overview of Puppet concepts if needed
3. Puppet Enterprise Installation
- Installation of Puppet Enterprise in a Monolithic Master configuration.
- Monolithic installation documentation:
- Configure backup and maintenance of the Puppet Enterprise infrastructure
- Knowledge transfer and initial configuration of Puppet Enterprise database backups and maintenance using this module https://forge.puppet.com/npwalker/pe_databases
- Knowledge transfer of procedures for restoring the Puppet Enterprise infrastructure from backups.
- Puppet Enterprise Agent deployment
- Knowledge transfer of Puppet Enterprise agent installation.
- Installation of Puppet Enterprise agents on as many nodes as licensed and possible.
- Knowledge transfer of options for automated Puppet Enterprise agent installation using one of the following techniques:
- Puppet Frictionless Agent Installation Tool
- Puppet Bolt and Tasks for mass agent installation via SSH/WinRM
- Windows Group Policy
- Suitable pre-existing Customer tooling
- Knowledge transfer on approaches to integrate Puppet agent installation into the Customer’s OS-provisioning system.
4. Puppet module abstraction best practices as follows
- Knowledge transfer on Roles & Profiles pattern, which simplifies the classification of nodes, facilitates code reuse and makes it simpler for users to have a high level understanding of what Puppet Enterprise is managing on a system
- Pairing with the Customer’s staff to create an initial “base” profile to manage common system settings and one other profile to practice using the pattern
- High-level definition of at least 1 additional profile
- Knowledge transfer on the use of the Node Classifier, which is used to assign roles, profiles, and component module code to managed nodes
- Setup of at least 2 Node Classifier node groups to practice use of the Node Classifier
5. Collaborate on Component Module Development
- Pair with the Customer to convert at least 1 short (i.e., fewer than 100 line) scripts into Puppet modules using the version control workflow OR to select appropriate Forge Modules as replacements
6. Collaborate on Hiera for Code-Data Separation to increase module reusability
- Pair with the Customer to create a simple Hiera hierarchy containing an demonstrative number of facts, but no more than 4 levels as an introduction to the use of Hiera.
- Knowledge transfer on the appropriate use of Hiera and effective hierarchy design.
7. Collaborate on how to use Forge modules
- Pair with the Customer to select up to 5 appropriate modules from the Puppet Forge for incorporation into the profiles created in 4(b) to give insight into how to pick modules and assess their quality. Please see Key Assumption 11 for limitations
8. Simplified Workflow set up as follows
- Pairing with the Customer to combine steps 4-7 into a single version controlled repository
- Knowledge transfer on connecting this repository to a Customer provided pre-existing version control repository solution to facilitate collaboration
- NOTE: Due to the limited time for this engagement, this workflow does not include configuration or instruction for Puppet Code Manager
9. Deploy Puppet Code
- Pair with the Customer to deploy the Profiles, and component modules to one Puppet code environment of the Customer’s choice.
- Knowledge transfer on techniques for promoting Puppet modules through preproduction
environments (i.e. Dev, Test, QA, Staging)
10. Recap meeting to close out engagement and to reinforce all the concepts covered
- Puppet Enterprise installation
- Puppet Enterprise agent deployment on up to as many nodes as possible
- Pair programming sessions
- Post engagement documentation including:
- Puppet Enterprise Installation Details
- Workflow Summary
- Recap of Work Performed